Python 2.7 迭代熊猫系列以创建新的图表图例

Python 2.7 迭代熊猫系列以创建新的图表图例,python-2.7,pandas,matplotlib,Python 2.7,Pandas,Matplotlib,在分组等之后,我得到了如下示例中所示的系列。我想显示每个酒吧的平均数字。下面的代码只显示一个条目(当然,因为我只有一个“图例”)。有谁能建议一种显示这些数字的聪明方法吗 %matplotlib inline import matplotlib.pyplot as plt import matplotlib matplotlib.style.use('ggplot') import pandas # create Series dict_ = {"Business" : 104.04,"Econ

在分组等之后,我得到了如下示例中所示的系列。我想显示每个酒吧的平均数字。下面的代码只显示一个条目(当然,因为我只有一个“图例”)。有谁能建议一种显示这些数字的聪明方法吗

%matplotlib inline
import matplotlib.pyplot as plt
import matplotlib
matplotlib.style.use('ggplot')
import pandas

# create Series
dict_ = {"Business" : 104.04,"Economy":67.04, "Markets":58.56, "Companies":38.48}
s = pandas.Series(data=dict_)

# plot it
ax = s.plot(kind='bar', color='#43C6DB', stacked=True, figsize=(20, 10), legend=False)
plt.tick_params(axis='both', which='major', labelsize=14)
plt.xticks(rotation=30) #rotate labels
# Shrink current axis by 20%
box = ax.get_position()
ax.set_position([box.x0, box.y0, box.width * 0.8, box.height])
#create new legend
legend = ['%s (%.1f a day)' %(i, row/7) for i, row in s.iteritems()]
# Put the legend to the right of the current axis
L = ax.legend(legend, loc='center left', bbox_to_anchor=(1, 0.5), fontsize=18)
plt.show()

图例只有一个条目。这是一个蓝色条的把手。因此,即使将标签设置为较长的列表,也只有该列表的第一个元素用作现有句柄的标签

可以复制图例句柄,使其与标签具有相同的大小

legend = ['%s (%.1f a day)' %(i, row/7) for i, row in s.iteritems()]
h,l = ax.get_legend_handles_labels()
L = ax.legend(handles = h*len(legend), labels=legend, loc='center left', 
              bbox_to_anchor=(1, 0.5), fontsize=18)