• 在本期内容中,我们先从柱状图(条形图)开始,柱状图实际上是用来表示分组(或离散)变量的可视化,可以使用matplotlib模块中的bar函数完成柱状图的绘制。
  • 函数功能:柱状图,寻找各类别之间的关系
  • 调用方法:plt.bar(x, y, width,color, edgecolor, bottom, linewidth, align, tick_label, align)
  • 参数说明:
    • x:指定x轴上数值
    • y:指定y轴上的数值
    • width:表示柱状图的宽度,取值在0~1之间,默认为0.8
    • color:柱状图的填充色
    • edgecolor:柱状图的边框颜色
    • bottom:柱状图底部离横轴的距离
    • linewidth:柱状图边框宽度
    • tick_label:柱状图的刻度标签,也可直接将标签赋值给x
    • align:指定x轴上对齐方式,"center","lege"边缘
# 准备数据
xiaoming_score = [80,75,65,58,75,80,90]  #小明各科成绩
xiaohong_score =[90,85,75,62,75,60,80]   #小红各科成绩
subjects = ['语文','英语','数学','物理','化学','生物','体育'] 

 使用各种参数:

plt.bar(x = np.arange(7),        # 横坐标height = xiaoming_score, # 柱状高度width = 0.35,            # 柱状宽度label = '小明',          # 标签edgecolor = 'k',         # 边框颜色color = 'r',             # 柱状图颜色tick_label = subjects,   # 每个柱状图的坐标标签linewidth= 3)            # 柱状图边框宽度
plt.legend() #显示标签
plt.show()

 水平柱状图:plt.barh()

 簇状条形图:通过控制横轴坐标绘图

# 绘图
plt.figure(figsize = (10,7))
bar1 = plt.bar(x = np.arange(7),height = xiaoming_score,width = 0.35,label = '小明',edgecolor = 'white',color = 'r',tick_label = subjects)
bar2 = plt.bar(x = np.arange(7)+0.35,height = xiaohong_score,width = 0.35,label = '小红')# 标注数值 注:老版本可能没有这个方法,得使用下方做法
plt.bar_label(bar1)
plt.bar_label(bar2)# 补充标题及标签
plt.title('小明、小红各科成绩对比') # 图的标题
plt.xlabel('科目',fontsize = 15)   # 横轴标签
plt.ylabel('成绩',fontsize = 15)  # 纵轴标签
plt.xticks(np.arange(7)+0.17,subjects,fontsize = 12)  # 柱状图横轴坐标各类别标签
plt.legend()  # 显示两组柱状图的标签# # 老方法:注释各柱状图的数值,在这里即分数
# for i in range(len(subjects)):
#     plt.text(x = i-0.1, y = xiaoming_score[i]+1,s = xiaoming_score[i] ) # s表示注释内容
# for i in range(len(subjects)):
#     plt.text(x = i+0.3, y = xiaohong_score[i]+1,s = xiaohong_score[i] )# 显示图像
plt.show()

堆叠条形图:通过bottom参数

# 绘图
bar1= plt.bar(x = subjects, height = xiaoming_score, label = '小明', color = 'steelblue', alpha = 0.8, width = 0.35)
bar2 = plt.bar(x = subjects, height = xiaohong_score, label = '小红', color = 'indianred', alpha = 0.8, width = 0.35, bottom=xiaoming_score)
# 标注数值,注:较老版本可能没有此方法,得尝试后面做法
plt.bar_label(bar1,padding=-70)
plt.bar_label(bar2,padding=-70)
# 补充标题及标签
plt.title('小明、小红各科成绩对比') # 图的标题
plt.xlabel('科目',fontsize = 15)   # 横轴标签
plt.ylabel('成绩',fontsize = 15)  # 纵轴标签
plt.xticks(np.arange(7),subjects,fontsize = 12)  # 柱状图横轴坐标各类别标签
plt.legend()  # 显示两组柱状图的标签# 老做法:注释各柱状图的数值,在这里即分数
# for i in range(len(subjects)):
#     plt.text(x = i-0.1, y = xiaoming_score[i]-30,s = xiaoming_score[i] )
# for i in range(len(subjects)):
#     plt.text(x = i-0.1, y = xiaohong_score[i]+30,s = xiaohong_score[i] )plt.show()

matplotlib可视化之柱状图plt.bar()相关推荐

  1. python使用matplotlib可视化3D柱状图(3D bar plot、三维柱状图、包含三个坐标轴x、y、z)、设置zdir参数为y、改变3d图观察的角度

    python使用matplotlib可视化3D柱状图(3D bar plot.三维柱状图.包含三个坐标轴x.y.z).设置zdir参数为y.改变3d图观察的角度 目录

  2. python使用matplotlib对比多个模型在测试集上的效果并可视化、设置模型性能可视化结果柱状图(bar plot)标签的小数点位数(例如,强制柱状图标签0.7显示为两位小数0.70)

    python使用matplotlib对比多个模型在测试集上的效果并可视化.设置模型性能可视化结果柱状图(bar plot)标签的小数点位数(例如,强制柱状图标签0.7显示为两位小数0.70) 目录

  3. python使用matplotlib可视化3D柱状图(3D histogram、三维柱状图、包含三个坐标轴x、y、z)、设置zdir参数为z、改变3d图观察的角度

    python使用matplotlib可视化3D柱状图(3D histogram.三维柱状图.包含三个坐标轴x.y.z).设置zdir参数为z.改变3d图观察的角度 目录

  4. matplotlib可视化番外篇bar()--带误差棒的柱状图

    本节主要分2个内容:1. 实现对柱状图添加误差棒: 2. 实现并列型带误差棒柱状图 1. 实现对柱状图添加误差棒,bar()篇内容,官方bar()文档,柱状图参数详情 补充参数信息 xerr, yer ...

  5. 【Python画图】matplotlib画折线图plt.plot、柱状图plt.bar、堆叠柱状图、饼图plt.pie以及自定义坐标轴的位置、显示汉字

    一.折线图 1.常规折线图 import matplotlib.pyplot as plt import matplotlib.font_manager as fm#这样设置以后 可以在图中显示中文 ...

  6. Python Matplotlib绘制渐变色柱状图(bar)并加边框和配置渐变颜色条(colorbar)

    热力图是数据分析的常用方法,通过色差.亮度来展示数据的差异.易于理解.目前,常见的是看数据表里多个特征两两的相关度热力图. 基于此思想,做出柱状热力图,用于展现单个特征针对整体的相关度,以此列出所有特 ...

  7. python数据处理+matplotlib可视化(柱状图、折线图、表格)

    本文章涉及Python读取并处理Excel数据,pandas数据处理转化,matplotlib汇总柱状图.折线图,表格.双y轴柱状+折线图 . 一.首先导入相关的包 #导入相关的包 import nu ...

  8. matplotlib可视化之饼图plt.pie()与plt.legend()中bbox_to_anchor参数的理解

    函数功能:表示离散变量各占比情况 调用方法:plt.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0 ...

  9. python matplotlib,plt.pie,plt.bar(bike数据的分析)

    说在前面:这个是七月在线线下课程的一个课件,侵权的话联系删除,想学的可以点击链接买,运行环境是notebook.因为方便手机查看,所以把这个放博客上. import matplotlib.pyplot ...

最新文章

  1. Mysql中的count()与sum()区别
  2. 永远的Hello World
  3. 发布一个很COOL的图片验证码程序[含源码]
  4. hive链接mysql的shell命令_Hive shell 基本命令
  5. AliOS Things SIG BLE Mesh网络的介绍和搭建
  6. 2021重庆高考成绩名次排名查询,重庆高考排名对应大学-重庆高考位次大学(2021年理科)...
  7. html中把句子往右边弄一点咋办,CSS上的左,中,右对齐方法,可以在一行上混合...
  8. 【ElasticSearch】ElasticSearch 节点 性能 健康 监控
  9. 吴恩达《机器学习》第九章:神经网络的学习
  10. 可启动 ISO 合并、Windows 安装光盘合集
  11. TPC-DS标准规范(2)
  12. MT6573_FlashTool 下载的使用说明
  13. c语言 16 16 字库,用C语言编程16点阵字库
  14. AtCoder Beginner Contest 158 E.Divisible Substring
  15. win7计算机图标排列,win7系统桌面图标排列顺序打乱的操作方法
  16. git reflog 恢复已删除分支
  17. “永远肩负守卫物联网安全的责任和使命”——Ayla CTO发声美网瘫痪事件
  18. mac 查看本机的IP地址
  19. pygame游戏之旅4:添加键盘按键
  20. mpu6050六轴传感器msp430驱动程序

热门文章

  1. 客户服务器模型请求响应,计算机网络原理-第8章.ppt
  2. 测试学习-109-测试数据批量生成(Faker框架-清晰版)
  3. Frp某场景下实现多层代理
  4. 一周搞定期末考系列之《算法分析与设计》
  5. java/php/net/python汽车租赁网系统设计
  6. 微信团队分享:微信后台在海量并发请求下是如何做到不崩溃的
  7. 中M22春C、Java入门练习-7.6
  8. hfss螺旋平面_HFSS——平面正弦加载阿基米德螺旋线模型设计
  9. 植树节小报word手抄报模板来啦
  10. Listener Filter