使用绘图库Pyecharts,从dataframe中读取数据绘制柱状图,展示商家A和商家B的衬衫,毛衣,裤子,风衣,销售情况,要求柱状的颜色为渐变填充
时间: 2024-05-15 18:17:54 浏览: 69
根据数据库所取数据画柱状图
4星 · 用户满意度95%
可以使用以下代码实现:
```python
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Bar
# 读取数据
data = pd.read_csv('data.csv')
# 筛选出商家A和商家B的数据
data_a = data[data['商家'] == 'A']
data_b = data[data['商家'] == 'B']
# 绘制柱状图
bar = Bar()
# 添加商家A的销售情况
bar.add_xaxis(data_a['商品'].tolist())
bar.add_yaxis("商家A", data_a['销售情况'].tolist(),
itemstyle_opts=opts.ItemStyleOpts(
color=opts.ColorOpts(
type_="linear",
x=0,
y=0,
x2=0,
y2=1,
color_stops=[
[0, "#00FFFF"],
[1, "#00008B"]
]
)
))
# 添加商家B的销售情况
bar.add_xaxis(data_b['商品'].tolist())
bar.add_yaxis("商家B", data_b['销售情况'].tolist(),
itemstyle_opts=opts.ItemStyleOpts(
color=opts.ColorOpts(
type_="linear",
x=0,
y=0,
x2=0,
y2=1,
color_stops=[
[0, "#FFA07A"],
[1, "#8B0000"]
]
)
))
# 设置标题和坐标轴标签
bar.set_global_opts(title_opts=opts.TitleOpts(title="商家A和商家B的销售情况"),
xaxis_opts=opts.AxisOpts(name="商品"),
yaxis_opts=opts.AxisOpts(name="销售情况"))
# 展示图表
bar.render("sales.html")
```
其中,data.csv 是包含销售数据的文件,格式为:
```
商家,商品,销售情况
A,衬衫,100
A,毛衣,80
A,裤子,60
A,风衣,120
B,衬衫,120
B,毛衣,70
B,裤子,90
B,风衣,80
```
代码中使用了 Pyecharts 的 Bar 类来绘制柱状图,同时使用了 opts.ItemStyleOpts 来给柱状图的颜色添加了渐变填充。最后,将生成的图表保存在 sales.html 文件中。
阅读全文