我的老师说,在图表中我必须将轴标记为0, 0.25, 0.5
not 0.00,0.25,0.50,...
。
我知道如何标记它0.00,0.25,0.50
(plt.yticks(np.arange(-1.5,1.5,.25))
),但是,我不知道如何以不同的精度绘制刻度标签。
我尝试这样做
plt.yticks(np.arange(-2,2,1))
plt.yticks(np.arange(-2.25,2.25,1))
plt.yticks(np.arange(-1.5,2.5,1))
无济于事。
这已经得到回答,例如这里Matplotlib:指定刻度标签的浮点数格式。但您实际上想要使用所引用问题中使用的另一种格式。
所以这段代码给了你你想要的 y 轴精度
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import FormatStrFormatter
fig, ax = plt.subplots()
ax.yaxis.set_major_formatter(FormatStrFormatter('%g'))
ax.yaxis.set_ticks(np.arange(-2, 2, 0.25))
x = np.arange(-1, 1, 0.1)
plt.plot(x, x**2)
plt.show()
您可以在传递给 FormatStrFormatter 的字符串中定义所需的精度。在上面的例子中,它是“%g”,代表通用格式。此格式删除无关紧要的尾随零。您还可以传递其他格式,例如“%.1f”,它的精度为一位小数,而“%.3f”的精度为三位小数。这些格式有详细解释here.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)