python绘制条形柱状图_Python柱状图

python绘制条形柱状图_Python柱状图文章目录1.竖放条形图bar(x,height,[width],**kwargs)2.画横放条形图bar(x,width,[height],**kwargs)3.并列条形图条形图(barchart),也称为柱状图,是一种以长方形的长度为变量的统计图表,长方形的长度与它所对应的变量数值呈一定比例。1.竖放条形图画条形图要用到pyplot中的bar函数,该函数的基…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

条形图(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()

Jetbrains全家桶1年46,售后保障稳定

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

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()

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/234330.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • CSS制作一个半透明边框

    CSS制作一个半透明边框CSS制作一个半透明边框,background-clip属性,如何实现半透明边框

  • 智能营销增益模型(Uplift Modeling)的原理与实践

    智能营销增益模型(Uplift Modeling)的原理与实践文章目录增益模型因果与推论(CausalInference)增益模型的表示差分响应模型(Two-ModelApproach)模型优缺点差分响应模型升级版(One-ModelApproach)ClassTransformationMethodClassTransformation的两个假设ModelingUpliftDirectly增益模型的评估uplift柱状图Qini曲线(Qi…

    2022年10月22日
  • Window安装Redis并设置为开机启动

    Window安装Redis并设置为开机启动

  • integer转string java_Integer转换为String类型[通俗易懂]

    integer转string java_Integer转换为String类型[通俗易懂]在学习泛型时,遇到了一个小问题:Integeri=2;Strings=(String)i;Integer类型转换为String类型,本来想直接用强制转换,结果报错:Exceptioninthread”main”java.lang.ClassCastException:java.lang.Integercannotbecasttojava.lang.String经过…

    2022年10月24日
  • 全角字符和半角字符的区别和操作方法_手机有半角全角的区别吗

    全角字符和半角字符的区别和操作方法_手机有半角全角的区别吗全角字符的由来#全角符号是双字节中文编码的历史遗留问题。当年在纯文本的界面中,为了让西文和中日韩的方块字对齐,就让西文字母、数字和标点也占用一个汉字的视觉空间,并使用2个字节存储。后来,其中的一些全角字符因为比较有用,就得到了广泛应用(比如全角的逗号「,」、问号「?」、感叹号「!」、空格「 」等),专用于中日韩文本,成为了标准的中日韩标点字符。而其它的许多全角符号失去了价值,因为我们现在很少需要让纯文本的中文和西文字字对齐了,就很少再用了。另外需要说明的是:现在全球文本编码的事实标准是UTF-

    2022年10月22日
  • navicat15.0.25激活码【2021最新】

    (navicat15.0.25激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.htmlS32PGH0SQB-eyJsaWN…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号