使用Matplotlib绘制简单图形 (折线图、柱形图、条形图、饼图等等)
import numpy as np
import matplotlib.pyplot as plt
data = np.arange(100,201) # 生成包含100-200的数组
plt.figure(facecolor='gray')# 创建一个灰色画布
plt.plot(data) # 绘制data数据的折线图
plt.show() # 显示图形
figure() 函数里面部分参数表示含义如下:(plt.figure(facecolor=“gray”))
figsize : 用于设置画布的尺寸,宽度、高度以英尺为单位
dpi : 用于设置图形的分辨率
facecolor : 用于设置画板的背景颜色
edgecolor : 用于显示边框颜色
frameon : 表示是否显示边框
subplot(nrows, ncols, index, **kwargs)
参数表示的含义:
nrows,ncols:表示子区网格的行数,列数
index: 表示矩阵区域的索引
subplot()函数将整个绘图区域等分为 " nrows(行)* ncols(列) " 的矩阵区域,按照从左到右、从上到下的顺序对每个区域进行编号。
代码:
import numpy as np
import matplotlib.pyplot as plt
# 生成0-100的数组
nums = np.arange(0, 101)
# 分成2*2的矩阵区域,返回子图数组axes
fig, axes = plt.subplots(2, 2)
ax1 = axes[0, 0] # 根据索引[0,0]从Axes对象数组中获取第1个子图
ax2 = axes[0, 1] # 根据索引[0,1]从Axes对象数组中获取第2个子图
ax3 = axes[1, 1] # 根据索引[1,1]从Axes对象数组中获取第4个子图
# 在选中的子图上作图
ax1.plot(nums, nums)
ax2.plot(nums, -nums)
ax3.plot(nums, nums**2)
plt.show()
函数名称 | 说明 |
---|---|
title() | 设置当前标题 |
xlabel() | 设置当前图形x轴的标签名称 |
ylabel() | 设置当前图形y轴的标签名称 |
xticks() | 指定x轴刻度的数目与取值 |
yticks() | 指定x轴刻度的数目与取值 |
xlim() | 设置或获取当前图形x轴的范围 |
ylim() | 设置或获取当前图形y轴的范围 |
legend() | 在轴上放置一个图列 |
绘制图标的函数:
函数名称 | 函数说明 |
---|---|
bar | 绘制条形图 |
barh | 绘制水平条形图 |
hist | 绘制直方图 |
pie | 绘制饼图 |
specgram | 绘制光谱图 |
stackplot | 绘制堆积图 |
scatter | 绘制散点图 |
plot | 绘制折线图 |
boxplot | 绘制箱线图 |
bar(x,heigh,width,align=“center”)
上述函数的含义:
x : 表示x轴的数据
height : 表示条形的高度
width : 表示条形的宽度 ,默认 0.8
color :表示条形的颜色
edgecolor : 表示条形边框的颜色
代码:
import numpy as np
import matplotlib.pyplot as plt
# 显示中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 创建0-4的一维数组
x = np.arange(5)
# 随机生成整数
y1 = np.random.randint(1,31,size=5)
y2 = np.random.randint(1,31,size=5)
width = 0.25
ax = plt.subplot(1,1,1)
ax.bar(x,y1,width,color='r')
ax.bar(x+width,y2,width,color='g')
ax.set_xticks(x+width)
ax.set_xticklabels(['January','February','March','April','May'])
plt.show()
color参数支持的颜色值 :
颜色值 | 说明 |
---|---|
b | 蓝色 |
g | 绿色 |
r | 红色 |
c | 青色 |
y | 黄色 |
k | 黑色 |
w | 白色 |
… | … |
linestyle参数支持的样式值 :
线型值 | 说明 |
---|---|
‘-’ | 实线 |
‘- -’ | 长虚线 |
‘-.’ | 短点相间线 |
‘:’ | 短虚线 |
… | … |
marker参数支持的标记值 :
标记风格值 | 说明 |
---|---|
‘o’ | 实心圆圈 |
‘p’ | 五边形 |
‘*’ | 星形 |
‘D’ | 菱形 |
‘s’ | 正方形 |
… | … |
以折线图做实例
代码:
import numpy as np
import matplotlib.pyplot as plt
# 显示中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
data = np.arange(1, 3, 0.3)
plt.plot(data, color='c', marker='x', linestyle='--')
plt.plot(data+1, color='m', marker='o', linestyle=':')
plt.plot(data+2, color='k', marker='p', linestyle='-.')
plt.show()