新闻详情

新闻详情

首页 / 资讯中心 / 详情

探索Plotly:如何用柱状图展示复杂数据

发布时间:2026/10/1 3:00:22来源:尧图网络
探索Plotly:如何用柱状图展示复杂数据
这是第二款关于开源图形库的介绍。现在, 我们这一节还是要接着去继续研究一下, 库里面那些其他的几种类型的图, 它们到底是用一种什么样的方式给构建起来的。这节当中所主要涉及到的内容, 是对于一些柱状图的基本使用方法的展示。1.柱状图在开始绘制图像这个步骤之前, 我们首要的任务是先把准备好的那些数据给导入到程序里面去, 至于具体用什么样的数据呢, 这里选择用的是官方那边直接提供给我们的一个示例情况, 这个示例是关于咱们国家在每一年当中的生产总值还有人口数量这两个方面数据的。# 导入数据import plotly.express as pxdata px.data.gapminder() # 导入自带的数据data_canada data[data[country] China] # 筛选国家的数据data_canada.head()最终能够获取到下述的相关数据信息。而后我们着手进行图形的绘制工作, 针对柱状图这一种图表类型来说, 其操作的关键点在于明确界定横轴与纵轴所要代表的含义, 具体来说, 需要设定纵坐标指向人口数量数据内容, 同时要设定横坐标对应年份时间序列相关的数据项:# 导入数据fig px.bar(data_canada, xyear, ypop)fig.show()在这里, 我们可以看到人口数量呈现出逐年递增的趋势, 这种展示方式显得非常直观。这也是柱状图所具备的一个明显优势。尤其是在面对涉及时间序列数据的情况时, 使用柱状图能够更加有效地帮助我们分析和把握数据变化的具体状况。我们有时候为了标注一些特殊的数据, 更清晰的突出重点, 可以对柱状图标色, 下面我们会单独对人均寿命, 人均国内总值进行显示, 主结构还是年份与人口数。import plotly.express as pxdata px.data.gapminder() # 导入自带的数据data_canada data[data[country] China] # 筛选数据fig px.bar(data_canada,xyear,ypop,hover_data[人均寿命, 人均国内生产总值], # 鼠标点击时的浮动数据colorlifeExp, # 用预期寿命涂色labels{pop:人口数}, # 修改变量名height400 # 修改图片尺寸)fig.update_layout(title 中国人口) # 加入标题fig.show()运行程序之后, 屏幕上就会出现下面这个柱状图的显示画面。咱们接下来去瞧一瞧柱状图, 它还有另一种叫做组合的表现形式, 这其中包括了分组柱状图以及堆积柱状图这两类。分组柱状图import plotly.graph_objects as goanimals[狮子, 老虎, 猴子]fig go.Figure(data[go.Bar(name重庆动物园, xanimals, y[20, 14, 23]), # name是区分不同组的最主要参数go.Bar(name北京动物园, xanimals, y[12, 18, 29])])# Change the bar modefig.update_layout(barmodegroup) # 设置分组方式这里显示为并列fig.show()请把下面的这张图示展示出来。在此处添加图片以展示相关描述。堆积柱状图import plotly.graph_objects as goanimals[狮子, 老虎, 猴子]fig go.Figure(data[go.Bar(name重庆动物园, xanimals, y[20, 14, 23]),go.Bar(name北京动物园, xanimals, y[12, 18, 29])])# Change the bar modefig.update_layout(barmodestack) # 设置分组方式为堆积fig.show()得到2.柱状图的高级用法为了那个柱状图, 我们来添加对应的标注信息。import plotly.graph_objects as gox [Product A, Product B, Product C]y [20, 14, 23]fig go.Figure(data[go.Bar(xx, yy,texty,textpositionauto, # 标注位置自动调整)])fig.show()关于 text这个参数的数值大小方面, 咱们能够通过调用下述所给出的方法来进行相应的调整工作。其中, 那个东西可以用来对最小尺寸实施调整, 而另一个功能则是用来针对那些不符合规范准则的数字内容进行显现或者隐蔽操作的设定工作。我在这一处进行了筛选操作, 针对的是来自欧洲各个国家的人口统计数据。import plotly.express as pxdf px.data.gapminder().query(continent Europe and year 2007 and pop 2.e6)fig px.bar(df,ypop,xcountry,textpop)fig.update_traces(texttemplate%{text:.2s}, textpositionoutside)fig.update_layout(uniformtext_minsize2, uniformtext_modehide)fig.show()这里用了一个fig ()方法, 该方法可用于调整柱状图和文字的显示格式以及显示的位置。我们还能把坐标轴旋转, 具体做法比如使用 fig.(-45) 这个参数, 让坐标轴旋转四百五十度。除此之外, 我们还可以通过实际操作来进行自定义颜色的设置, 另外还可以调整宽度的数值。import plotly.graph_objects as gocolors [lightslategray,] * 5colors[1] crimsonfig go.Figure(data[go.Bar(x[Feature A, Feature B, Feature C,Feature D, Feature E],y[20, 14, 23, 25, 22],marker_colorcolors # 颜色可以使单个颜色标量或者和数据维度一致)])fig.update_layout(title_textLeast Used Feature)fig go.Figure(data[go.Bar(x[1, 2, 3, 5.5, 10],y[10, 8, 6, 4, 2],width[0.8, 0.8, 0.8, 3.5, 4] # 自定义宽度)])fig.show()以及还有我们自定义柱的展示顺序import plotly.graph_objects as gox[b, a, c, d]fig go.Figure(go.Bar(xx, y[2,5,1,9], nameMontreal))fig.add_trace(go.Bar(xx, y[1, 4, 9, 16], nameOttawa))fig.add_trace(go.Bar(xx, y[6, 8, 4.5, 8], nameToronto))fig.update_layout(barmodestack, xaxis{categoryorder:category ascending}) # 字母表升序fig.show()得到结果3:总结通过观察上述示例, 我们可以发现柱状图具备一个显著的优势, 这种优势体现在其能够十分清晰地展示出存在不同类别或者不同组别之间的差异情况, 这使得我们能够方便地对数据的大小以及发展趋势进行比较操作, 同时它也呈现出一种易于被理解与便于进行解释的特点。它的问题在于, 倘若类别或者是分组变得特别庞大, 那么这幅图表就会出现非常拥挤的状况, 从而导致使用者在阅读起来变得非常困难,同时在进行比较的时候也会感到难以操作。这一点, 柱状图和折线图它们两个看起来就很类似。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

MATLAB排障实战指南:从安装激活到性能优化的全流程解法 2026/10/1 4:02:41

MATLAB排障实战指南:从安装激活到性能优化的全流程解法

做MATLAB排障这些年,我最大的体会是:大多数人卡住不是因为问题真的多难,而是没建立排查思路。装不上、打不开、报错堆栈刷屏、内存炸掉、图出不来——这些状况翻来覆去就那么几类,你只要按套路走一遍,九成问题都能自己…

阅读更多 →
C# Array与List深度解析:从CLR内存模型到性能与选型 2026/10/1 4:02:41

C# Array与List深度解析:从CLR内存模型到性能与选型

上周和一位读者复盘他的面试过程,技术面第一题就是“Array和List有什么区别”。他当时脑子里闪过无数资料,最后憋出一句“数组长度固定,List长度可变”。说完自己都知道太浅了,面试官也只是点了点头,没追问&#xff0c…

阅读更多 →
小绿叶蝉目标检测数据集:从数据体检到YOLOv8训练与切片推理 2026/10/1 4:02:34

小绿叶蝉目标检测数据集:从数据体检到YOLOv8训练与切片推理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Java Jar打包成Exe完全指南:jpackage、Launch4j与GraalVM对比 2026/10/1 4:02:27

Java Jar打包成Exe完全指南:jpackage、Launch4j与GraalVM对比

1. 为什么要把 jar 打包成 exe 应用程序1.1 真实场景:给用户一个能双击就用的文件把 Java 程序分发给非技术用户,最头疼的从来不是写代码,而是“jar 到底怎么打开”。我早些年给单位写了一个内部数据清洗工具,功能做完了&#xff…

阅读更多 →
Docker Swarm负载均衡与自动扩缩容实战:原理、实践与踩坑 2026/10/1 4:02:27

Docker Swarm负载均衡与自动扩缩容实战:原理、实践与踩坑

如果你在一台服务器上用docker service create起了个服务,想当然地认为 Swarm 的负载均衡是开箱即用、自动扩缩容无非是docker service scale敲两下就完事,那后面踩坑的肯定是你。我在生产环境维护 Docker Swarm 集群这几年,最大的体会就是&a…

阅读更多 →
从零手搓AI工程化流程:模型部署、性能优化与监控实战 2026/10/1 4:02:27

从零手搓AI工程化流程:模型部署、性能优化与监控实战

1. 为什么我要从零手搓一套AI工程化流程第一次看到ai-engineering-from-scratch这个项目名的时候,我正被公司里那套“祖传”的模型部署脚本折磨得够呛。一个文本分类模型,从训练完到真正能在线上扛住流量,中间隔了整整三个团队、五份文档和无…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉