Matplotlib_绘图画布配置

目录

画布配置

plt.figure()

figsize:画布大小,宽高

dpi:分辨率,像素密度

facecolor:背景颜色

在一个画布上绘制多个图

多图布局

均匀分布

subplot()函数:

图形嵌套

add_subplot()函数

​编辑使用axes()函数

使用add axes() 函数

双轴显示


画布配置

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()显示图形

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值