欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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()

matplotlib使用
二:添加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()

matplotlib使用
三:添加网格:

# 创建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()

matplotlib使用
四:绘制多条曲线,并添加图例

# 创建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()

matplotlib使用
五:添加每个点的值

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()

matplotlib使用

#保存图片
fig.savefig('C:\\Users\\11548\\Desktop\\Python\\one\\first.png')