【发布时间】:2021-11-22 20:13:17
【问题描述】:
如何从具有相同 Y 轴的多个数据框中绘制并排条形图?
from matplotlib import pyplot as plt
import pandas as pd
fruits = {"Apple": 10, "Banana": 9, "Mango": 5, "Orange": 1}
beverages = {"Coca-cola": 15, "Pepsi": 12, "Seven-up": 9, "Root-bear": 3}
foods = {'hamburger': 10, 'pizza': 7, 'pasta': 5, 'sushi': 2}
fruits_df = pd.DataFrame(fruits.items(), columns = ['stuffs', 'freq'])
beverages_df = pd.DataFrame(beverages.items(), columns = ['stuffs', 'freq'])
foods_df = pd.DataFrame(foods.items(), columns = ['stuffs', 'freq'])
# initialize a figure
fig=plt.figure(figsize=(18, 6))
plt.subplots_adjust(hspace = 2)
ax1 = fig.add_subplot(221)
fruits_df.head(8).plot(x='stuffs', y='freq', kind='bar', ax=ax1, legend=False).set_title('fruits')
plt.xticks(rotation=45, ha='right')
ax2 = fig.add_subplot(222)
beverages_df.head(8).plot(x='stuffs', y='freq', kind='bar', ax=ax2, legend=False, color="orange").set_title('beverage')
plt.xticks(rotation=45, ha='right')
ax2 = fig.add_subplot(223)
foods_df.head(8).plot(x='stuffs', y='freq', kind='bar', ax=ax2, legend=False, color="blue").set_title('foods')
plt.xticks(rotation=45, ha='right')
我想要的输出如下。我打算在上面添加三个或更多数据框,例如零食、服装等...请帮助
【问题讨论】:
标签: python pandas dataframe matplotlib seaborn