条形图外观

简介: 条形图外观

开发者学堂课程【Python 常用数据科学库:条形图外观】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/546/detail/7501


条形图外观


想要在数据当中中将问题阐述得更清楚,就需要增加一些指标。 一共有 ABCDE,5条数据,先指定一个大小 Figure,之后编译 Y 轴的刻度。  在指定一个 bars,bars=plt.barh (y_pos,data),传递完 data 以后再传输一些小数据: bars=plt.barh (y_pos,data,alpha=0.5),最后传输颜色: bars=plt.barh (y_pos,data,alpha=0.5,color=’g’)。先通过 plt.show() 展示一下。但此时图形不美观,需要将其进行美化。 可以观察一下还需要加入哪一些指标。 注意观察每一个指标后都有唯一的值,可以把纸写在后面,这样看起来更加直接。在进行添加标注的动作:在每个 bars 中写出每个数据:for b,d in zip(bars,data),还需要写东西:先指定宽度:plt.testg (b.get_width()),再往后加入一点宽度 :plt.testg (b.get_width()+b.get_width()),最后乘上0.05:plt.testg (b.get_width()+b.get_width()*0.05),再到结尾:plt.testg (b.get_width()+b.get_width()*0.05,b.get_y),加上 height: plt.testg (b.get_width()+b.get_width()*0.05,b.get_y+b.get_height()),相当于大致去找这个位置。在这个位置上,需要写入一些东西,也就是当前的指标:plt.testg (b.get_width()+b.get_width()*0.05,b.get_y+b.get_height()/2,’{0:.2%}’.format(d/min{data})),此时将数据传输进去了。先运行查看是否正确,发现错误进行更改之后: plt.test (b.get_width()+b.get_width()*0.05,b.get_y+b.get_height()/2,’{0:.2%}’.format(d/min{data})),继续运行,系统提示:不支持的这种格式,回头查看代码,发现y加上指标没有加上括号,更改为:plt.testg(b.get_width()+b.get_width()*0.05,b.get_y()+b.get_height()/2,’{0:.2%}’.format(d/min{data}))

继续运行发现在条形图后面加上了指标。该指标表示当前数值是最小值的百分之多少,最小值也就是最后一个。能够在条形图中画一条线,以便可以查看在每个指标时最小值是多少。方法如下:

先画一条竖线:plt.vlines(min(data)),指定当前指标:plt.vlines(min(data,-)),len(data)+0.5)。加上该代码之后已经画出了一条竖,就是按照最小值的位置去画了一条竖线。由于竖线不够美观,也可以通过修改代码来调整其外观:plt.vlines(min(data,-)),len(data)+0.5,linestyle=’dashed’),也就是把该竖线更改为虚线格式。最后也可以加上一些 Y轴 X 轴的限制。以上就是对于条形图来说最基本的操作。条形图如下:

image.png

在条形图当中也可以把 Color map 调出来,然后在条形图当中运用:

首先设置数据:

mean_values=range(10,18)

X_pos=range(len(mean_values))

调用 Color map 时需要先传与颜色有关的东西:

Import matplotlib.colors as col

Import matplotlib.cm as cm

cm 就是 Color map 的意思。构造 Color map 1和 Color map 2,有许多种格式先使用其中的一种,会根据数据自动的去做数据的颜色。先最小值传进来,再把最大值传进来,就会自动地根据最小值和最大值之间有多少个间隙,就指定多少种颜色:cmap1=cm.ScalarMappable(col.Normalize(min(mean_values),max(mean_values),cm.hot))

对于 Cmap2,可以进行一些更改,不用最小值和最大值,可以自己指定一个区间:

cmap1=cm.ScalarMappable(col.Normalize(0,20,cm.hot))

然后编译一个子图:

Plt.subplot(121)

传入2个数据之后,指定颜色为 Cmap1,直接转化为二进制格式,只需要将其当成一个模板即可。

Plt.bar(x-pos,mean_values,color=cmap1,to_rgba(mean_values))

接下来是第2个图:

Plt.subplot(122)

Plt.bar(x-pos,mean_values,color=cmap2,to_rgba(mean_values))

代码如下:

mean_values=range(10,18)

X_pos=range(len(mean_values))

Import matplotlib.colors as col

Import matplotlib.cm as cmcmap1=cm.ScalarMappable(col.Normalize(min(mean_values),max(mean_values),cm.hot))

cmap1=cm.ScalarMappable(col.Normalize(0,20,cm.hot))

Plt.subplot(121)

Plt.bar(x-pos,mean_values,color=cmap1,to_rgba(mean_values))

Plt.subplot(122)

Plt.bar(x-pos,mean_values,color=cmap2,to_rgba(mean_values))

Plt.show

点击运行之后无法正常运行,发现最后没有写括号。加上括号,运行成功。条形图如下:

image.png

在条形图当中可以自己指定。每一个都可以让他按照一种变化的方式变化,自己制定颜色也行,按照这个办法去自动的生成颜色就是一种彩虹色,颜色都各不相同,由浅到深,由深到浅,可以自动生成一个 colormap,需要先导入 Color map,它会自动的生成颜色,就会产生一个新的结果。

先把图调进来:

pattern=(‘-‘,’+’,’x’,’\\’,’*’,’o’,’0’,’,’)

fig=plt.gca()

再继续指定一个值:

Mean_values=range(1,len(patterns)+1)

X_pos= list(range(1,len(Mean_values)))

传入当前的值到bars里面:

Bars=plt.bar(X_pos, Mean_values)

因为指定了 bars,说明图形中画了 N 多个柱,所以需要填充:

For bar,petterns in zip (bars,patterns):

Bar,set_htach(patterns)

Plt.show

总代码如下:

pattern=(‘-‘,’+’,’x’,’\\’,’*’,’o’,’0’,’,’)

fig=plt.gca()

Mean_values=range(1,len(patterns)+1)

X_pos= list(range(1,len(Mean_values)))

Bars=plt.bar(X_pos, Mean_values)

For bar,petterns in zip (bars,patterns):

Bar,set_htach(patterns)

Plt.show

运行之后,背景颜色是深色,也可以将背景颜色进行更改:

pattern=(‘-‘,’+’,’x’,’\\’,’*’,’o’,’0’,’,’)

fig=plt.gca()

Mean_values=range(1,len(patterns)+1)

X_pos= list(range(1,len(Mean_values)))

Bars=plt.bar(X_pos, Mean_values,color=‘white’)

For bar,petterns in zip (bars,patterns):

Bar,set_htach(patterns)

Plt.show

运行之后,每个条形图中都有不同风格的图案。条形图如下:

image.png                                                                                                                                                                                                                                                                                                                                                                      

以上就是条形图中最基本的操作。

相关文章
|
10月前
|
机器学习/深度学习 测试技术 计算机视觉
RT-DETR改进策略【Conv和Transformer】| ICCV-2023 iRMB 倒置残差移动块 轻量化的注意力模块
RT-DETR改进策略【Conv和Transformer】| ICCV-2023 iRMB 倒置残差移动块 轻量化的注意力模块
265 14
RT-DETR改进策略【Conv和Transformer】| ICCV-2023 iRMB 倒置残差移动块 轻量化的注意力模块
|
jenkins 持续交付 开发者
自动化部署:使用Jenkins和Docker实现持续集成与交付
【8月更文挑战第31天】本文旨在为读者揭示如何通过Jenkins和Docker实现自动化部署,从而加速软件开发流程。我们将从基础概念讲起,逐步深入到实际操作,确保即使是初学者也能跟上步伐。文章将提供详细的步骤说明和代码示例,帮助读者理解并应用这些工具来优化他们的工作流程。
|
Shell 网络安全 开发工具
Gerrit✨Gerrit服务器简介 与 配置SSH keys
Gerrit✨Gerrit服务器简介 与 配置SSH keys
|
人工智能 算法 vr&ar
在线GLTF模型材质编辑工具
模型材质贴图的作用是为三维模型赋予外观表面的纹理和颜色。它可以增加模型的细节、真实感和视觉效果,使得模型更具有逼真和吸引力。通过贴图,模型可以呈现出不同的材质,如金属、木材、布料等,并且能够模拟反射、阴影和光照效果,使模型在渲染过程中更加真实。贴图还可以用来描绘模型的细节纹理,例如皮肤的纹理、衣物的图案等。总之,模型材质贴图对于创造逼真的三维模型非常重要。
414 1
|
监控 安全 物联网
智能家居安全风险与防范措施
随着物联网技术的不断进步,智能家居系统已经越来越多地进入我们的生活。然而,随之而来的是各种安全问题和隐私泄露的风险。本文将深入探讨智能家居系统中存在的安全漏洞,分析黑客攻击的常见手段,并提出一系列有效的预防措施来保护我们的智能家居免受侵害。文章旨在提高用户对智能家居安全的认识,并指导如何构建一个更加安全的智能生活环境。
|
数据采集 Java
扩散模型及其在物理和社会科学中的应用
扩散模型及其在物理和社会科学中的应用
|
存储 前端开发 数据库
【软件设计师-从小白到大牛】下午题基础篇:第一章 数据流图(DFD)
顶层图上的数据流:是系统和外部实体之间的联系。而内部数据流在0层图中能体现,因为系统被细分了。 对于数据流图任意一个加工:都应该有输入和输出,箭头有进也有出;黑洞:只有输入,没有输出;奇迹(白洞):只有输出,没有输入。这两种都不符合客观事实。
790 0
数字孪生核心技术揭秘(四):大规模植被系统生成
世界真实性还原的持续提高,植被还原变成了一个刚需。 本文初步探讨数字孪生应用中植被系统的大规模生成思路,致力于生成中国全境地理分布比较真实合理的植被。
1522 1
|
前端开发 JavaScript 搜索推荐
Vue3项目框架搭建封装,一次学习,终身受益【万字长文,满满干货】(四)
Vue3项目框架搭建封装,一次学习,终身受益【万字长文,满满干货】
434 0
|
网络协议 安全 应用服务中间件
高性能网关基石——OpenResty
OpenResty 一个基于 Nginx 的高性能 Web 平台,能够方便地搭建处理超高并发的动态 Web 应用、 Web 服务和动态网关。例如有名的 Kong 网关和国产新秀 ApiSIX 网关都是基于 OpenResty 来进行打造的。 OpenResty 通过实现 ngx_lua 和 stream_lua 等 Nginx 模块,把 Lua/LuaJIT 完美地整合进了 Nginx,从而让我们能够在 Nginx 内部里嵌入 Lua 脚本,用 Lua 语言来实现复杂的 HTTP/TCP/UDP 业务逻辑,同时依然保持着高度的并发服务能力。
969 0