python - matplotlib 中轴的刻度格式

标签 python matplotlib

我正在尝试使用 matplotlib 绘制清晰的图形。 这是我的代码:

fig = plt.figure(figsize = (6,6))
plt.grid(True)
plt.xlabel('time (s)',fontweight='bold')
plt.ylabel('density',fontweight='bold')
plt.plot(data1, data2, color = 'y', linewidth = 2)
plt.show()

data2 中的 float 介于 0.0001 和 0.001 之间,所以当我这样做时,y 轴有像 '0.0001' '0.0002' 等刻度。 如何强制刻度以科学记数法表示('1e-3'、'1e-4' 等)? 谢谢:)

最佳答案

将其设置为 1e-04:

import matplotlib.pyplot as plt
import matplotlib.ticker as mtick

data1 = [1,2,3,4,5]
data2 = [1e4,3e4,4e4,2e4,5e4]
fig = plt.figure(figsize = (6,6))
plt.grid(True)
plt.xlabel('time (s)',fontweight='bold')
plt.ylabel('density',fontweight='bold')
plt.plot(data1, data2, color = 'y', linewidth = 2)
plt.gca().yaxis.set_major_formatter(mtick.FormatStrFormatter('%.0e')) 
plt.show()

enter image description here

关于python - matplotlib 中轴的刻度格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42929550/

相关文章:

python - 代理:Selenium + Python、Firefox

python multiprocessing - 文本处理

python - 为什么在递归函数中返回 matplotlib 图形对象时会绘制额外的空白图形?

python - 在Python中迭代时从集合中删除集合

python - 如何查询打开的持久委托(delegate)项

Python - 从直方图中删除垂直条线

python - 如何在 python 中根据索引绘制图形

python - 绘制 N 个图形

matplotlib - 在python中的tiff图像顶部添加网格

python - 防止代码在 syncdb 期间运行