Matplotlib 散点图 x 轴值被搞乱了
Matplotlib scatter plot x-axis value is messed up
我的以下演示代码生成了一个 x 轴值错误的图。
import matplotlib.pyplot as plt
x = [1.0, 1.0, 1.0, 1.0, 1.0, 0.9999390392587174, 1.0000609607412827, 1.0000609607412827]
y = [132, 136, 160, 192, 132, 136, 160, 192]
fig, ax = plt.subplots()
for i in range(len(x)):
ax.scatter(x[i], y[i])
plt.savefig('demo.png')
这是它生成的图形。在图片中,x 轴似乎以某种方式缩放,与代码中的数据不匹配。谁能解释一下我做错了什么?
它已将它们正确缩放到 x 值的范围内。
奇怪的是它是如何标记的。
你可以用
来控制它
matplotlib.pyplot.xticks(ticks, labels, **kwargs)
另见
x_formatter = matplotlib.ticker.ScalarFormatter(useOffset=False)
ax.xaxis.set_major_formatter(x_formatter)
这是关闭“偏移”值(在本例中为 +1)的选项。
您的 x 轴值非常接近,因此 matplotlib 会自动向 x 轴添加偏移量(注意图右下方的 +1
)。
您可以简单地通过以下方式阻止它:
ax.ticklabel_format(useOffset = False)
我的以下演示代码生成了一个 x 轴值错误的图。
import matplotlib.pyplot as plt
x = [1.0, 1.0, 1.0, 1.0, 1.0, 0.9999390392587174, 1.0000609607412827, 1.0000609607412827]
y = [132, 136, 160, 192, 132, 136, 160, 192]
fig, ax = plt.subplots()
for i in range(len(x)):
ax.scatter(x[i], y[i])
plt.savefig('demo.png')
这是它生成的图形。在图片中,x 轴似乎以某种方式缩放,与代码中的数据不匹配。谁能解释一下我做错了什么?
它已将它们正确缩放到 x 值的范围内。 奇怪的是它是如何标记的。 你可以用
来控制它matplotlib.pyplot.xticks(ticks, labels, **kwargs)
另见
x_formatter = matplotlib.ticker.ScalarFormatter(useOffset=False)
ax.xaxis.set_major_formatter(x_formatter)
这是关闭“偏移”值(在本例中为 +1)的选项。
您的 x 轴值非常接近,因此 matplotlib 会自动向 x 轴添加偏移量(注意图右下方的 +1
)。
您可以简单地通过以下方式阻止它:
ax.ticklabel_format(useOffset = False)