tab*_*101 5 python visualization matplotlib
我想使用matplotLib绘制具有三个不同数据框的三重条形图
index | Number
A | 110
B | 22
D | 52
Run Code Online (Sandbox Code Playgroud)
index | Number
A | 100
B | 22
C | 52
Run Code Online (Sandbox Code Playgroud)
index | Number
A | 90
B | 12
C | 10
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用这段代码,但这给出了错误,因为此数据需要来自同一数据帧
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()
Run Code Online (Sandbox Code Playgroud)
如果您愿意使用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')
Run Code Online (Sandbox Code Playgroud)
它应该产生这个情节: