版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
一.绘制基本图
1.Matplotlib构图方法
import numpy as np
import matplotlib.pyplot as plt
# %matplotlib inline
#含义:将matplotlib绘制的图显示在页面里而不是弹出一个窗口
#注释
plt.title("函数图像") #标题
plt.xlabel("变量x") #定义x坐标名称
plt.ylabel("函数值y") #定义y坐标名称
#刻度的定义
#plt.xticks([0,0.1]) #定义x的刻度
#plt.yticks([0,0.1]) #定义y的刻度
#曲线属性
plt.rcParams["lines.linestyle"]="-" #三种曲线形式:1 -. 2 -- 3 : 4 -
plt.rcParams["lines.linewidth"]=2 #设置线宽
plt.xlim((0,2)) #限定展示区间,x轴的展示范围
plt.ylim((0,2)) #限定展示区间,y轴的展示范围
data=np.arange(0,10,0.01) #数值表示:x的取值范围及取点密度
plt.plot(data,data) #y=x曲线
plt.plot(data,data**2) #y=x^2曲线
plt.plot(data,data**3) #y=x^3曲线
plt.legend(["y=x","y=x^2","y=x^3"]) #函数线标注
plt.savefig("c:/f1.png") #保存图片
plt.show() #展示(必须先保存再展示)
2.刻度备注的修改
pl=plt.figure(figsize=(10,10),dpi=80) #设置框图大小 展示整体图像大小
ax1=pl.add_subplot(2,2,1)
#刻度替换
plt.xticks([1,2,3,4,5],["周一","周二","周三","周四","周五"]) #将对应刻度用文字替代
plt.yticks([1],["工作"],rotation=45) #rotation让字体旋转
rad1=np.arange(1,6,1) #定义域
plt.plot(rad1,rad1/rad1) #对应函数
plt.show() #展示
3.多图展示
import numpy as np
import matplotlib.pyplot as plt
p1=plt.figure(figsize=(8,6),dpi=80) #设置框图大小,展示整体图像显示的点数
rad=np.arange(-1*np.pi,1*np.pi,0.01) #定义域
ax1=p1.add_subplot(2,2,1) #建立画板1
plt.plot(rad,rad) #y=x
ax2=p1.add_subplot(2,2,2) #建立画板2
plt.plot(rad,rad**2) #y=x^2
ax3=p1.add_subplot(2,2,3) #建立画板3
plt.plot(rad,rad**3) #y=x^3
ax4=p1.add_subplot(2,2,4) #建立画板4
plt.plot(rad,np.sin(rad)) #y=sin(x)
plt.plot(rad,np.cos(rad)) #y=cos(x)
plt.show()#展示
二.绘制散点图
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]="SimHei"
plt.rcParams["axes.unicode_minus"]=False
data=np.load("e;/guo.npz",allow_pickle=True) #导入文件
name=data["columns"] #读取x轴数据
values=data["values"] #读取y轴数据
plt.figure(figsize=(8,7)) #定义画板
plt.scatter(values[:,0],values[:,2],marker="o") #绘制散点图
#values[:,0],values[:,2] 是向x,y轴对应的数据,是绘制散点图数据点
#marker:为标记样式,默认为'o'
plt.show()
三.绘制折线图
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]="SimHei"
plt.rcParams["axes.unicode_minus"]=False
data=np.load("e;/guo.npz",allow_pickle=True) #导入文件
name=data["columns"] #读取x轴数据
values=data["values"] #读取y轴数据
plt.figure(figsize=(8,7)) #定义框架
plt.xlabel("年份") #定义x,y轴名称
plt.ylabel("GDP")
plt.xticks(range(0,70,4),values[(0,70,4),1],rotation=45) #替换对应的刻度表示法
plt.plot(values[:,0],values[:2],color="r",linestyle="--") #绘制折线图
plt.show()
四.饼状图
plt.figure(figsize=(3,3),dpi=80) #定义框架大小
explode=[0.01,0.01,0.01] #每一块到圆心的距离
plt.pie([30,40,70],explode=explode,labels=['1','2','3'])#确定比例,扇区间距,命名
plt.show()
五.爱心的绘制
import numpy as np
import matplotlib.pyplot as plt
theta=np.arange(0,2*np.pi,0.01) #定义域范围
row=5*(1-np.cos(theta))
x=row*np.cos(theta) #对应x值
y=row*np.sin(theta) #对应y值
ax=pl.add_subplot(2,2,3) #定义画板
plt.plot(x,y) #绘制
plt.show() #展示
六、补充(numpy模块包含所有math函数)
import numpy as np
a=np.log(np.e) #自然对数
b=np.log2(2) #以2为底的对数
c=np.pi