我已经创建了一个带有Pandas的条形图,其中我展示了一些国家的数量变化,并根据每个国家的大陆设置了条形颜色。我使用以下代码绘制图形。该代码基于this question的第二个回复:
s = pd.Series(
listOfQuantities,
listOfCountiesNames
)
''' Assign color to each country based on the continent '''
colormapping = {'AF':'k','AS':'r','EU':'g','OC':'r','NA':'b','SA':'y'}
colorstring = ""
for country in listOfCountiesNames:
continent = countryToContinent[country]
colorstring += colormapping[continent]
pd.Series.plot(
s,
kind='bar',
color=colorstring,
grid=False,
)
我想创建一个类似于我在附加图像中显示的图例(图例不是由python生成的,我是手动添加的)。是否可以用熊猫绘制这样的自定义图例,还是可以实现与其他图形库类似的东西?此外,我也很欣赏有关此类数据的替代绘图类型的建议。
答案 0 :(得分:18)
所以在你的系列剧情之后你可以添加这个
import matplotlib.patches as mpatches
import matplotlib.pyplot as plt
NA = mpatches.Patch(color='blue', label='North America')
EU = mpatches.Patch(color='green', label='Europe')
AP = mpatches.Patch(color='red', label='Asia/Pacific')
SA = mpatches.Patch(color='yellow', label='South America')
plt.legend(handles=[NA,EU,AP,SA], loc=2)
plt.show()