Python matplotlab库使用方法及注意事项

1.Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法

import matplotlib.pyplot as plt
t = arange(-4*pi, 4*pi, 0.01)
y = sin(t)/t
plt.plot(t, y)
plt.title('www.jb51.net - test')
plt.xlabel(u'\u2103',fontproperties='SimHei')
#在这里,u'\u2103'是摄氏度,前面的u代表unicode,而引号里的内容,是通过在网上查找“℃”这一个符号的unicode编码得到的。这里的“摄氏度”是中文,要显示的话需要在后面加上fontproperties属性即可,这里设置的字体为黑体。
plt.ylabel(u'幅度',fontproperties='SimHei')#也可以直接显示中文。
plt.show()

2.如何将已知折线平滑化或者插值,有没有合适的函数

使用 scipy 库中的 interpolate 中的 interp1d.
平滑前,

import numpy as np
from scipy import interpolate
import matplotlib.pyplot as plt
x = np.linspace(-np.pi, np.pi, 10)
y = np.sin(x)
plt.plot(x, y)

如图
未平滑时
平滑后,

f = interpolate.interp1d(x, y, kind='cubic')
nx = np.linspace(-np.pi, np.pi, 30)
ny = f(nx)
plt.plot(nx, ny)

如图
平滑后

3.使用matplotlib的savefig保存时图片保存不清晰以及不完整的问题

关于savefig的相关参数:

savefig(fname, dpi=None, facecolor=‘w’, edgecolor=‘w’,orientation=‘portrait’, papertype=None, format=None,
transparent=False, bbox_inches=None, pad_inches=0.1,frameon=None, metadata=None)

图片不清晰,需要指定dpi,
图片保存大小问题,设置bbox_inches=‘tight’
(bbox_inches:可选bbox英寸。只保存图形的给定部分。如果“紧”,试着找出数字的紧框。如果没有,请使用savefig.bbox)

plt.savefig("data/temp.png",dpi=500,bbox_inches = 'tight')#解决图片不清晰,不完整的问题

如需更多关于画图保存的问题,可以参考Python绘图问题:Matplotlib中指定图片大小和像素

发布了51 篇原创文章 · 获赞 184 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/CUFEECR/article/details/103059762