【问题标题】:Scatter plots in python from a csv file with string in x-axispython中的散点图来自csv文件,x轴为字符串
【发布时间】:2019-09-02 21:55:23
【问题描述】:

我有一个以字符串为 x 轴的 csv 文件。现在我必须使用 matplotlib 和 pandas 制作散点图。 但其显示错误“散点图需要 x 轴上的数字”

我尝试将文件作为变量 df 读取并对其进行散点绘制。但它无法读取字符串。它是一个巨大的文件,我无法将字符串变量定义为 x = ["x1","x2",...等]

*同一个x轴id也有多个值。

import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv("scatter2")
ax = plt.gca()
df.plot(kind='scatter',x='Spectral Type',y='Hα EW',ax=ax)

错误信息: ...ValueError: scatter 要求 x 列是数字

【问题讨论】:

  • Matplotlib 应该能够像ax.scatter(x='Spectral Type',y='Hα EW', data=df) 一样绘制这个。

标签: python string matplotlib


【解决方案1】:

您的 x 值必须是正常范围列表(例如 list(range(len(x))) 之类的东西),然后您只需将您的 ticks 设置为所需的值(例如 plt.xticks(x_range_values, x_str_values) 之类的东西)。

查看Python Matplotlib - how to specify values on y axis? 了解更多信息

【讨论】:

    猜你喜欢
    • 2019-03-01
    • 1970-01-01
    • 2020-11-05
    • 1970-01-01
    • 2018-07-01
    • 2018-09-24
    • 2021-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多