python 画条形图(柱状图) 您所在的位置:网站首页 浮动条形图可以用什么软件做 python 画条形图(柱状图)

python 画条形图(柱状图)

2024-06-28 13:26| 来源: 网络整理| 查看: 265

文章目录 1. 竖放条形图bar(x, height, [width], **kwargs) 2. 横放条形图bar(x, width, [height], **kwargs) 3. 并列条形图 条形图(bar chart),也称为柱状图,是一种以长方形的长度为变量的统计图表,长方形的长度与它所对应的变量数值呈一定比例。

1. 竖放条形图

画条形图要用到 pyplot 中的 bar 函数,该函数的基本语法为:

bar(x, height, [width], **kwargs) x数组,每个条形的横坐标height个数或一个数组,条形的高度[width]可选参数,一个数或一个数组,条形的宽度,默认为 0.8**kwargs不定长的关键字参数,用字典形式设置条形图的其他属性

**kwargs 中常设置的参数包括图形标签 label,颜色标签 color,不透明度 alpha 等。

假设某项针对男女大学生购买饮用水爱好的调查结果如下表:

男女碳酸饮料69绿茶74矿泉水64其他26果汁15总计2228

画出男生饮用水情况的直方图,代码如下:

import matplotlib.pyplot as plt # 这两行代码解决 plt 中文显示的问题 plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False waters = ('碳酸饮料', '绿茶', '矿泉水', '果汁', '其他') buy_number = [6, 7, 6, 1, 2] plt.bar(waters, buy_number) plt.title('男性购买饮用水情况的调查结果') plt.show()

图形: 在这里插入图片描述

2. 横放条形图

若要生成横的条形图,则可以使用 barh 函数,其语法与 bar 函数非常类似。

bar(x, width, [height], **kwargs) y数组,每个条形的纵坐标width一个数或一个数组,条形的宽度[height]可选参数,一个数或一个数组,条形的高度,默认为 0.8**kwargs不定长的关键字参数,用字典形式设置条形图的其他属性

代码:

import matplotlib.pyplot as plt # 这两行代码解决 plt 中文显示的问题 plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False waters = ('碳酸饮料', '绿茶', '矿泉水', '果汁', '其他') buy_number = [6, 7, 6, 1, 2] plt.barh(waters, buy_number) # 横放条形图函数 barh plt.title('男性购买饮用水情况的调查结果') plt.show()

在这里插入图片描述

3. 并列条形图

若要将男生与女生的调查情况画出两个条形图一块显示,则可以使用 bar 或 barh 函数两次,并调整 bar 或 barh 函数的条形图位置坐标以及相应刻度,使得两组条形图能够并排显示。

import matplotlib.pyplot as plt import numpy as np # 这两行代码解决 plt 中文显示的问题 plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False # 输入统计数据 waters = ('碳酸饮料', '绿茶', '矿泉水', '果汁', '其他') buy_number_male = [6, 7, 6, 1, 2] buy_number_female = [9, 4, 4, 5, 6] bar_width = 0.3 # 条形宽度 index_male = np.arange(len(waters)) # 男生条形图的横坐标 index_female = index_male + bar_width # 女生条形图的横坐标 # 使用两次 bar 函数画出两组条形图 plt.bar(index_male, height=buy_number_male, width=bar_width, color='b', label='男性') plt.bar(index_female, height=buy_number_female, width=bar_width, color='g', label='女性') plt.legend() # 显示图例 plt.xticks(index_male + bar_width/2, waters) # 让横坐标轴刻度显示 waters 里的饮用水, index_male + bar_width/2 为横坐标轴刻度的位置 plt.ylabel('购买量') # 纵坐标轴标题 plt.title('购买饮用水情况的调查结果') # 图形标题 plt.show()

显示: 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有