目录
画布配置
plt.figure()
figsize:画布大小,宽高
#导入numpy和matplotlib.pyplot两个库
import numpy as np
import matplotlib.pyplot as plt
#创建了一个大小为5x3英寸的图形窗口。
plt.figure(figsize=(5, 3))
# 画正弦曲线
x = np.linspace(0, 2*np.pi)
y = np.sin(x)
plt.plot(x, y)
plt.show()
如果将画布大小改为8x3英寸,代码更改及展示效果如下
plt.figure(figsize=(8, 3))
dpi:分辨率,像素密度
如果将画布大小改为8x3英寸,分辨率200,代码更改及展示效果如下
plt.figure(figsize=(8, 3),dpi=200)
facecolor:背景颜色
如果将画布大小改为8x3英寸,分辨率200,红色背景,代码更改及展示效果如下
在一个画布上绘制多个图
#导入numpy和matplotlib.pyplot两个库
import numpy as np
import matplotlib.pyplot as plt
#创建一个大小为8x3英寸、分辨率为200、背景颜色为红色的图形窗口。
import matplotlib.pyplot as plt
plt.figure(figsize=(8, 3),dpi=200,facecolor="r")
x = np.linspace(0,8)
#绘制以x为自变量,sin(x)为因变量的曲线。
plt.plot(x, np.sin(x))
#绘制以x为自变量,cos(x)为因变量的曲线,并使用红色线条的曲线。
plt.plot(x, np.cos(x),'r')
#绘制以x为自变量,-sin(x)为因变量的曲线,并使用绿色虚线的曲线。
plt.plot(x,-np.sin(x),'g--')
plt.show()
若把
plt.show()
写在中间,则plt.show()前段代码画一张图,后段代码重新画一张图
#导入numpy和matplotlib.pyplot两个库
import numpy as np
import matplotlib.pyplot as plt
#创建一个大小为8x3英寸、分辨率为200、背景颜色为红色的图形窗口。
import matplotlib.pyplot as plt
plt.figure(figsize=(8, 3),dpi=200,facecolor="r")
x = np.linspace(0,8)
#绘制以x为自变量,sin(x)为因变量的曲线。
plt.plot(x, np.sin(x))
plt.show()
#绘制以x为自变量,cos(x)为因变量的曲线,并使用红色线条的曲线。
plt.plot(x, np.cos(x),'r')
#绘制以x为自变量,-sin(x)为因变量的曲线,并使用绿色虚线的曲线。
plt.plot(x,-np.sin(x),'g--')
plt.show()
多图布局
均匀分布
subplot()函数:
#导入numpy和matplotlib.pyplot两个库
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rc("font", family='STXingkai')
fig = plt.figure(figsize=(10,6))
x = np.linspace(-np.pi, np.pi, 30)
y = np.sin(x)
# 子图1
ax1 = plt.subplot(221)#2行2列中的第1个图
ax1.plot(x,y)
ax1.set_title('子图1')
# 子图2
ax2 = plt.subplot(222)#2行2列中的第2个图
ax2.plot(x,y)
ax2.set_title('子图2')
# 子图3
ax3 = plt.subplot(223)#2行2列中的第3个图
ax3.plot(x,y)
ax3.set_title('子图3')
# 子图4
ax4 = plt.subplot(224)#2行2列中的第4个图
ax4.plot(x,y)
ax4.set_title('子图4')
plt.show()
#导入numpy和matplotlib.pyplot两个库
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rc("font", family='STXingkai')
fig = plt.figure(figsize=(10,6))
x = np.linspace(-np.pi, np.pi, 30)
y = np.sin(x)
# 子图1
ax1 = plt.subplot(221)#2行2列中的第1个图
ax1.plot(x,y)
ax1.set_title('子图1')
# 子图2
ax2 = plt.subplot(222)#2行2列中的第2个图
ax2.plot(x,y)
ax2.set_title('子图2')
# 子图3
ax3 = plt.subplot(212)#2行2列中的第3个图
ax3.plot(x,y)
ax3.set_title('子图3')
plt.show()
图形嵌套
add_subplot()函数
#导入numpy和matplotlib.pyplot两个库
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rc("font", family='STXingkai')
fig = plt.figure(figsize=(8,5))
# 子图1
axes1 = fig.add_subplot(1,1,1)
axes1.plot([0,1],[1,3])
# 子图2:嵌套图
axes2 = fig.add_subplot(2,2,1,facecolor='pink')
axes2.plot([0,1],[1,3])
plt.show()
使用axes()函数
使用add axes() 函数
#导入numpy和matplotlib.pyplot两个库
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rc("font", family='STXingkai')
fig = plt.figure(figsize=(8,5))
#图一
x = np.linspace(0,2*np.pi,30)
y = np.sin(x)
plt.plot(x,y)
#嵌套图1
#[left,bottom,width,height]
axes1 = plt.axes([0.55,0.55,0.3,0.3])
axes1.plot(x,y,color='r')
#嵌套图2
axes2 = fig.add_axes([0.18,0.18,0.3,0.3])
axes2.plot(x,y,color='g')
plt.show()
双轴显示
# 导入numpy和matplotlib.pyplot两个库
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rc("font", family='STXingkai')
# 创建一个大小为6x4的图形窗口
plt.figure(figsize=(6,4))
# 生成0到10之间的100个等间距数值作为x轴数据
x = np.linspace(0,10,100)
# 绘制第一个图形
axes1 = plt.gca() # 得到当前轴域
axes1.plot(x,np.exp(x),c='r') # 绘制指数函数曲线,颜色为红色
axes1.set_xlabel('time') # 设置x轴标签为"time"
axes1.set_ylabel('exp',c='r') # 设置左侧y轴标签为"exp",颜色为红色
axes1.tick_params(axis='y',labelcolor='red') # 设置左侧y轴刻度标签颜色为红色
# 绘制第二个图形
axes2 = axes1.twinx() # 和第一个图共享x轴
axes2.plot(x,np.sin(x),c='b') # 绘制正弦函数曲线,颜色为蓝色
axes2.set_ylabel('sin',c='b') # 设置右侧y轴标签为"sin",颜色为蓝色
axes2.tick_params(axis='y',labelcolor='b') # 设置右侧y轴刻度标签颜色为蓝色
# 调整图形布局,使得图形不重叠
plt.tight_layout()
# 显示图形
plt.show()
该代码绘制了两个图形,第一个图形绘制了指数函数曲线(红色)并设置了左侧y轴标签为"exp",第二个图形绘制了正弦函数曲线(蓝色)并设置了右侧y轴标签为"sin"。两个图形共享x轴,并使用不同的颜色来区分左右两个y轴刻度标签。最后使用plt.tight_layout()
调整图形布局,使得图形不重叠,并通过plt.show()
显示图形