python绘制条形柱状图_Python柱状图
大家好,又见面了,我是你们的朋友全栈君。
文章目录
条形图(bar chart),也称为柱状图,是一种以长方形的长度为变量的统计图表,长方形的长度与它所对应的变量数值呈一定比例。
1. 竖放条形图
画条形图要用到 pyplot 中的 bar 函数,该函数的基本语法为:
bar(x, height, [width], **kwargs)
x | 数组,每个条形的横坐标 |
---|---|
height | 个数或一个数组,条形的高度 |
[width] | 可选参数,一个数或一个数组,条形的宽度,默认为 0.8 |
**kwargs | 不定长的关键字参数,用字典形式设置条形图的其他属性 |
**kwargs 中常设置的参数包括图形标签 label,颜色标签 color,不透明度 alpha 等。
假设某项针对男女大学生购买饮用水爱好的调查结果如下表:
男 | 女 | |
---|---|---|
碳酸饮料 | 6 | 9 |
绿茶 | 7 | 4 |
矿泉水 | 6 | 4 |
其他 | 2 | 6 |
果汁 | 1 | 5 |
总计 | 22 | 28 |
画出男生饮用水情况的直方图,代码如下:
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()
显示:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/234330.html原文链接:https://javaforall.cn
相关文章
- 使用Python和OCR进行文档解析的完整代码演示(附代码)
- [Python图像处理] 十一.灰度直方图概念及OpenCV绘制直方图
- python中矩阵的转置_[转]Python中的矩阵转置[通俗易懂]
- java与python-如何对比Python和Java,只需三分钟告诉你!
- python chr()和ord()_Python函数ord
- Python机器学习教程—回归模型的评估与封装
- 【说站】python匿名函数lambda的注意点
- python chmod_Python os.chmod用法及代码示例
- lambda python表达式_Python的条件表达式和lambda表达式实例
- lambda表达式python_Python中的Lambda表达式「建议收藏」
- Python学生信息管理系统课程设计报告_python做的项目管理系统
- Python如何绘制柱状图
- python使用opencv如何保存图片_OpenCV Python 保存图片
- 软件测试|使用Python绘制雷达图(二)
- Python操作Excel表格
- python:使用xpath获取想要的数据
- Python基础(二十四):面向对象核心知识
- 《做一个不背锅运维:浅谈Python的元编程》
- Python文件基本操作(入门必读)
- Ubuntu18.04 一键升级Python所有第三方包 及安装python包的方法
- python生成验证码,文字转换为图片详解编程语言
- python中的虚函数详解编程语言
- python通过PyGame绘制图像并保存为图片文件详解编程语言
- Python类三种方法,函数传参,类与实例变量(一)详解编程语言
- 使用Python执行Linux命令的方法(python调用linux命令)
- 掌握Python访问MySQL的新技能(python访问mysql)
- 提升Linux环境:升级Python(linux升级python)
- 使用Python连接SQL Server数据库(python连接sqlserver数据库)
- python编程-将Python程序转化为可执行程序[整理]
- Python入门及进阶笔记Python内置函数小结