0

我的数据集是这样的。

数据集的图像

我想阅读面霜和洗面奶产品销售数据并使用条形图显示,条形图应显示每种产品每月销售的单位数量,并在同一图表中为每种产品添加单独的条形图。

代码:

import matplotlib.pyplot as plt
import numpy as np
ax = plt.subplot(111)
ax.bar(x=df['facecream'], y=df['total_units'], height=0.5)
ax.bar(x=df['facewash'], z=df['total_units'], height=0.5)
plt.show()

错误:

ValueError: setting an array element with a sequence.
4

1 回答 1

0

完整的错误消息还包含这一行:

TypeError: 只有大小为 1 的数组可以转换为 Python 标量

这意味着 x 和 y 参数应该是大小为 1 的数组,这就是您收到此错误的原因。

解决方案:

for x,y in zip(df['facecream'],df['total_units']):
    ax.bar(x=x, y=y, height=0.5)         

(你可以用 df['facewash'] 做同样的事情)

所以我们遍历它们并一一绘制它们

于 2021-08-17T11:06:02.293 回答