matplotlib使用
程序员文章站
2022-07-14 10:29:21
...
一:简单的折线图:
分为三步,创建画布–>绘制图像–>显示图像
# 导入包
import matplotlib.pyplot as plt
import random
# 创建x,y坐标
x=range(0,60)
y_beijing=[random.uniform(10,20) for i in x]
# 创建画布
plt.figure()
# 添加坐标描述
plt.plot(x,y_beijing)
# 展示图像
plt.show()
二:添加X,Y轴刻度,以及标题
# 创建x,y坐标
x=range(0,60)
y_beijing=[random.uniform(10,20) for i in x]
# help(plt.figure)
# 创建画布
plt.figure(figsize=(20,20),dpi=60)
# 添加坐标描述
y_ticks=range(30)
x_ticks=['十一点{}分'.format(i) for i in x]
plt.xticks(x[::5],x_ticks[::5])
plt.yticks(y_ticks[::5])
plt.title('一小时温度变化')
plt.plot(x,y_beijing)
# 展示图像
plt.show()
三:添加网格:
# 创建x,y坐标
x=range(0,60)
y_beijing=[random.uniform(10,20) for i in x]
# help(plt.figure)
# 创建画布
plt.figure(figsize=(20,8),dpi=60)
# 添加坐标描述
y_ticks=range(30)
x_ticks=['十一点{}分'.format(i) for i in x]
plt.xticks(x[::5],x_ticks[::5])
plt.yticks(y_ticks[::2])
plt.title('一小时温度变化')
plt.grid(True,linestyle='-',alpha=0.5)
#linestyle是表格的画线方式,alpha是表格的透明度
plt.plot(x,y_beijing)
# 展示图像
plt.show()
四:绘制多条曲线,并添加图例
# 创建x,y坐标
x=range(0,60)
y_beijing=[random.uniform(10,20) for i in x]
y_haerbin=[random.uniform(0,10)for i in x]
# help(plt.figure)
# 创建画布
plt.figure(figsize=(20,8),dpi=60)
# 添加坐标描述
y_ticks=range(30)
x_ticks=['十一点{}分'.format(i) for i in x]
plt.xticks(x[::5],x_ticks[::5])
plt.yticks(y_ticks[::2])
plt.title('一小时温度变化')
plt.grid(True,linestyle='-',alpha=1)
#linestyle是表格的画线方式,alpha是表格的透明度
# help(plt.plot)
# 添加label进行图线的标识,用于之后图例的显示
plt.plot(x,y_beijing,label='北京')
plt.plot(x,y_haerbin,label='哈尔滨')
# 显示图例,参数1,2,3....可以控制图例的显示位置,默认为系统自动选择的最佳位置
plt.legend()
# 展示图像
plt.show()
五:添加每个点的值
for x,y in zip(x,y_beijing):
plt.text(x,y,'%.1f'%y,fontdict={'fontsize':14})
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201025172048956.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNTI2MDE1,size_16,color_FFFFFF,t_70#pic_center)
六:在多个坐标系中画图
# 导入包
import matplotlib.pyplot as plt
import random
# 创建x,y坐标
x=range(0,60)
y_beijing=[random.uniform(10,20) for i in x]
y_haerbin=[random.uniform(0,10)for i in x]
# help(plt.figure)
# 创建画布
fig,axes=plt.subplots(nrows=2,ncols=1,figsize=(20,6),dpi=60)
# 添加坐标描述
y_ticks=range(30)
x_ticks=['十一点{}分'.format(i) for i in x]
axes[0].set_xticks(x[::5])
axes[0].set_xticklabels(x_ticks[::5])
axes[0].set_yticks(y_ticks[::2])
axes[1].set_xticks(x[::5])
axes[1].set_xticklabels(x_ticks[::5])
axes[1].set_yticks(y_ticks[::2])
axes[0].set_title('北京一小时温度变化')
axes[1].set_title('上海一小时温度变化')
axes[0].grid(True,linestyle='-',alpha=1)
axes[1].grid(True,linestyle='-',alpha=1)
axes[0].set_xlabel('时间')
axes[0].set_ylabel('温度')
axes[1].set_xlabel('时间')
axes[1].set_ylabel('温度')
#linestyle是表格的画线方式,alpha是表格的透明度
# help(plt.plot)
# 添加label进行图线的标识,用于之后图例的显示
axes[0].plot(x,y_beijing,'o-',label='北京')
axes[1].plot(x,y_haerbin,'o-',label='哈尔滨',color='yellow')
for x,y in zip(x,y_beijing):
axes[0].text(x,y,'%.1f'%y,fontdict={'fontsize':14})
# 显示图例,参数1,2,3....可以控制图例的显示位置,默认为系统自动选择的最佳位置
axes[0].legend()
axes[1].legend()
# 展示图像
plt.show()
#保存图片
fig.savefig('C:\\Users\\11548\\Desktop\\Python\\one\\first.png')