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()
上面的脚本结果如下图。
我正在绘制月份与温度(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()
上面的脚本结果如下图。