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中指定图片大小和像素

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
python使用matplotlib生成双坐标轴折线图的步骤如下: 1.首先,导入所需的: ```python import matplotlib.pyplot as plt ``` 2.准备数据: 首先,假设我们有两组数据,分别存储在两个列表。假设第一组数据是温度值,存储在列表temp;第二组数据是湿度值,存储在列表humidity。 3.创建画布和坐标轴: ```python fig, ax1 = plt.subplots() ``` 这里使用plt.subplots()函数创建一个画布和一个主坐标轴。 4.绘制第一条折线: 使用plot()函数绘制第一组数据的折线。并设置线型、颜色等属性。 ```python ax1.plot(temp, label='Temperature', color='red', linestyle='--') ``` 这里设置label参数为'Temperature',用于图例的显示。color参数设置线的颜色,linestyle设置线的样式。 5.添加坐标轴标签: ```python ax1.set_xlabel('Time') ax1.set_ylabel('Temperature (Celsius)') ``` 使用set_xlabel()和set_ylabel()函数设置x轴和y轴的标签。 6.创建第二个坐标轴: 为了创建第二个坐标轴,我们需要在当前的图形对象上创建一个新的坐标轴对象,并将其与第一个坐标轴对象共享x轴。 ```python ax2 = ax1.twinx() ``` 这里使用twinx()函数创建第二个坐标轴对象ax2,并与ax1共享x轴。 7.绘制第二条折线: 使用plot()函数绘制第二组数据的折线,设置线的属性。 ```python ax2.plot(humidity, label='Humidity', color='blue', linestyle='-.') ``` 8.添加第二个坐标轴的标签: ```python ax2.set_ylabel('Humidity (%)') ``` 9.添加图例: 使用legend()函数添加图例。 ```python ax1.legend(loc='upper right') ax2.legend(loc='upper left') ``` 这里设置loc参数为'upper right'和'upper left',分别指定图例的位置。 10.显示图形: 使用plt.show()函数显示图形。 ```python plt.show() ``` 这样,就生成了一个带有双坐标轴的折线图。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI码东道主

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值