python Matplotlib绘图

目录

基本图形绘制:

多坐标系绘制:

 画各种图像:


Matplotlib作为python玩家常用的绘图库,特别是需要处理数据的小伙伴,最应该掌握一下,话不多说,开搞!

基本图形绘制:

流程:

1生成数据x,y

2 生成画布,类似于白纸

3 图像绘制,即将x y联系起来

4 添加x y轴刻度信息

5 添加描述信息

6 显示图例

7 展示图像

over! 下面来看代码,很简单,调用基本函数即可绘制。函数的讲解也都注释了的!

import matplotlib.pyplot as plt 
import random
#生成数据
x=range(60)
y_shanghai=[random.uniform(20,30) for i in x]
y_beijing=[random.uniform(10,25) for i in x]#列表生成函数
#生成画布
plt.figure(figsize=(20,8),dpi=100)#设置画布大小和分辨率
#图形绘制
plt.plot(x,y_shanghai,label="上海")
plt.plot(x,y_beijing,color='r',linestyle='--',label="北京")#若要显示图例,则要声明plot函数里的其他参数
#添加x,y轴刻度
y_tckes=range(40) 
plt.yticks(y_tckes[::5])
x_tickes=["11点零{}分".format(i) for i in x]
plt.xticks(x[::5],x_tickes[::5])#注意,两个参数都要写
#添加网格
plt.grid(True,linestyle='--',alpha=1)#设置格子显示形式和透明度
#添加描述
plt.xlabel("t")
plt.ylabel("T")
plt.title("one hour Temperature",fontsize=20)#fontsize为字的大小
#显示图例
plt.legend(loc=0) #loc为要显示的地方,默认为best
#展示图像
plt.show()#该函数调用后会释放资源,所以要在最后
 

python Matplotlib绘图_第1张图片

结果中显示不了汉字,用户需要自己配置。另外,若要保存图片,可以使用plot.savefig("保存路径")。

多坐标系绘制:

采用plt.subplots()绘制,下面看代码,其实和上面大同小异。

#多坐标系显示
import matplotlib.pyplot as plt 
import random

x=range(60)
y_shanghai=[random.uniform(10,30)for i in x]
y_beijing=[random.uniform(15,35)for i in x]
figure,axes=plt.subplots(nrows=1,ncols=2,figsize=(20,6),dpi=100)

xticks=["11点{}分".format(i) for i in x]
axes[0].set_xticks(x[::5])
axes[1].set_xticks(x[::5])
axes[0].set_xticklabels(xticks[::5])
axes[1].set_xticklabels(xticks[::5])

yticks=range(40)
axes[0].set_yticks(yticks[::5])
axes[1].set_yticks(yticks[::5])

axes[0].plot(x,y_beijing,color='r',linestyle='--',label="beijing")
axes[1].plot(x,y_shanghai,color='g',linestyle='--',label="shanghai")

axes[0].grid(True,linestyle='-',alpha=1)
axes[0].grid(True,linestyle='-',alpha=1)

axes[0].set_xlabel("t")
axes[0].set_ylabel("T")
axes[0].set_title("beijing",fontsize=10)
axes[1].set_xlabel("t")
axes[1].set_ylabel("T")
axes[1].set_title("beijing",fontsize=10)

axes[0].legend(loc=0)
axes[1].legend(loc=0)

plt.show()

python Matplotlib绘图_第2张图片

 画各种图像:

 函数:y=sin(x)

#画各种图像
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-10,10,1000)#-10,10之间取1000个数
y=np.sin(x)
plt.figure(figsize=(20,8),dpi=100)
plt.plot(x,y)
plt.show()

 python Matplotlib绘图_第3张图片

 

 

你可能感兴趣的:(Python,python,matplotlib,开发语言)