保存plot_python Matplotlib.plot 超好用的画图技巧,总有一条用得到!

本文介绍了使用Matplotlib进行数据可视化的高级技巧,包括如何利用`twinx`和`twiny`创建两条曲线共用x轴但不共用y轴的图形,解决数量级差距大的曲线显示问题。同时,也讲解了如何在图表的标题、图例和坐标中插入LaTeX格式的数学符号和公式,提升图表的专业性。
摘要由CSDN通过智能技术生成

低阶通用模板

1aa23f213266045ccf7e11f3314922dc.png
import numpy as np
import matplotlib.pyplot as plt
# 数据准备
x=np.linspace(0,10,num=30)
y=np.sin(x)
z=np.cos(x)

# 设置画布大小
plt.figure(figsize=(6, 3))

# plot 画x与y和x与z的关系图
plt.plot(x,y,label='sin(x)',color='red', linewidth=1,marker='o',markersize=3)
plt.plot(x,z,label='cos(x)',color='blue',linewidth=1,linestyle='dashed',marker='<',markersize=3)

# 设置x轴标签、坐标轴范围,坐标轴刻度,坐标轴刻度旋转角度
plt.xlabel('x')
plt.xlim(0,10)
plt.xticks([0,5,7,10],rotation=50) #

# 设置y轴标签、坐标轴范围,坐标轴刻度,坐标轴刻度旋转角度
plt.ylabel('y')
plt.ylim(-1,1)
plt.yticks([-1,-0.5,0,1],rotation=0)

#
plt.title('Exaple of plt.plot')

# 紧凑布局:自动调整图形、坐标轴、标签之间的距离,对于多个子图时尤其有用。
plt.tight_layout()

# 设置显示图例,要在plt.plot 时设置 label='xxx'才能显示图例
plt.legend()

# 保存图像,可以是任意后缀名,dpi设置图像清晰度
plt.savefig('./fig1.pdf', dpi=600)  #要放在plt.show()之前,否作保存的图像为空白

# 显示图像
plt.show()

高阶技巧:twinx/ twiny

如何设置两条曲线共用x轴,但不共用y轴,或者相反。从而将两个数量级差距很大的曲线画在同一幅图中。

# 数据准备
x=np.linspace(0,10,num=30)
y=np.sin(x)
z=0.01*np.cos(x)-0.9

失败效果:

7e59350f68419675179ff974cd2555ab.png

z应该是cos形状的图形,但由于与y相比数值太小。放在同一个图中无法显示变化曲线。

正确效果:

181a8a264147b1b15fd9c8729b850e1b.png
import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(0,10,num=30)
y=np.sin(x)
z=0.01*np.cos(x)-0.9

plt.figure(figsize=(6, 3))

# plot 画x与y的关系图
L1,=plt.plot(x,y,label='sin(x)',color='red', linewidth=1)
plt.ylabel('y')
plt.ylim(-1,1)
plt.yticks([-1,-0.5,0,1],rotation=0)

# 设置共用x轴
plt.twinx()

# plot 画x与z的关系图
L2,=plt.plot(x,z,label='cos(x)',color='blue',linewidth=1)
plt.ylabel('z')
plt.ylim(-0.91,-0.89)
plt.yticks([-0.91,-0.905,-0.90,-0.895,-0.89],rotation=0)

plt.legend(handles=[L1,L2])

plt.xlabel('x')
plt.title('Exaple of twinx')
plt.tight_layout()
plt.show()

如何在标题、图例、坐标等位置写latex格式的数学符号和公式?

# plain text
plt.title('alpha > beta')
# math text
plt.title(r'$alpha > beta$')

更多用例请看官方文档:

https://matplotlib.org/tutorials/text/mathtext.html​matplotlib.org

常用颜色

c6b6a3cd8dcab816d196d9e40675d892.png

常用线形和标记:

character description
'-' solid line style
'--' dashed line style
'-.' dash-dot line style
':' dotted line style
'.' point marker
',' pixel marker
'o' circle marker
'v' triangle_down marker
'^' triangle_up marker
'<' triangle_left marker
'>' triangle_right marker
'1' tri_down marker
'2' tri_up marker
'3' tri_left marker
'4' tri_right marker
's' square marker
'p' pentagon marker
'*' star marker
'h' hexagon1 marker
'H' hexagon2 marker
'+' plus marker
'x' x marker
'D' diamond marker
'd' thin_diamond marker
'|' vline marker
'_' hline marker

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值