为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轴刻度标签设置小数位[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用ggplot2更改R中的x轴刻度标签[重复]

删除ggplot中的所有x轴标签[重复]

echarts Y轴刻度保留小数设置,以及设置刻度间隔

如何分别格式化每个 ggplot 面板的轴刻度标签?

情节:如何在带有刻面的情节表达图中隐藏轴标题?

在保留网格的同时删除 x 轴刻度(matplotlib)[重复]