Как я могу нарисовать гистограмму из трех разных фреймов данных, используя Matplotlib? - PullRequest
5 голосов
/ 06 апреля 2019

Я хочу нарисовать тройную гистограмму с тремя различными фреймами данных, используя matplotLib

DF1

index | Number    
A     | 110    
B     | 22    
D     | 52

DF2

index | Number
A     | 100
B     | 22
C     | 52

DF3

index | Number    
A     | 90    
B     | 12    
C     | 10

Я пытаюсь использовать этот фрагмент кода, но это дает ошибку, так как эти данные должны быть с одного и того же кадра данных

ax=DF1[["Number"]].DF2[["Number"]].DF3[["Number"]].plot(kind ='bar',log=True,title = "BarGraph",figsize=(15,10),legend=True,fontsize=10)
ax.set_xlabel("Index",fontsize=12)
ax.set_ylabel("Number",fontsize=12)
plt.show()

1 Ответ

2 голосов
/ 06 апреля 2019

Если вы готовы использовать seaborn, этот фрагмент кода работает для вас:

import pandas as pd
import seaborn as sns

DF1 = pd.DataFrame({'index': ['A', 'B', 'C'], 'Number': [110, 22, 52]})
DF2 = pd.DataFrame({'index': ['A', 'B', 'C'], 'Number': [100, 22, 52]})
DF3 = pd.DataFrame({'index': ['A', 'B', 'C'], 'Number': [90, 12, 10]})

DF = pd.concat([DF1, DF2, DF3])
DF['df_num'] = ['1','1','1','2','2','2','3','3','3']

sns.barplot(data = DF, x='index', y='Number', hue='df_num')

Он должен создать этот участок:

seaborn plot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...