【发布时间】:2021-02-05 22:04:29
【问题描述】:
我有一个简单的 pandas DataFrame,如下所示。我想在 y 轴上创建 value 的散点图,在 x 轴上创建 date 的散点图,并用 category 为点着色。但是,着色点不起作用。
# Create dataframe
df = pd.DataFrame({
'date': ['2016-01-01', '2016-02-01', '2016-03-01', '2016-01-01', '2016-02-01', '2016-03-01'],
'category': ['Wholesale', 'Wholesale', 'Wholesale', 'Retail', 'Retail', 'Retail'],
'value': [50, 60, 65, 55, 62, 70]
})
df['date'] = pd.to_datetime(df['date'])
# Try to plot
df.plot.scatter(x='date', y='value', c='category')
ValueError: 'c' argument must be a mpl color, a sequence of mpl colors or a sequence of numbers, not ['Wholesale' 'Wholesale' 'Wholesale' 'Retail' 'Retail' 'Retail'].
为什么我会收到错误消息? Pandas 散点图documentation 表示参数c 可以是“列名或位置,其值将用于根据颜色图为标记点着色。”
【问题讨论】:
标签: python pandas matplotlib