一、安装导入
1、使用包管理器安装matplotlib
pip3 install matplotlib
2、导入plt工具
import matplotlib.pyplot as plt
二、基本函数
1、创建图表
使用pyplot工具打点调用创建图表函数
例如创建直方图:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
data=np.random.rand(100)
plt.hist(data,color='blue')
plt.show()
上述代码中data是生成的100个0~1之间的随机数数组。plt.hist()是利用pyplot工具打点调用hist直方图函数创建直方图,第一个参数为绘图所需的数据,第二个参数是设置这个图表的颜色。plt.show()是将图表绘制出来。
图表:
pyplot工具能绘制的图表种类很多,都可以使用pyplot打点调用。常见的图表类型:
- 折线图(Line Plot):
- 用于展示数据随时间或其他连续变量的变化趋势。
- 使用
plt.plot(x, y)
函数创建。
- 散点图(Scatter Plot):
- 用于展示两个变量之间的关系和分布。
- 使用
plt.scatter(x, y)
函数创建。 - 可以通过设置点的颜色、大小、形状等参数来定制散点图的外观。
- 柱状图(Bar Plot):
- 用于比较不同类别的数据。
- 使用
plt.bar(x, heights)
函数创建。 x
参数表示柱子的位置,heights
参数表示柱子的高度。
- 饼图(Pie Chart):
- 用于显示数据的相对比例。
- 使用
plt.pie(sizes, labels=labels, autopct='%1.1f%%')
函数创建。 sizes
参数表示各部分的大小,labels
参数表示各部分的标签,autopct
参数用于显示各部分所占的百分比。
- 箱线图(Box Plot):
- 用于展示数据的分布特征,包括最小值、第一四分位数、中位数、第三四分位数和最大值。
- 使用
plt.boxplot(data)
函数创建。 data
参数是一个包含多个数据点的列表或数组。
- 直方图(Histogram):
- 用于展示数据的频数分布。
- 使用
plt.hist(data, bins=num_bins, edgecolor='black')
函数创建。 data
参数是数据点的列表或数组,bins
参数指定直方图的柱数或柱的边界,edgecolor
参数用于设置柱子的边框颜色。
- 双坐标轴折线图(Dual Y-Axis Line Plot):
- 在同一张图上绘制两条折线,分别使用左右两个不同的Y轴刻度。
- 常用于表示不同量纲或变化幅度较大的数据。
- 需要通过创建第二个坐标轴(
ax2 = ax1.twinx()
)来实现。
- 面积图(Area Plot):
- 折线图的一种变体,通过在折线下方填充颜色来展示数据随时间的累积变化。
- 常用于表示累积数据,如总收入或总销量。
- 可以通过在
plt.plot()
函数中设置fill_between
参数或使用plt.fill_between()
函数来实现。
- 三维图表(3D Plot):
- 包括三维散点图、三维折线图等。
- 需要使用
mpl_toolkits.mplot3d
模块中的功能来创建。 - 例如,使用
Axes3D.scatter(x, y, z)
创建三维散点图
创建图表的属性:
颜色(Color)color 或 c:设置线条或点的颜色。
线型(Linestyle)linestyle 或 ls:设置线条的类型(如实线、虚线等)。
线宽(Linewidth)linewidth 或 lw:设置线条的宽度。
标记(Marker)marker:设置散点图中点的形状。
标记大小(Marker Size)markersize 或 ms:设置散点图中点的大小。
标记边缘颜色(Marker Edge Color)markeredgecolor 或 mec:设置散点图中点边缘的颜色。
标记填充颜色(Marker Face Color)markerfacecolor 或 mfc:设置散点图中点的填充颜色。
透明度(Alpha)alpha:设置线条或点的透明度。
标签(Label)label:为线条或数据点设置标签,用于图例。
标题(Title)使用 plt.title() 函数为整个图表设置标题。
图例(Legend)使用 plt.legend() 函数添加图例,显示不同线条或数据点的标签。
网格(Grid)使用 plt.grid() 函数添加网格线,帮助识别图表中的值。
坐标轴标签(Axis Labels)使用 plt.xlabel() 和 plt.ylabel() 函数为 x 轴和 y 轴设置标签。
坐标轴范围(Axis Limits)使用 plt.xlim() 和 plt.ylim() 函数设置坐标轴的范围。
坐标轴刻度(Ticks)使用 plt.xticks() 和 plt.yticks() 函数自定义坐标轴的刻度。
字体大小(Font Size)可以通过 fontsize 参数设置标题、标签、图例等的字体大小。
线条样式(Line Styles)组合例如,'b-' 表示蓝色实线,'g--' 表示绿色虚线等。
这些属性可以组合使用
2、设置图表
设置标题和标签:
plt.title('图表标题')
plt.xlabel('x 轴标签')
plt.ylabel('y 轴标签')
设置坐标轴范围:
plt.xlim(xmin, xmax)
plt.ylim(ymin, ymax)
添加网格:
plt.grid(True)
添加图例:
plt.legend(['标签1', '标签2'], loc='upper right')
设置颜色、线型和标记:
plt.plot(x, y, color='red', linestyle='--', marker='o')
设置x,y轴刻度:
plt.xticks(np.arange(0, 11, 1)) # 设置 x 轴刻度为 0 到 10 的整数
plt.yticks(np.arange(0, 11, 1))
设置 x 轴和 y 轴的刻度标签 :
plt.xticklabels(factories)
plt.yticklabels(quality)
其他设置:
1、创建绘图子集
fig,axs=plt.subplots(2,2)
上述代码表示在画布上将有4个图表:2*2。返回值:fig:当前画布,axs:设置数据引用。
注意:使用了子集的画布,在设置标题和标签时要在方法前加上:"set_"。例如在子集上设置标题:
axs[0][1].set_title('随机样本')
2、自动布局
fig.tight_layout()