【发布时间】:2017-10-30 19:20:33
【问题描述】:
我想用 matplotlib.pyplot 绘图。对于 x 轴的刻度,我想得到整数乘以 10 的幂。但是,我得到的是整数乘以浮点数和 10 的幂,如下图所示。
使用以下命令停用此行为:
ax.get_xaxis().get_major_formatter().set_useOffset(False)
表示刻度标签将仅为整数。
例如,我希望数字 35000 为 35,轴上的乘数为 10^3 或 3.5,乘数为 10^4。不是 25,乘数是 1.4 * 10^3。
更新: 我用来生成绘图的代码:
fig = plt.figure(figsize=(5, 5), dpi=80)
ax = fig.add_subplot(111)
data = read_data(filename)
ax.hist(data, bins=50)
x_median = np.median(data)
x_std = np.std(data)
ax.set_xlim([x_median - 4*x_std, x_median + 4*x_std])
【问题讨论】:
-
您能否提供用于生成绘图的代码、一些示例输入数据以及您正在使用的 matplotlib 版本?
-
问题是这是不可重现的。使用一些随机数据时,绘图可能类似于○this。所以你真的需要提供一个minimal reproducible example的问题。
-
对不起,我受到限制,无法提供任何数据。我的问题很简单:如何以与数据无关的方式处理 x 轴刻度?我不是在寻找一种定制的解决方案,它可以与一个特定的图表一起工作,而不能在其余的图表上工作。我现在拥有的不仅仅是一两个数字。我会请求许可,我也许可以分享一些数据。
-
你误解了minimal reproducible example。我们不想要您的秘密数据。 minimal reproducible example 的目的完全是为了不必向某人提供实际代码或数据并仍然让他们重现问题。问题是这个问题是不可重现的。然而,为了找到一个好的解决方案,首先需要知道如何获得不良行为以查看导致它的原因,然后提出解决方案。所以通常的方法是在代码中硬编码一些数据,这样它就可以运行并重现问题。
标签: python matplotlib figure