【问题标题】:Python axis scaling in matplotlibmatplotlib 中的 Python 轴缩放
【发布时间】:2021-05-28 21:35:30
【问题描述】:

我正在尝试使我的图更具可读性,并且遇到了一个功能,其中轴自动按十倍缩放(因此,y 轴的读数不是 0.00000005、0.00000007、0.00000009,而是 0.5、0.7、 0.9,然后在轴的顶部说 1e-7)。但是,我的一些绘图不会自动缩放轴,我想获得有关如何手动执行此操作的建议。

我找到了手动设置刻度线的线程,但是我无法找到仅缩放的线程。

我无法嵌入图片,但这里是我想做的图片的链接:Ideal y axis 和我想要避免的图片的链接:Current y axis

我正在使用 seaborn 格式和 matplotlib 进行绘图,我的代码如下所示:

plt.plot(x_j_n,y_j_n, label='Scanning i negativ retning', color='grey', ls='dashed')
plt.plot(x_j_p,y_j_p, label='Scanning i positiv retning', color='black', ls='dashed')
plt.errorbar(x_j_n,y_j_n, yerr=std_j_n, fmt='o', color='black', mfc='white', label = 'Usikkerhed')
plt.errorbar(x_j_p,y_j_p, yerr=std_j_p, fmt='o', color='grey', mfc='white', label = 'Usikkerhed')
plt.ylabel('Målt spænding i volt (V)')
plt.xlabel('Påtrykt felt i tesla (T)')
plt.legend()
plt.show;

【问题讨论】:

标签: python matplotlib plot axes


【解决方案1】:

将y轴设置为科学:

plt.gca().yaxis.get_major_formatter().set_scientific(True)

例如:

x = [1100000,2200000,3300000]
y = [1100000,2200000,3300000]
plt.plot(x,y)
plt.gca().xaxis.get_major_formatter().set_scientific(False)
plt.gca().yaxis.get_major_formatter().set_scientific(True)
plt.show()

将给予:

【讨论】:

  • 不幸的是,这似乎对我的情节没有任何影响。我应该做的不仅仅是添加一行吗?
  • 应该就是那一行。它会抛出任何错误消息吗?
  • 不,它不会改变任何东西
  • fyi,更简洁的函数:plt.ticklabel_format(axis='y', style='sci')
猜你喜欢
  • 2010-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-02
  • 1970-01-01
相关资源
最近更新 更多