使用Matplotlib绘制多个条形图
多重条形图也称为分组条形图。条形图或条形图具有许多自定义功能,例如多个条形图、堆叠条形图、水平条形图。多个条形图通常用于比较不同的实体。在本文中,我们晓得博客讨论了使用Matplotlib绘制多个条形图。
1、简单的多重条形图
在此示例中,我们将了解如何使用matplotlib绘制多个条形图,这里我们绘制多个条形图来可视化每个组中男孩和女孩的数量。
方法:
- 导入所需的库,例如用于使用数组执行数值计算的 numpy 和用于数据可视化的 matplotlib。
- 用于绘制多个条形图的数据被纳入列表中。
- numpy 库中的 np.arange( ) 函数用于创建一系列值。我们根据示例中的组数创建 X 轴值。
- 使用 plt.bar( ) 函数绘制多个条形图。
- 为了避免每组中的条形重叠,条形相对于 X 轴偏移 -0.2 个单位和 +0.2 个单位。
- 每组条的宽度取0.4个单位。
- 最后,在每组中绘制男孩和女孩的多个条形图。
代码:
import numpy as np
import matplotlib.pyplot as plt
X = ['Group A','Group B','Group C','Group D']
Ygirls = [10,20,20,40]
Zboys = [20,30,25,30]
X_axis = np.arange(len(X))
plt.bar(X_axis - 0.2, Ygirls, 0.4, label = 'Girls')
plt.bar(X_axis + 0.2, Zboys, 0.4, label = 'Boys')
plt.xticks(X_axis, X)
plt.xlabel("Groups")
plt.ylabel("Number of Students")
plt.title("Number of Students in each group")
plt.legend()
plt.show()
输出 :
2、投票的男性和女性人数
方法 :
- 导入所需的库,例如用于使用数组执行数值计算的 numpy 和用于数据可视化的 matplotlib。
- 多个条形图的男性和女性数据被纳入一个列表中,以便于绘制。
- numpy 库中的 np.arange( ) 函数用于创建一系列值。
- 使用 matplotlib 库中的 plt.bar( ) 函数绘制多个条形图。
- 为了避免每组中的条形重叠,在此示例中,条形相对于 X 轴偏移了 0.25 个单位。
- 每组条的宽度取0.25个单位。
- X 轴标签(年)和 x 刻度是根据我们的可视化中的要求绘制的。
- 最后,绘制了每年投票的男性和女性人数的多重条形图。
代码:
import numpy as np
import matplotlib.pyplot as plt
Women = [115, 215, 250, 200]
Men = [114, 230, 510, 370]
n=4
r = np.arange(n)
width = 0.25
plt.bar(r, Women, color = 'b',
width = width, edgecolor = 'black',
label='Women')
plt.bar(r + width, Men, color = 'g',
width = width, edgecolor = 'black',
label='Men')
plt.xlabel("Year")
plt.ylabel("Number of people voted")
plt.title("Number of people voted in each year")
# plt.grid(linestyle='--')
plt.xticks(r + width/2,['2020','2021','2022','2023'])
plt.legend()
plt.show()
输出 :
推荐:如何使用Python程序Pytube库下载YouTube视频
3、不同玩家在不同日期的得分
方法:
- 导入所需的库,例如用于使用数组执行数值计算的 numpy 和用于数据可视化的 matplotlib。
- numpy 库中的 np.arange( ) 函数用于创建一系列值(此处为 3 个值)。
- 使用 matplotlib 库中的 plt.bar( ) 函数绘制多个条形图。在此示例中,日期绘制在 X 轴上,玩家得分绘制在 Y 轴上。
- 为了避免每组中的条形重叠,这些条形与前一个条形偏移了 0.25 个单位。
- 每组条形的宽度取0.25个单位,颜色不同。
- X 轴标签和 x 刻度是根据我们的可视化中的要求绘制的。
- 最后,绘制不同日期不同玩家得分的多重条形图。
代码:
import numpy as np
import matplotlib.pyplot as plt
N = 3
ind = np.arange(N)
width = 0.25
xvals = [8, 9, 2]
bar1 = plt.bar(ind, xvals, width, color = 'r')
yvals = [10, 20, 30]
bar2 = plt.bar(ind+width, yvals, width, color='g')
zvals = [11, 12, 13]
bar3 = plt.bar(ind+width*2, zvals, width, color = 'b')
plt.xlabel("Dates")
plt.ylabel('Scores')
plt.title("Players Score")
plt.xticks(ind+width,['2023Feb01', '2023Feb02', '2023Feb03'])
plt.legend( (bar1, bar2, bar3), ('Player1', 'Player2', 'Player3') )
plt.show()
输出:
总结
以上是晓得博客为你介绍的怎么使用Matplotlib绘制多个条形图的全部内容,希望对你的Python学习有所帮助,如有问题,可联系我们。
推荐:Matplotlib教程
Claude、Netflix、Midjourney、ChatGPT Plus、PS、Disney、Youtube、Office 365、多邻国Plus账号购买,ChatGPT API购买,优惠码XDBK,用户购买的时候输入优惠码可以打95折