Python Matplotlib 散点图用不一致的数字绘制轴

Python Matplotlib scatterplot plots axis with inconsistent numbers

我正在绘制月份与温度(y 轴)的数据集,我使用:

plt.scatter(time, temps)
plt.show()

但图中的 y 轴不一致(点 8 的值为 19.5749,但显示高于前一个点 22.482)

您在 temps 系列中读到的是一系列字符串,这意味着它的确切值写在 y 轴上。如果使用 astype 函数将其转换为 float,它可以正常工作。

import numpy as np
import matplotlib.pyplot as plt

x = np.array([ 0, 1, 2, 3 ])
y = np.array(['3.1', '2.2', '7.3', '4.5'])

plt.figure()
plt.subplot(121)
plt.scatter(x, y)
plt.title('string')

y = y.astype(np.float)

plt.subplot(122)
plt.scatter(x, y)
plt.title('float')
plt.show()

上面的脚本结果如下图。