1. 科学计数
使用matplotlib画图数据过大时显示e形式的科学计数,将e换为10的代码为:
ax.ticklabel_format(style='sci', useMathText=True)
修改前
修改后
代码
import matplotlib.pyplot as plt
plt.plot(x, y)
plt.ticklabel_format(style='sci', useMathText=True)
plt.show()
2. 中文乱码
在matplotlib中使用中文字符会乱码,在代码中增加如下代码
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
修改前
修改后
代码
import numpy as np
import matplotlib.pyplot as plt
x = np. arange(10**10, 10**12, 10**11)
y = abs(x) ** 2
# 科学计数
plt.plot(x, y)
plt.ticklabel_format(style='sci', useMathText=True)
# 显示中文
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
# x轴名称
ax = plt.gca()
ax.set_xlabel('测试中文名称')
plt.show()
3. 对数上标符号乱码
使用以上方法可显示中文字符,但负号会乱码
解决:可以在需要使用到中文的地方将family
设置为'SimHei'
修改前
修改后
代码
import numpy as np
import matplotlib.pyplot as plt
import math
x = np. arange(10**10, 10**12, 10**11)
y = abs(x) ** 2
# 科学计数
plt.plot(x, y)
plt.ticklabel_format(style='sci', useMathText=True)
# 设置x轴名称
ax = plt.gca()
ax.set_xlabel('测试中文名称', family='SimHei') # 设置family='SimHei'显示中文
plt.show()
参考链接
http://t.csdn.cn/NT83t
http://t.csdn.cn/q9PHR
https://www.icode9.com/content-1-264709.html
https://matplotlib.org/stable/tutorials/index.html