Matplotlib 中的散点图 Y 轴编号测距问题

Scatter Plot Y-axis Number Ranging Problem in Matplotlib

我写了几行代码来创建一个简单的散点图。我希望 y 轴上的数字范围从 0 到 1000000。我知道这是一个很大的数字,有时我可能会遇到奇怪的数字问题但是当我 运行 这段代码时,y 轴的范围从 0 到 1 . 这很奇怪。如果我希望图表在我希望的数字范围内使用 python window 中的工具,我必须手动拖动图表,当我 运行代码。否则,y 轴上的数字根本不会按照我指定的方式排列。 ps:虽然 x 轴上的数字范围非常好。

import matplotlib.pyplot as plt

x_values = list(range(1, 1001))
y_values = [x**2 for x in x_values]

plt.scatter(x_values, y_values, s=10)
plt.title('Square Numbers', fontsize=18)
plt.xlabel('Value', fontsize=18)
plt.ylabel('Square of Value', fontsize=12)
plt.tick_params(axis='both', which='major', labelsize=14)
plt.axis([0, 1000, 0, 1100000])
plt.show()

matplotlib在达到100万或以上后,会将任意轴的值作为对数值。如果您想查看数值中的值:

(i) 稍微向 -y 轴平移。您将能够看到号码。

(ii) 将 plt.axis([0, 1000, 0, 1100000]) 设置为 plt.axis([0, 1000, 0, 110000])

希望对你有用。