matplotlib: 绘制柱状图

news2024/9/22 15:29:31

通过matplotlib绘制柱形图

第一个例子

from matplotlib import pyplot as plt


y = [10, 11, 12, 11, 9, 8, 13, 10]  # 创建y轴坐标
x = list(range(1,9)) # 创建x轴坐标

# 创建x轴显示的参数(此功能在与在图像中x轴仅显示能被10整除的刻度,避免刻度过多分不清楚)
# x_tick = list(map(lambda num: "" if num % 10 != 0 else num, x))

# plt.figure(figsize=(200, 100), dpi=10)
plt.figure(figsize=(10, 5)) # 创建一个画布

plt.xlabel('This is x label', size=15) # 设置x轴的label
plt.ylabel('This is y label', size=15) # 设置y轴的label

for a,b in zip(x, y):
    plt.text(a, b+0.2, b, ha='center', va='bottom', fontsize=15)  # 给每个柱形图上加上数字
plt.bar(x, y, alpha=0.7, width=0.6, lw=2, label='This is label')  # 绘制条形图

plt.xticks(x, x, size=15)  # 显示x轴刻度
plt.yticks(size=15)        # 显示y轴刻度

plt.title('This is bar caption', fontsize=15)#标题,并设定字号大小
plt.legend(loc=2)#图例展示位置,数字代表第几象限
plt.grid() # 打开网格线

# 获取当前图像句柄
fig = plt.gcf()
plt.show()  #  显示图像
fig.savefig('a.png')  # 存储图像
plt.show()

柱状图如下

  • 设置画布大小: plt.figure(figsize=(10, 5))
  • 设置x轴label: plt.xlabel(“label name”, size=10),其中size是label的大小
  • 设置y轴label: plt.ylabel(“label name”, size=10),其中size是label的大小
  • 在柱状图上加上数值: plt.text(x=a, y=b, s=b, ha=‘center’, va= ‘bottom’, fontsize=7),其中xy是要标注的位置,通常y=b+0.1等,s是标注的值,ha表示水平居中,va是垂直对齐,fontsize是字体大小
  • 覆盖x轴坐标: plt.xticks(ticks, labels, size=10),覆盖x轴坐标,ticks是要覆盖的位置,labels是覆盖后的值,ticks和labels长度要相等
  • 覆盖y轴坐标: plt.xticks(ticks, labels, size=10),覆盖y轴坐标,ticks是要覆盖的位置,labels是覆盖后的值,ticks和labels长度要相等
  • 柱状图的标题: plt.title(“caption”, fontsize=10)
  • 图例相关: plt.legend(loc=2, fontsize=10),loc图例展示位置,1234分别代表右上,左上,左下,右下,还有5678等等,fontsize图例的大小
  • 网格线: plt.grid()打开网格线
  • 绘制柱状图: plt.bar(x=x, height=y, width=0.8, alpha=1, facecolor, edgecolor, lw, label=“label”),x是横坐标的值,height是纵坐标的值(高度),width单个柱子的宽度,alpha柱子的透明度,facecolor柱子的颜色,edgecolor柱子的边缘颜色,lw柱子边缘线的宽度,label柱状图的图例名字

其余的用到再补充

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/392855.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

比亚迪:全球最大电动汽车制造商的坎坷成长之路

来源:猛兽财经 作者:猛兽财经 特斯拉(TSLA)首席执行官埃隆马斯克表示,特斯拉最接近的竞争对手可能是一家中国电动汽车公司。猛兽财经认为,沃伦•巴菲特支持的比亚迪(0211)可能是马斯…

在ubuntu上部署与使用docker(python)

1.安装Docker首先,更新现有的包列表sudo apt update接下来安装一些允许童HTTPS才能使用的软件包:sudo apt install apt-transport-https ca-certificates curl software-properties-common然后将官方Docker存储库的GPG秘钥添加到您的系统curl -fsSL http…

关于 C# 引用参数和值参数

关于 C# 引用参数和值参数 C# 数据类型分为值类型和引用类型,两者的区别在于值类型的数据存储在栈中,而引用类型的数据存储在堆中,但是栈中会存放指向存储数据的堆的位置。 传递参数时,传递的是数据栈中的值,实参将数…

高等数学——一元函数微分学

文章目录导数与微分概念几何意义连续、可导、可微之间的关系求导法则基本初等函数的导数公式有理运算法则复合函数求导法奇偶性和周期性隐函数求导反函数求导参数方程求导对数求导法高阶导数概念常用的高阶导数公式微分中值定理和导数的应用微分中值定理导数的应用函数的单调性…

巾帼绽芬芳 一起向未来(下篇)

编者按:为了隆重纪念纪念“三八”国际妇女节113周年,快来与你全方位、多层次分享交流“三八”国际妇女节的前世今生。分上篇(节日简介、节日发展和节日意义)、中篇(节日活动宗旨和世界各国庆祝方式)和下篇&…

Linux学习第二十节-NTP网络时间协议

1.概念 NTP(Network Time Protocol)网络时间协议基于UDP用于网络时间同步的协议,使网络中的计算机时钟同步到UTC(世界统一时间),再配合各个时区的偏移调整就能实现精准同步对时功能。 chrony是网络时间协议NTP的实现方式, Chron…

three.js 纹理贴图的使用

刚刚入门的小伙伴请先查看 three.js 基础认识与简单应用 本文章中的两个注意点,下面也有提到,分别是: 1、 vue项目中使用的贴图路径-->需要把 static文件夹 放到 public文件夹下,并使用 static 开头的绝对路径。 2、使用环境遮挡贴图时&a…

Air780E|阿里云|AT命令|物联网|三元组|鉴权|算法|密钥生成-阿里云物联网手动接入步骤

基础资料基于Air780E开发板:Air780E文档中心简介:AT开发探讨重点本系列主要探讨MQTT手动接入腾讯云物理网平台的基本操作及手动鉴权步骤、信息订阅及发布的基本原理。参考阅读:物联网模组AT命令接入云平台(1)-MQTT基本…

移动硬盘怎么恢复数据?怎么恢复硬盘删除的数据

移动硬盘可以随时插上或拔下,小巧而便于携带的硬盘存储器,以较高的速度与系统进行数据传输。由于其存储空间较大,性价比较高,存储和传输数据快速简便,是很多职场人士必备的外置设备之一。移动硬盘怎么恢复数据&#xf…

cuda代码高效策略--b站看课的笔记

1.1 高效公式 要么增大数据量,要么减少每个线程的内存(每个线程读取的数据量变少,每个线程的读取数据的速度变快(转变存储方式,对读取慢的地方做优化–合并全局内存)) 1.2 合并全局内存 一个线…

电子台账:模板制作之二——行过滤(垂直过滤)

1 简介大部分情况下,企业数据源表格中,只有部分行的数据可用于电子台账。例如,一共100行数据,我们只要取得其中20行即可。如果所有数据一股脑全部导入到台账中,再手工删除不需要的行,太麻烦了,有…

js变量和函数提升

1、变量提升 变量提升是JavaScript 中比较“奇怪”的现象,它允许在变量声明之前即被访问 (仅存在于var声明变量) 注意: 1.变量在未声明即被访问时会报语法错误 2.变量在var声明之前即被访问,变量的值为 undefined 3.let/const声明的变量不存在变量提升…

sqli-labs通关lesson36-40

1.lesson36 union select判断注入:为单引号注入?id1%df-- 查数据库:?id-1%df union select 1,2,database()-- 2.lesson-37 报错注入判断注入:为单引号注入通过下方判断password为单引号注入unamez&passwdg%df -- &submitSubmit查数…

神经网络之反向传播算法(自适应梯度算法Adagrad)

文章目录自适应梯度算法(Adagrad)1、算法原理2、算法实现2.1 训练过程2.2 测试过程及结果3、参考源码及数据集自适应梯度算法(Adagrad) 自适应梯度算法(Adaptive gradient algorithm,Adagrad)与…

惊!初中生也来卷了……

大家好,我是良许。 前两天在抖音直播的时候,突然来了一位不速之客…… 他自称是初中生,一开始我还有点不太相信,直到跟他连麦,听到他还略带一些稚嫩的声音,我才知道,他没有骗我…… 他说他想学…

Dynamic Movement Primitives (DMP) 学习

Dynamic Movement Primitives (DMP) 学习 【知乎】Dynamic Movement Primitives介绍及Python实现与UR5机械臂仿真 1. DMP的建模过程 链接:Dynamic Movement Primitives介绍及Python实现与UR5机械臂仿真 - 知乎 (zhihu.com) 沙漏大佬!!&am…

转行软件测试需要学习哪些知识点?来来来,都给你汇总在这里啦!

都说IT互联网行业吃香,那么如何才能高效转行,习得一技之长换取心仪offer? 一般来说,0基础小白想转行到软件测试行业,按照如下学习逻辑肯定是错不了的: 1.零基础小白入门篇(学前扫盲&#xff09…

ThinkBook15电脑开机后马上蓝屏不能使用怎么办?

ThinkBook15电脑开机后马上蓝屏不能使用怎么办?最近有用户使用的ThinkBook15电脑出现了开机之后屏幕蓝屏的情况。出现这个问题,是系统底层的故障,一般用户很难找出问题进行彻底解决。但是我们可以通过以下重做系统的方法来恢复电脑系统的使用…

阶段二11_面向对象高级_学生管理系统案例3

主要功能: 完成学生信息添加,修改和删除功能。 一.查看学生 思路: 图片:5_查看学生思路图.png 代码: StudentController[客服类中] //查找学生 private void findAllStudent() {//1.方法内部创建StudentService业…

Nacos 使用Postgresql数据库制作镜像

构建前提在 Nacos 2.2.0支持postgresql数据库基础上进行构建github地址:个人仓库编译打包源码mvn -Prelease-nacos clean package install -Dmaven.test.skiptrue若想跳过pmd和checkstyle检查请使用mvn -Prelease-nacos clean package install -Dmaven.test.skiptru…