读取数据,使用 pyecharts 库绘制一个柱状图,展示每年不同种类的数量的可视化 Python代码
时间: 2024-05-01 18:23:49 浏览: 167
【python数据分析】-python可视化-柱状图
假设数据已经存储在一个名为`data.csv`的文件中,每一行包含了一条数据记录,格式为`年份,种类,数量`,例如:
```
2015,苹果,100
2015,梨子,50
2015,香蕉,200
2016,苹果,150
2016,梨子,70
2016,香蕉,250
```
则可以使用以下 Python 代码读取数据并绘制柱状图:
```python
import csv
from collections import defaultdict
from pyecharts.charts import Bar
from pyecharts import options as opts
# 读取数据
data = defaultdict(lambda: defaultdict(int))
with open('data.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
year, category, count = row
data[year][category] += int(count)
# 绘制柱状图
bar = (
Bar()
.set_global_opts(
title_opts=opts.TitleOpts(title="不同年份不同种类的数量统计"),
xaxis_opts=opts.AxisOpts(name="年份"),
yaxis_opts=opts.AxisOpts(name="数量"),
)
)
for year, categories in data.items():
categories_data = [(cat, count) for cat, count in categories.items()]
categories_data.sort(key=lambda x: x[1], reverse=True)
bar.add_xaxis([year])
bar.add_yaxis("数量", categories_data, label_opts=opts.LabelOpts(position="inside"))
bar.render("bar.html")
```
这段代码首先使用`csv`模块读取数据,并使用`defaultdict`生成一个嵌套字典来存储每年不同种类的数量。然后使用`pyecharts`库绘制柱状图,将每年的数据作为一个系列,并将不同种类的数量作为每个系列的数据。在绘制柱状图时,我们设置了横轴为年份、纵轴为数量,并对每个柱子设置了数据标签。最后,将图形保存为`bar.html`文件。
阅读全文