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& ...
随机推荐
- 多线程12-ManualResetEventSlim
)); )); )); t1.Start(); t2.Start(); ...
- Netty实战之性能调优与设计模式
设计模式在Netty 中的应用(回顾): 单例模式要点回顾: 一个类在任何情况下只有一个对象,并提供一个全局访问点. 可延迟创建. 避免线程安全问题. 在我们利用netty自带的容器来管理客户端链接的 ...
- 20171110面试笔记 服务器端程序员+C/C++开发
socket 模型: https://www.cnblogs.com/nsnow/archive/2011/05/03/2036017.html http://blog.csdn.net/normal ...
- 如何在Web工程中实现任务计划调度
转载自: http://www.oschina.net/question/146385_37793?sort=time 下面就Servlet侦听器结合Java定时器来讲述整个实现过程.要运用Servl ...
- [2019杭电多校第七场][hdu6656]Kejin Player
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6656 题意为从i级花费a元有p的概率升到i+1级,有1-p的概率降到x级(x<i),查询从L级升 ...
- HDU-2571 命运(搜索,我才不是为了插图呢!哼!)
看到这题其实感觉就是搜索题,广搜的话看讨论区里已经有人内存超限了,所以我选择了深搜,有两种思路,第一种是从起点出发,依次更新每一个格子的最大值,这样dp[n][m]就是最后的结果了,第二种是从起点试探 ...
- Flask 中请求钩子的理解和应用?
请求钩子是通过装饰器的形式实现的,支持以下四种:1,before_first_request 在处理第一个请求前运行2,before_request:在每次请求前运行3,after_request:如 ...
- 【JAVA】格式化打印printf的使用
格式化打印printf的使用 import java.util.Date; /** * 使用printf输出 */ /**关键技术点 * 使用java.io.PrintStream的printf方法实 ...
- zTree根节点默认打开
1.在生成tree的json数据中,直接给出:open:true的属性; 2.treeObj.expandAll(true); 3.var zTree = $.fn.zTree.getZTreeObj ...
- Vue实现点击li变色
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...