为pyplot轴刻度标签设置小数位[重复]
Posted
技术标签:
【中文标题】为pyplot轴刻度标签设置小数位[重复]【英文标题】:Set decimal places for pyplot axis tick labels [duplicate] 【发布时间】:2021-08-04 03:20:53 【问题描述】:我想使用np.arange()
来定义轴刻度标签。但是有几个标签会出现疯狂的小数位(例如,0.850000000000000001 而不是 0.85)。使用np.around()
到小数点后两位也无济于事,因为这些数字具有交替的小数位(0.45、0.5、0.55...)。我怎样才能让它把每个刻度标签写成 2 位小数?另外,我想为这些标签更改fontsize
,所以我需要致电ax.set_yticklabels()
x,y = np.arange(0,1,.05), np.arange(0,1,.05)
fig, ax = plt.subplots(1,1)
ax.plot(x,y)
ax.set_yticks(np.arange(0,1,.05))
ax.set_yticklabels(np.arange(0,1,.05))
【问题讨论】:
【参考方案1】:只需消除 ax.set_yticklabels()。没有它你会得到想要的结果。
x,y = np.arange(0,1,.05), np.arange(0,1,.05)
fig, ax = plt.subplots(1,1)
ax.plot(x,y)
ax.set_yticks(np.arange(0,1,.05))
您可以更改 yticklabels 的字体大小,如下所示:
plt.rc('ytick', labelsize=8)
x,y = np.arange(0,1,.05), np.arange(0,1,.05)
fig, ax = plt.subplots(1,1)
ax.plot(x,y)
ax.set_yticks(np.arange(0,1,.05))
【讨论】:
@jklaus - 请参阅我修改后的答案,以回答您关于字体大小的第二个问题。以上是关于为pyplot轴刻度标签设置小数位[重复]的主要内容,如果未能解决你的问题,请参考以下文章