目录
(一)常见的图形
1、趋势图(直线图):plot()
import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei,Times New Roman, Arial'#设置字体格式,显示中文、正负号,罗马数字
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100) # 生成0~10之间的100个数
y = np.sin(x) # 计算纵坐标
plt.plot(x, y) # 绘制折线图
plt.title('Sin函数图像') # 添加标题
plt.xlabel('x轴') # 添加x轴标签
plt.ylabel('y轴') # 添加y轴标签
#plt.xlim(-2,2) #设定 x 坐标轴的显示范围在[-2,2]
#plt.axhline(y=0) #添加水平参考线
#plt.grid() #绘制网格线
#plt.axhline(y=0) #绘制y=0的刻度线
#plt.axvspan(-4,2,facecolor='gray', alpha=0.3) #添加在-4到2的垂直方向的颜色区域,填充颜色为灰色,透明度为 0.3
plt.show() # 显示图形
pyplot 参数:
x
:x轴数据,一般是一个数组或列表。
y
:y轴数据,一般是一个数组或列表。
label
:标签,用于说明数据的名称或含义。xlabel用于x轴,y
label用于y轴
color或c
:颜色,默认是蓝色,也可以是RGB值或颜色名称。
marker
:点标记,用于显示每个数据点的形状。
linestyle或ls
:线条类型,用于控制线条的样式、粗细等。
linewidth或lw
:线条宽度,用于控制线条的宽度。
alpha
:透明度,用于控制线条或点标记的透明度。
xlim
和ylim
:x轴和y轴的范围,用于设定坐标轴的刻度范围。
title
:标题,用于给整个图形添加标题。gird:绘制刻度线网格线
axhline:绘制平行于x轴的水平参数线
axvspan:绘制垂直于 x轴的水平参数区域
annotate:添加图形内容细节的指向型注释
text:添加图形内容细节的无指向型注释
legend:用于在图像中添加自定义的图例
结果:
2、散点图:scatter():
import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei,Times New Roman, Arial'#设置字体格式,显示中文、正负号,罗马数字
import matplotlib.pyplot as plt
import numpy as np
# 设置数据
x = np.random.rand(50)
y = np.random.rand(50)
# 绘制散点图
plt.scatter(x, y, s=50, c='b', marker='o', alpha=0.5)
# 添加标题和坐标轴标签
plt.title('散点图')
plt.xlabel('x轴')
plt.ylabel('y轴')
# 显示图像
plt.show()
参数解释:
x
:散点图 x 轴的数据;y
:散点图 y 轴的数据;s
:散点的尺寸,即标记的大小;c
:散点的颜色;marker
:散点的形状,默认是圆形;alpha
:透明度,取值范围为 0~1,值越小透明度越高。
结果:
(二)统计图形
1、柱状图:bar(
bar(x, height, width=0.8, bottom=None, align='center', data=None, **kwargs)
x
:柱形图的 x 坐标数据;height
:柱形图的高度,对应于每个 x 坐标数据的高度;width
:柱形的宽度,默认为 0.8;bottom
:柱形的底部位置,默认为 None,表示将底部设定为绘图平面的 y 轴;align
:柱形的对齐方式,可以是'center'
、'edge'
等;data
:数据源对象,可以是多种数据类型,例如 DataFrame、Series、数组等;kwargs
:其他可选参数,包括柱形颜色、边框颜色、标签位置等相关设置。
import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei,Times New Roman, Arial'#设置字体格式,显示中文、正负号,罗马数字
import matplotlib.pyplot as plt
import numpy as np
# 生成数据
x = ['A', 'B', 'C', 'D', 'E']
y = np.random.randint(0, 10, size=(len(x)))
# 绘制柱状图
plt.bar(x, y, width=0.6, bottom=None, align='center', alpha=0.8)
# 添加标签
for i, v in enumerate(y):
plt.text(i, v+0.2, str(v), ha='center', fontsize=10)
# 显示图形
plt.show()
2、条形图:barh()
barh(y, width, height=0.8, left=None, align='center', data=None, **kwargs)
y
:柱形条的 y 坐标数据;width
:柱形条的宽度,对应于每个 y 坐标数据的宽度;height
:柱形条的高度,默认为 0.8;left
:柱形的左侧位置,默认为 None,表示将左侧设定为绘图平面的 x 轴;align
:柱形的对齐方式,可以是'center'
、'edge'
等;data
:数据源对象,可以是多种数据类型,例如 DataFrame、Series、数组等;kwargs
:其他可选参数,包括柱形颜色、边框颜色、标签位置等相关设置。
import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei,Times New Roman, Arial'#设置字体格式,显示中文、正负号,罗马数字
import matplotlib.pyplot as plt
import numpy as np
# 生成数据
y = ['A', 'B', 'C', 'D', 'E']
x = np.random.randint(0, 10, size=(len(y)))
# 绘制水平柱状图
plt.barh(y, x, height=0.6, left=None, align='center', alpha=0.8)
# 添加标签
for i, v in enumerate(x):
plt.text(v+0.2, i, str(v), va='center', fontsize=10)
# 显示图形
plt.show()
3、直方图:hist()
hist(x, bins=None, range=None, density=False, weights=None, cumulative=False, bottom=None, histtype='bar