Matplotlib系列(四)--plt.bar与plt.barh条形图
(一)竖条条形图
参数说明
| 参数 | 说明 | 类型 |
| x | x坐标 | int,float |
| height | 条形的高度 | int,float |
| width | 线条的宽度 | 0~1,默认是0.8 |
| botton | 条形的起始位置 | 也就是y轴的起始坐标 |
| align | 条形的中心位置 | “center”,"lege"边缘 |
| color | 条形的颜色 | “r”,“b”,“g”,“#123465",默认的颜色是“b” |
| edgecolor | 边框的颜色 | 同上 |
| linewidth | 边框的宽度 | 像素,默认无,int |
| tick_label | 下标的标签 | 可以是元组类型的字符组合 |
| log | y轴使用科学计算法表示 | bool |
| orientation | 是竖直条还是水平条 | 竖直:"vertical",水平条:"horizontal" |
颜色的参数说明
| 字符 | 颜色 |
| 'b' | blue |
| 'g' | green |
| 'r' | red |
| 'c' | cyan 青色 |
| 'm' | magenta 平红 |
| 'y' | yellow |
| 'k' | black |
| 'w' | white |
import numpy as np
import matplotlib.pyplot as plt # 将全局的字体设置为黑体
plt.rcParams['font.family'] = 'SimHei' # 数据
N = 5
y = [20, 10, 30, 25, 15]
x = np.arange(N) # 绘图 x x轴, height 高度, 默认:color="blue", width=0.2 线条的宽度 默认0.8
p1 = plt.bar(x, height=y, width=0.5) # 展示图形
plt.show()
输出效果:

(二) 水平条形图
1.使用bar绘制:注意:需要把:orientation="horizontal",然后x,与y的数据交换,再添加bottom=x,即可。
"""
水平条形图,需要修改以下属性
orientation="horizontal"
"""
import numpy as np
import matplotlib.pyplot as plt # 数据
N = 5
x = [20, 10, 30, 25, 15]
y = np.arange(N) # 绘图 x= 起始位置, bottom= 水平条的底部(左侧), y轴, height 水平条的宽度, width 水平条的长度
p1 = plt.bar(x=0, bottom=y, height=0.5, width=x, orientation="horizontal") # 展示图形
plt.show()

(2)使用barh()时,bottom改为left, 然后宽变高,高变宽。
"""
水平条形图,需要以下属性
orientation="horizontal"
"""
import numpy as np
import matplotlib.pyplot as plt # 数据
N = 5
x = [20, 10, 30, 25, 15]
y = np.arange(N) # 绘图 y= y轴, left= 水平条的底部, height 水平条的宽度, width 水平条的长度
p1 = plt.barh(y, left=0, height=0.5, width=x) # 展示图形
plt.show()

(三)、复杂一些的条形图
1.并列的条形图
注意事项:我们再同一张画布,画两组条形图,并且紧挨着就时并列条形图。改变x的位置。
import numpy as np
import matplotlib.pyplot as plt # 数据
x = np.arange(4)
Bj = [52, 55, 63, 53]
Sh = [44, 66, 55, 41]
bar_width = 0.3 # 绘图 x 表示 从那里开始
plt.bar(x, Bj, bar_width)
plt.bar(x+bar_width, Sh, bar_width, align="center") # 展示图片
plt.show()
(2) 添加图例信息
- 对于图例:先可选属性里添加label=“”,标签再使用plt.lengd()显示。
- 对于数据的标签使用任意方向的标签来标注,再由x,y数据确定坐标。
- tick_label=str,用来显示自定义坐标轴
"""
默认的是竖值条形图
"""
import numpy as np
import matplotlib.pyplot as plt # 将全局的字体设置为黑体
plt.rcParams['font.family'] = 'SimHei' # 数据
N = 5
y = [20, 10, 30, 25, 15]
x = np.arange(N)
# 添加地名坐标
str1 = ("北京", "上海", "武汉", "深圳", "重庆") # 绘图 x x轴, height 高度, 默认:color="blue", width=0.8
p1 = plt.bar(x, height=y, width=0.5, label="城市指标", tick_label=str1) # 添加数据标签
for a, b in zip(x, y):
plt.text(a, b + 0.05, '%.0f' % b, ha='center', va='bottom', fontsize=10) # 添加图例
plt.legend() # 展示图形
plt.show()

Matplotlib系列(四)--plt.bar与plt.barh条形图的更多相关文章
- 4.4Python数据处理篇之Matplotlib系列(四)---plt.bar()与plt.barh条形图
目录 目录 前言 (一)竖值条形图 (二)水平条形图 1.使用bar()绘制: 2.使用barh()绘制: (三)复杂的条形图 1.并列条形图: 2.叠加条形图: 3.添加图例于数据标签的条形图: 目 ...
- 4.5Python数据处理篇之Matplotlib系列(五)---plt.pie()饼状图
目录 目录 前言 (一)简单的饼状图 (二)添加阴影和突出部分 (三)显示图例和数据标签: 目录 前言 饼状图需要导入的是: plt.pie(x, labels= ) (一)简单的饼状图 (1)说明: ...
- 4.2Python数据处理篇之Matplotlib系列(二)---plt.scatter()散点图
目录 目录 前言 (一)散点图的基础知识 (二)相关性的举例 ==1.正相关== ==1.负相关== ==1.不相关== (三)实战项目以一股票的分析 目录 前言 散点图是用于观测数据的相关性的,有正 ...
- Difference between plt.draw() and plt.show() in matplotlib
Difference between plt.draw() and plt.show() in matplotlib down voteaccepted plt.show() will display ...
- 4.7Python数据处理篇之Matplotlib系列(七)---matplotlib原理分析
目录 目录 前言 (一)总框架分析 (二)函数式的绘图 1.说明: 2.函数绘图的缺优点 3.绘图类的函数 4.操作类的函数 5.例子: (三)面向对象式的绘图 1.基本概念 2.基本对象 3.面向对 ...
- Paddle Graph Learning (PGL)图学习之图游走类模型[系列四]
Paddle Graph Learning (PGL)图学习之图游走类模型[系列四] 更多详情参考:Paddle Graph Learning 图学习之图游走类模型[系列四] https://aist ...
- tkinter内嵌Matplotlib系列(二)之函数曲线绘制
目录 目录 前言 (一)对matplotlib画布的封装: (二)思路分析: 1.需求说明: 2.框架的设置: 3.文件说明: (三)各文件的源代码 1.main.py 2.widget.py 3.f ...
- python Matplotlib 系列教程(三)——绘制直方图和条形图
在本章节我们将学习如何绘制条形图和直方图 条形图与直方图的区别:首先,条形图是用条形的长度表示各类别频数的多少,其宽度(表示类别)则是固定的: 直方图是用面积表示各组频数的多少,矩形的高度表示每一组的 ...
- matplotlib系列——条形图
import matplotlib.pyplot as plt import numpy as np import matplotlib x = ["战狼2","激情8& ...
随机推荐
- 不起眼的vim.转自https://blog.csdn.net/iplayvs2008/article/details/51508599
如果我的关于这个话题的最新帖子没有提醒到你的话,那我明确地说,我是一个 Vim 的粉丝.所以在你们中的某些人向我扔石头之前,我先向你们展示一系列“鲜为人知的 Vim 命令”.我的意思是,一些你可能以前 ...
- 关于Vue的理解以及与React框架的对比
1.Vue的理解 概念: Vue是一套用于构建用户界面的渐进式框架: Vue的核心库只关注视图层: 是一个数据驱动的MVVM框架: 特性: 确实轻量:体积比较小: 数据绑定简单.方便: 有一些简单的内 ...
- 前端 CSS的继承性
css有两大特性:继承性和层叠性 继承性 继承:给父级设置一些属性,子级继承了父级的该属性,这就是我们的css中的继承. 记住:有一些属性是可以继承下来 : color . font-*. text- ...
- JAVA总结--JDK版本区别
jdk1.5的新特性: 1.泛型 2.自动拆箱装箱 3.foreach 4.静态导入(Static import) 此外,枚举.元数据(Metadata).线程池.Java Generics ...
- Java设计模式——单例模式(static修饰)
1.类的构造器私有化 2.本类内部创建对象(用本类内部public static静态方法返回该静态对象) 3.创建静态变量指向该类. 饿汉式和懒汉式的差异: 1.创建对象的时机不同!(饿汉模式在使用静 ...
- Sql Server 之游标
一般来说,我们通过SQL一般是面向集合进行数据操作,但是游标提供给我们更加强大的功能可以对数据集合进行逐行遍历有选择性的操作处理.当然游标也有其不可避免的缺陷就是:低效和复杂.所以一般正常的操作处理不 ...
- JavaScript之BOM操作
一, 什么是BOM BOM:Browser Object Model,浏览器对象模型 BOM的结构图: 从上图也可以看出: window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也 ...
- Webpack4、iView、Vue开发环境的搭建
导读 项目使用了 yarn ,一个快速.可靠.安全的依赖管理工具.yarn 是一个类似于npm的包管理工具,它是由 facebook 推出并开源,它在速度,离线模式,版本控制的方面具有独到的优势.此项 ...
- select,poll 和 epoll ??
其实所有的 I/O 都是轮询的方法,只不过实现的层面不同罢了. 其中 tornado 使用的就是 epoll 的. selec,poll 和 epoll 区别总结 基本上 select 有 3 个缺点 ...
- OpenCV-----图像的加载与保存
OpenCV中的图像: 定义:在opencv中图像就是结构化存储数据的信息. 属性:1.宽.高和通道数目 1 print(image.shape) #形状:行(长).列(宽).通道数(深度) 2.像素 ...