使用 Matplotlib 在条形图上绘制 Pandas 数据框的多列
先决条件:
- 熊猫
- Matplotlib
在本文中,我们将学习如何使用 Matplotlib 在条形图上绘制多列。条形图用于使用矩形条来表示数据类别。我们可以用重叠的边缘或在相同的轴上绘制这些条。在同一图表中绘制条形图的不同方法是使用 matplotlib 和 pandas 讨论如下。
方法 1:在 y 参数中提供多列
这里的技巧是将所有必须一起绘制的数据作为一个值传递给 plot 函数的 'y' 参数。
句法:
matplotlib.pyplot.plot(\*args, scalex=True, scaley=True, data=None, \*\*kwargs)
方法:
- 导入模块
- 创建或加载数据
- 将数据传递给 plot()
- 绘制图形
例子:
Python3
# 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")
Python3
# 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")
Python3
# 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")
输出:
方法 2:通过在同一轴上绘图
在相同的轴上绘制所有单独的图形,按颜色区分是一种替代方法。这里再次使用了 plot()函数。
方法:
- 导入模块
- 创建或加载数据
- 绘制第一张图
- 在同一轴上绘制所有其他图形
例子:
蟒蛇3
# 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)
方法:
- 导入模块
- 创建或加载数据
- 创建多个子图
- 在单轴上绘图
例子:
蟒蛇3
# 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")
输出: