用python实现:绘制作物名称(B1)的总产量(G1)柱状图(每个作物名称都只出现了一次,表格第一行是表头)
时间: 2024-09-06 16:07:48 浏览: 60
要使用Python和pandas库绘制这样的柱状图,你可以按照以下步骤操作:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 假设你的数据是一个包含作物名称(B1列)和总产量(G1列)的DataFrame,例如df
# df = pd.DataFrame({
# '作物名称': ['作物A', '作物B', '作物C', '作物D', '作物A', '作物E'],
# '总产量': [100, 200, 150, 300, 75, 250],
# }, index=[1, 2, 3, 4, 5, 6]) # 注意,这里我们用索引代替了B1列名,因为通常数据不会直接来自Excel的第一行
# 如果你的数据直接来自Excel,你可以使用read_excel函数:
# df = pd.read_excel('你的文件路径.xlsx')
# 首先,移除重复的作物名称,保留每个名称第一次出现的数据
df_unique = df.drop_duplicates(subset='作物名称')
# 提取作物名称和总产量
crops = df_unique['作物名称']
total_yields = df_unique['总产量']
# 绘制柱状图
plt.figure(figsize=(10, 6)) # 设置图形大小
plt.bar(crops, total_yields, label='总产量') # 柱状图,设置标签
plt.xlabel('作物名称') # x轴标签
plt.ylabel('总产量') # y轴标签
plt.title('作物名称的总产量柱状图') # 标题
plt.xticks(rotation=45) # 旋转x轴标签
plt.legend() # 添加图例
plt.tight_layout() # 自适应调整子图布局
plt.show() # 显示图形
```
这段代码会创建一个柱状图,其中每个作物名称对应一条柱子,高度表示其总产量。请注意替换`'你的文件路径.xlsx'`为实际的Excel文件路径。
阅读全文