来自一个数据框的python子图plot.bar和来自不同数据框的图例

时间:2018-08-17 21:06:52

标签: python pandas dataframe matplotlib legend

我下面有两个数据集

Df1:

    Cluster     HPE     FRE     UNE
0        0  176617  255282   55881
1        1  126130    7752  252045
2        2   12613   52326    7434

我画一个条形图。 (这不是我的确切代码,但会给您一个想法)

Hd=list(Df1.columns)
for i in range(1,4):
  subp=Fig.add_subplot(3,1,i) 
  plt.bar(Df1[Hd[0]],DataFrame[Hd[i]],width=0.4)

df1.bar plot

现在我想要一个基于第二个质心数据集的图例。

Df2:

   Cluster          HPE         FRE          UNE
0        0    19.282091  106.470162  1620.005037
1        1  1790.500000  367.625000   537.856177
2        2  1500.000000  180.148148  4729.275913

HPE子图应具有HPE列值(19.282091,1790.500000,1500.000000) 如下。

The requirement

我该怎么做?

1 个答案:

答案 0 :(得分:0)

将图例明确设置为从第二个数据帧获得的字符串(如果需要条形的颜色框):

subp.legend([str(a) + ' - ' + str(b) for a, b in zip(df2['Cluster'].tolist(), df2['HPE'].tolist())])

或者只使用一个表:

plt.table(cellText=df2[['Cluster', 'HPE']].values, loc='upper right')