用Matplotlib在条形图上绘制Pandas数据框架的多列数据
在这篇文章中,我们将学习如何使用Matplotlib在条形图上绘制多列。条形图是用来用矩形条来表示数据的类别。我们可以用重叠的边缘或在同一axis上绘制这些条形图。下面将讨论使用matplotlib和pandas在同一图表中绘制条形图的不同方法。
方法1:在y参数中提供多列
这里的诀窍是将所有需要绘制的数据作为一个值传递给绘图函数的’y’参数。
语法:
matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, **kwargs)
步骤:
- Import module
- 创建或加载数据
- 将数据传给plot()。
- Plot graph
示例:
# importing pandas library
import pandas as pd
# import matplotlib library
import matplotlib.pyplot as plt
# creating dataframe
df = pd.DataFrame({
'Name': ['John', 'Sammy', 'Joe'],
'Age': [45, 38, 90],
'Height(in cm)': [150, 180, 160]
})
# plotting graph
df.plot(x="Name", y=["Age", "Height(in cm)"], kind="bar")
输出:
方法2:通过在同一axis上绘制
在同一axis上绘制所有独立的图形,并以颜色区分,可以是一种选择。这里也采用了plot()函数。
步骤:
- Import module
- 创建或加载数据
- 绘制第一个图形
- 在同一axis上绘制所有其他图形
示例:
# importing pandas library
import pandas as pd
# import matplotlib library
import matplotlib.pyplot as plt
# creating dataframe
df = pd.DataFrame({
'Name': ['John', 'Sammy', 'Joe'],
'Age': [45, 38, 90],
'Height(in cm)': [150, 180, 160]
})
# plotting Height
ax = df.plot(x="Name", y="Height(in cm)", kind="bar")
# plotting age on the same axis
df.plot(x="Name", y="Age", kind="bar", ax=ax, color="maroon")
输出:
方法3:通过创建子情节
创建这种功能的另一种方式可以是绘制多个子图,并将它们显示为一个。这可以用subplot()函数来完成。
语法:
subplot(nrows, ncols, index, **kwargs)
步骤:
- Import module
- 创建或加载数据
- 创建多个子剧情
- 在单axis上作图
示例:
# importing pandas library
import pandas as pd
# import matplotlib library
import matplotlib.pyplot as plt
# creating dataframe
df = pd.DataFrame({
'Name': ['John', 'Sammy', 'Joe'],
'Age': [45, 38, 90],
'Height(in cm)': [150, 180, 160]
})
# creating subplots and plotting them together
ax = plt.subplot()
ax.bar(df["Name"], df["Height(in cm)"])
ax.bar(df["Name"], df["Age"], color="maroon")
输出: