【问题标题】:Python Matplotlib scatterplot plots axis with inconsistent numbers [duplicate]Python Matplotlib散点图用不一致的数字绘制轴[重复]
【发布时间】:2018-12-23 09:51:15
【问题描述】:

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

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

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

【问题讨论】:

  • 尝试使用简单的plt.plot(time, temps)
  • 只有当您的temps 系列是一系列字符串时才会发生这种情况。
  • 哦,是的,你是对的,它是一系列字符串。非常感谢,我一直在看错误的东西..

标签: python matplotlib scatter-plot


【解决方案1】:

您在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()

上面的脚本结果如下图。

【讨论】:

    猜你喜欢
    • 2018-06-23
    • 1970-01-01
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-14
    • 2019-10-17
    • 1970-01-01
    相关资源
    最近更新 更多