【发布时间】:2019-06-03 18:28:15
【问题描述】:
我正在查看一些世界生态足迹数据,我想为每种类型的足迹制作一个堆叠条形图,其中堆叠的值相同,但针对不同的国家/地区。所以我开始使用其中的 2 个脚印,只是为了让某些东西发挥作用。
这就是我要做的(有点):
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# Create DataFrame from CSV file
df = pd.read_csv('countries.csv')
# Slice Series out of DF
cropFoot = df['Cropland Footprint']
grazeFoot = df['Grazing Footprint']
# Convert Series to list
cropFoot = list(cropFoot)
grazeFoot = list(grazeFoot)
X = range(163) # the lists have 163 entries
plt.bar(X, height=cropFoot)
plt.bar(X, height=grazeFoot, bottom = cropFoot)
plt.show()
这会产生以下情节:
我想在 x 轴上显示 5 个单独的足迹,以便每个国家/地区的足迹数据堆叠在一起。本质上,现在 x 轴显示了所有 163 个国家/地区,其中 2 个足迹堆叠在一起。我想要相反的。所以我想要 5 个条形图,每个条形图上堆放 163 个国家/地区。
类似这样的东西(但堆叠了 163 件,而不是 7 件):
不出所料,只是交换 X 和高度...不起作用。结果根本没有任何意义:
plt.bar(cropFoot, height=X)
plt.bar(grazeFoot, height=X, bottom = cropFoot)
plt.show()
看起来像这样:
关于如何正确扭转这种情况的任何建议? This is the dataset I'm using,来自 Kaggle。
【问题讨论】:
标签: python python-3.x matplotlib stacked-chart