文章目录
1. 两种画图风格
import matplotlib.pyplot as plt
import matplotlib as mpl
plt.style.use('classic')#设置绘图风格
fig.savefig('picture_name.png')#当使用这个的时候,不需要使用show()函数
fig.show()
print(fig.canvas.get_supported_filetypes()#查看系统支持的文件格式
<1> matlab风格接口
x = np.linspace(0,10,100)
fig = plt.figure()
#创建两个子图中的第一个,设置坐标轴
plt.subplot(2,1,1)
plt.plot(x,np.sin(x))#行、列、子图标号
#创建两个子图中的第二个,设置坐标轴
plt.subplot(2,1,2)
plt.plot(x,np.cos(x))
plt.show()
#plt.gcf()得到当前图形
#plt.gca()得到当前坐标轴
这种方法很容易 出现问题,比如当创建上面的第二个子图时,不太容易回到第一个子图。
<2> 面向对象接口
面向对象接口可以使用更复杂的场景,更好地控制你自己的图形。
#先创建图形网格
#ax是一个包含两个Axes对象的数组
fig,ax = plt.subplots(2)
x = np.linspace(0,10,100)
ax[0].plot(x,np.sin(x))
ax[1].plot(x,np.cos(x))
plt.show()
2. 简易线形图
要画matplotlib图形时,都需要先创建一个图形fig和一个坐标ax,创建图形与坐标轴的最简单的做法如下所示:
#线形图
#1. 创建图形和坐标
fig = plt.figure()
ax = plt.axes()
x = np.linspace(0,10,100)
ax.plot(x,np.cos(x))
ax.plot(x,np.sin(x))#和上面构成两条线
# plt.plot(x,np.cos(x))
plt.show()
在matplotlib里面,figure可以被看成是一个能容纳各种坐标轴、图形、文字和标签的容器。axes是一个带有刻度和标签的矩形,最终会包含所有可视化的图形元素。
一般通常会用变量fig表示一个图形实例,用变量ax表示一个坐标轴实例或一组坐标轴实例。
调整图形:线条的颜色和风格
通常对图形的第一次调整是调整它线条的颜色和风格。
ax.plot(x,np.cos(x),color='blue')
"""
color的取值格式:
blue 标准颜色名称
g 缩写颜色代码(rgbcmyk)
0.75 范围在0-1的灰度值
FFDD44十六进制(RRGGBB,00~FF)
(1.0,0.2,0.3)RGB元组,范围在0~1
chartreuse HTML颜色名称
"""
调整线条风格
ax.plot(x,np.sin(x),linestyle='dotted')
"""
linestyle的取值格式:
solid(或'-') 实线
dashed(或'--') 虚线
dashdot(或'-.') 点划线
dotted(或':') 实点线
"""
上面两种的混合
ax.plot(x,np.sin(x+2),'-.k')#'-.'和'k'的混合
"""
常见的格式:
'--c' 绿色实线
'-g' 青色虚线
'-.k' 黑色点划线
':r' 红色实点线
"""
调整图形:坐标轴上下限
最基础的方法:plt.xlim(),plt.ylim()
plt.xlim(-1,11)
plt.ylim(-1.5,1.5)
#将数字倒过来可以实现逆序
第二种方法
#1.
plt.axis([-1,11,-1.5,1.5])
#参数[xmin,xmax,ymin,ymax]
#注意不要和axes搞混。
#2.
plt.axis('tight')#按照图形的内容自动收紧坐标轴
plt.axis('equal')#让屏幕上显示的图形分辨率为1:1,x轴长度与y轴长度相等
设置图形标签
图形标签
plt.title('some curves')
plt.xlabel('x')
plt.ylabel('y')
创建图例。通过label参数,以及方法legend()
ax.plot(x,np.sin(x),linestyle='dotted',label='sin(x)')
ax.plot(x,np.sin(x+2),'-.k',label='sin(x+2)')
plt.legend()