问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Matplotlib折线图绘制详解:基础入门与进阶技巧

创作时间:
作者:
@小白创作中心

Matplotlib折线图绘制详解:基础入门与进阶技巧

引用
CSDN
13
来源
1.
https://blog.csdn.net/Queen_Elsa_of_A/article/details/139667777
2.
https://blog.csdn.net/SNeutronS/article/details/138357440
3.
https://blog.csdn.net/Wjh18212200997/article/details/140014706
4.
https://blog.csdn.net/qq_22649229/article/details/139159576
5.
https://cloud.baidu.com/article/2852109
6.
https://blog.csdn.net/qq_36733270/article/details/139791121
7.
https://cloud.baidu.com/article/3311242
8.
https://blog.csdn.net/m0_57879289/article/details/138531671
9.
675ed6ad00000000060391f3
10.
67619741000000000b016813
11.
67627f4a000000001300a692
12.
6763edab000000000b014c41
13.
https://bigquant.com/wiki/doc/9X8kOlGXVs

在数据可视化领域,Matplotlib无疑是Python开发者最得力的工具之一。无论是学术研究、商业分析还是个人项目,Matplotlib都能帮助你将复杂的数据转化为直观的图表。今天,我们就来一起学习如何使用Matplotlib绘制折线图,让你的数据呈现更加专业和美观。

01

一、基础入门

1. 安装Matplotlib

如果你还没有安装Matplotlib,可以通过pip进行安装:

pip install matplotlib

2. 导入模块

在代码中导入matplotlib.pyplot模块,并通常将其命名为plt

import matplotlib.pyplot as plt

3. 准备数据

定义要绘制的数据点。例如,创建两个列表分别表示x轴和y轴的值:

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

4. 绘制基本折线图

使用plt.plot()函数绘制折线图:

plt.plot(x, y)

5. 添加标题和坐标轴标签

通过plt.title(), plt.xlabel(), 和 plt.ylabel()设置图表标题及坐标轴标签:

plt.title('简单折线图')
plt.xlabel('X 轴')
plt.ylabel('Y 轴')

6. 显示图表

最后调用plt.show()来展示图形:

plt.show()

将以上代码片段组合在一起,就得到了一个完整的折线图绘制脚本:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.plot(x, y)
plt.title('简单折线图')
plt.xlabel('X 轴')
plt.ylabel('Y 轴')

plt.show()
02

二、进阶技巧

1. 绘制多条折线

你可以通过多次调用plt.plot()来绘制多条折线:

x = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
y1 = [61, 42, 52, 72, 86, 91, 73]
y2 = [23, 26, 67, 38, 46, 55, 33]

plt.plot(x, y1)
plt.plot(x, y2)
plt.show()

2. 添加图例

通过label参数为每条折线添加图例,并使用plt.legend()显示图例:

plt.plot(x, y1, label='商品 A')
plt.plot(x, y2, label='商品 B')
plt.legend()
plt.show()

3. 自定义线条样式

你可以通过参数来改变线条的颜色、宽度和样式:

plt.plot(x, y1, color='red', linewidth=2, linestyle='--', marker='o')
  • color:线条颜色。
  • linewidth:线条宽度。
  • linestyle:线条样式(如实线'-'、虚线'--')。
  • marker:数据点标记样式。

4. 解决中文乱码问题

如果图表中的中文显示为乱码,可以通过以下方式解决:

plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用黑体
plt.rcParams['axes.unicode_minus'] = False  # 解决坐标轴负号显示问题
03

三、实战演练

让我们使用一个真实的数据集来绘制折线图。假设我们有一组某商品一周的销量数据:

import matplotlib.pyplot as plt

# 时间
x = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
# 销量
y1 = [61, 42, 52, 72, 86, 91, 73]
y2 = [65, 76, 29, 90, 76, 100, 78]

plt.rcParams['font.sans-serif'] = ['SimHei']  # 适应中文字体
plt.rcParams['axes.unicode_minus'] = False

# 传入 label 参数
plt.plot(x, y1, "r", label="衣服")
plt.plot(x, y2, "k", label="裤子")
# 显示图例,传入图例位置参数
plt.legend(loc="best")
# x,y轴标签
plt.xlabel("时间")
plt.ylabel("销量")
# 显示图标标题
plt.title("商品销量对比图")
plt.show()

这段代码将生成一个展示两种商品一周销量对比的折线图,包含中文标题和坐标轴标签。

04

四、常见问题解答

1. 如何调整图例位置?

可以通过plt.legend()loc参数来设置图例的位置,例如:

plt.legend(loc='lower right')

2. 如何设置坐标轴范围?

使用plt.xlim()plt.ylim()来设置x轴和y轴的范围:

plt.xlim(0, 7)
plt.ylim(0, 100)

通过以上步骤和技巧,你已经掌握了使用Matplotlib绘制折线图的基本方法。无论是展示时间序列数据的变化趋势,还是比较不同类别数据的差异,折线图都能帮你清晰地传达信息。快去尝试绘制你自己的数据吧!

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号