csv多组属性的条形图
时间: 2024-03-01 11:28:20 浏览: 11
要绘制一张 CSV 文件中多组属性的条形图,可以使用 Python 中的 Pandas 和 Matplotlib 库。
首先,导入所需的库和数据:
```python
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('data.csv')
```
其中,`data.csv` 是包含多组属性的 CSV 文件。
接着,使用 Pandas 的 `groupby` 方法将数据按照属性分组:
```python
grouped = df.groupby('属性')
```
然后,使用 Matplotlib 的 `bar` 方法分别绘制每组属性的条形图:
```python
fig, ax = plt.subplots()
for name, group in grouped:
ax.bar(group['x'], group['y'], label=name)
ax.legend()
plt.show()
```
其中,`x` 和 `y` 分别是 CSV 文件中的横轴和纵轴数据。`name` 和 `group` 分别是每组属性的名称和数据。
最后,使用 Matplotlib 的 `legend` 方法添加图例,并显示绘制的图形。
相关问题
python读取csv绘制条形图
好的,以下是Python读取csv并绘制条形图的示例代码:
```python
import csv
import matplotlib.pyplot as plt
# 读取csv文件数据
with open('data.csv', 'r') as csv_file:
csv_reader = csv.DictReader(csv_file)
data = {row['name']: int(row['value']) for row in csv_reader}
# 绘制条形图
plt.bar(range(len(data)), list(data.values()), align='center')
plt.xticks(range(len(data)), list(data.keys()))
plt.show()
```
以上代码假设csv文件中有两列数据,一列是名字(name),一列是数值(value),并且第一行是标题行。代码使用csv模块读取csv文件并将数据存储在字典中,然后使用matplotlib绘制条形图。
python 读取csv 文件pyecharts画出条形图
以下是使用pyecharts库读取CSV文件并绘制条形图的示例代码:
```python
import pandas as pd
from pyecharts import Bar
# 读取CSV文件
data = pd.read_csv('data/sitka_weather_07-2018_simple.csv')
# 提取最高温度和最低温度数据
date = data['DATE']
high_temp = data['TMAX']
low_temp = data['TMIN']
# 创建条形图对象
bar = Bar("Temperature Distribution")
# 添加最高温度和最低温度数据
bar.add("High Temperature", date, high_temp)
bar.add("Low Temperature", date, low_temp)
# 设置图表的标题和坐标轴标签
bar.set_global_opts(title_opts={"text": "Temperature Distribution"},
xaxis_opts={"name": "Date"},
yaxis_opts={"name": "Temperature (Fahrenheit)"})
# 生成图表并保存为HTML文件
bar.render("temperature_bar_chart.html")
# 显示图表
bar.render_notebook()
```
这段代码首先使用pandas库读取CSV文件,并提取出日期、最高温度和最低温度的数据。然后,使用pyecharts库创建一个条形图对象,并将最高温度和最低温度数据添加到图表中。接下来,设置图表的标题和坐标轴标签。最后,生成图表并保存为HTML文件,并在Notebook中显示图表。