如何在地图上画柱状图python_python使用matplotlib绘制柱状图教程
Matplotlib的概念这里就不多介绍了,关于绘图库Matplotlib的安装方法:点击这里
小编之前也和大家分享过python使用matplotlib实现的折线图和制饼图效果,感兴趣的朋友们也可以点击查看,下面来看看python使用matplotlib绘制柱状图的方法吧,具体如下:
1. 基本的柱状图
import matplotlib.pyplot as plt
data = [5, 20, 15, 25, 10]
plt.bar(range(len(data)), data)
plt.show()
plt.bar函数签名为:
bar(left, height, width=0.8, bottom=None, **kwargs)
事实上,left,height,width,bottom这四个参数确定了柱体的位置和大小。默认情况下,left为柱体的居中位置(可以通过align参数来改变left值的含义),即:
(left - width / 2, bottom)为左下角位置
(left + width / 2, bottom + height)为右上角位置
例如:
import matplotlib.pyplot as plt
data = [5, 20, 15, 25, 10]
plt.bar([0.3, 1.7, 4, 6, 7], data, width=0.6, bottom=[10, 0, 5, 0, 5])
plt.show()
2. 设置柱体样式
(1)颜色
通过facecolor(或fc)关键字参数可以设置柱体颜色,例如:
import matplotlib.pyplot as plt
data = [5, 20, 15, 25, 10]
plt.bar(range(len(data)), data, fc='g')
plt.show()
通过color关键字参数 可以一次性设置多个颜色,例如:
import matplotlib.pyplot as plt
data = [5, 20, 15, 25, 10]
plt.bar(range(len(data)), data, color='rgb') # or `color=['r', 'g', 'b']`
plt.show()
(2)描边
相关的关键字参数为:
edgecolor 或 ec
linestyle 或 ls
linewidth 或 lw
例如:
import matplotlib.pyplot as plt
data = [5, 20, 15, 25, 10]
plt.bar(range(len(data)), data, ec='r', ls='--', lw=2)
plt.show()
(3)填充
hatch关键字可用来设置填充样式,可取值为:/, \, |, -, +, x, o, O, ., *。例如:
import matplotlib.pyplot as plt
data = [5, 20, 15, 25, 10]
plt.bar(range(len(data)), data, ec='k', lw=1, hatch='o')
plt.show()
3. 设置tick label
import matplotlib.pyplot as plt
data = [5, 20, 15, 25, 10]
labels = ['Tom', 'Dick', 'Harry', 'Slim', 'Jim']
plt.bar(range(len(data)), data, tick_label=labels)
plt.show()
4. 堆叠柱状图
通过bottom参数,可以绘制堆叠柱状图。例如:
import numpy as np
import matplotlib.pyplot as plt
size = 5
x = np.arange(size)
a = np.random.random(size)
b = np.random.random(size)
plt.bar(x, a, label='a')
plt.bar(x, b, bottom=a, label='b')
plt.legend()
plt.show()
5. 并列柱状图
绘制并列柱状图与堆叠柱状图类似,都是绘制多组柱体,只需要控制好每组柱体的位置和大小即可。例如:
import numpy as np
import matplotlib.pyplot as plt
size = 5
x = np.arange(size)
a = np.random.random(size)
b = np.random.random(size)
c = np.random.random(size)
total_width, n = 0.8, 3
width = total_width / n
x = x - (total_width - width) / 2
plt.bar(x, a, width=width, label='a')
plt.bar(x + width, b, width=width, label='b')
plt.bar(x + 2 * width, c, width=width, label='c')
plt.legend()
plt.show()
6. 条形图
使用barh方法绘制条形图。例如:
import matplotlib.pyplot as plt
data = [5, 20, 15, 25, 10]
plt.barh(range(len(data)), data)
plt.show()
plt.barh方法的签名为:
barh(bottom, width, height=0.8, left=None, **kwargs)
可以看到与plt.bar方法类似。因此堆积条形图和并列条形图的画法与前面类似,不做赘述。
7. 正负条形图
import numpy as np
import matplotlib.pyplot as plt
a = np.array([5, 20, 15, 25, 10])
b = np.array([10, 15, 20, 15, 5])
plt.barh(range(len(a)), a)
plt.barh(range(len(b)), -b)
plt.show()
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用python能带来一定的帮助,如果有疑问大家可以留言交流。
如何在地图上画柱状图python_python使用matplotlib绘制柱状图教程相关推荐
- qgis在地图上画导航线_在Laravel中的航线
qgis在地图上画导航线 For further process we need to know something about it, 为了进一步处理,我们需要了解一些有关它的信息, The rou ...
- ArcGIS API for JavaScript根据两个点坐标在地图上画线
ArcGIS API for JavaScript根据两个点坐标在地图上画线 比如说a(xxxx,xxxxx),b(xxxx,xxxxx).利用这两个点画一条线 var polyline = new ...
- Arcgis for Android在地图上画多边形并进行边长、周长和面积的测量
Arcgis for Android的地图操作里,放大缩小地图.图层切换.定位.测距测面等都是它的一些基本操作,封装后一般调用就是了,很简单.不过最近有了个需求,在地图上画一个多边形时候同时进行多边形 ...
- python比例图_python在地图上画比例的实例详解
现在用python画图已经难不倒一直跟小编学习的小伙伴们了,甚至有的小伙伴画图比小编还要厉害.为此小编还偷偷下了一番功夫,画图这种事情,细节上的完善肯定能让图片更加好看.所以小编知道大家会画地图,但是 ...
- 如何在百度地图上画镂空圆 Android
百度API提供了在地图上画圆形的类,但画出圆只能是实心圆,也就是不能实现让圆内没有颜色而圆外有颜色的镂空圆.那么我们应该实现镂空圆呢? 首先我发现API还提供一个画多边形的类.而一个镂空圆分解成两个多 ...
- Bing必应地图中国API - 在地图上画圆
Bing必应地图中国API - 在地图上画圆 2011-05-24 14:49:37| 分类: Bing&Google|字号 订阅 <变形金刚2>上映4日国内票房过亿,基本上我只 ...
- Python Matplotlib绘制柱状图(bar和barh函数)详解
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...
- python 柱状图和折线图放在一起_Python matplotlib:matplotlib绘制——柱状图和折线图的组合...
Python matplotlib:使用matplotlib绘制--柱状图和折线图的组合. 废话不多说,直接上效果图和代码. 代码如下: #柱状图 import numpy as np import ...
- Python使用matplotlib绘制柱状图(bar plot)实战:水平条形图、垂直条形图、分组条形图、堆叠条形图
Python使用matplotlib绘制柱状图(bar plot)实战:水平条形图.垂直条形图.分组条形图.堆叠条形图 目录
最新文章
- textContent与innerText的不同(转发)
- orangepi找不到GPIO的解决方法
- python在日常工作处理中的应用-记 Python 在实际工作中的第一次应用
- One more sprint? 再加一个迭代?-英文
- 将一个对象拆开拼接成URL
- php接口前端安全,前端js的ajax 调用PHP写的API接口,如何卡主安全性,防止非法调用呢?...
- 把数据集刷穿是什么体验?MetaQA已100%准确率
- html 网页整体的背景色,HTML 背景
- 如何获得getElementById的length这个数值?
- 统计学国内四门B类期刊以及统计学简史
- matlab 交互效应三维图,【MATLAB】使用MATLAB绘制心理学中的交互作用图
- android linearlayout 自动滚动,Linearlayout scrollbars=“vertical”并没有用,Linearlayout滚动的解决办法...
- swift 函数类型+高阶函数
- 2022年最新的Detectron 2 (0.6) 安装流程(联想笔记本Y9000K+Anaconda+Win 11 +RTX3070)
- 哔哩哔哩自动播放视频
- 软文营销文案写作如何用创意编制想象力“城堡”
- 如何查看存储过程内容
- 红米路由器ac2100怎样设置ipv6_红米(Redmi)路由器AC2100怎么设置
- JavaScript教程-setTimeout,setInterval,
- 为什么90后不鸟管理者,却愿意被大神虐?
热门文章
- 期权合约怎么看?期权合约解读
- 外卖平台对接笔记(美团外卖,饿了么外卖)
- LOD技术——定义详解及相关知识介绍
- 网站攻击有几种?如何进行安全防护?
- CentOS 系统利用 IUS 安装 python3.6
- 海思35xx实现GT911触摸屏功能
- 软件测试培训分享:哪家软件测试培训机构好?
- 文件二维码(FileQRCode) – 通过动态二维码无网传输文件(手机互传,手机电脑互传)
- catia齿轮宏程序,catia齿轮宏程序_Catia宏程序
- Android权限列表 中文 英文 说明