来源:Python数据之道

作者:Peter

整理:阳哥

用 Highcharts 绘制饼图,也很强大

前不久,分享了读者投稿的文章,较为综合的介绍了可视化库 Highcharts ,这个一个 JavaScript 下的可视化工具,同时也有 Python 版本。前文链接如下:

  • 又一个可视化神器Highcharts,Python版也有哦!

不少同学对这个工具感兴趣,今天来跟大家介绍下如何用这个工具来绘制饼图。大家可以对照自己常用的 Python 库,看看哪些工具更适合自己。

本文中介绍的是如何利用 python-highcharts 绘制各种饼图来满足不同的需求,主要包含:

  • 基础饼图

  • 单色+多色饼图制作

  • 带上图例+数据的饼图

  • 双层饼图的制作

  • 扇形饼图

基础饼图

首先我们看看整体的效果:

  • 可以很清晰地看到每个区块的名字

  • 当我们的光标移动到某个区块,能够看到该区块占的比例

整理的代码如下:

单色+多色饼图

上面的基础饼图在 Highcharts 中默认是每个区块的颜色是各不相同的,如果我们想每个区块的颜色是相同的,或者某几个区块的颜色是相同的,该如何操作呢?

单色饼图

首先看看整体的效果图:

整体的代码如下:从导入库到数据的添加设置、以及参数项的配置等

其中,重点的参数设置看这里:

Highcharts 中就是通过 Highcharts.getOptions().colors 来设置默认的颜色。我们改变下设置,绘制另一种颜色的饼图:

多色饼图

如果我们想某几个区块显示相同的颜色,可以设置相同的数值,首先看看具体的效果图:

可以看到我们将6个区块的颜色分成了3大类,就是通过上面的方法来实现的。如果我们设置成0-5的数值,即每个区块的颜色各不相同,那么就是基础饼图的样子

显示图例和数据的饼图

上面提到的各种饼图都是没有图例的,同时在区块中也没有直接显示原始数据,下面介绍方法来实现这两种效果:

图例和数据显示的代码设置:

双层饼图

上面介绍了各种单个饼图的制作,下面讲解如何利用 python-highcharts 制作双层饼图。看看整体的效果:

从上图中我们可以看到:主要是有5种颜色

  • 蓝色

  • 黑色

  • 绿色

  • 红色

  • 紫色

数据中显示每个大类中还有子类,比如:MSIE 父类中还有子类 MSIE6.0、MSIE7.0、MSIE8.0、MSIE9.0。现在我们看看代码中数据的显示:

可以很清晰地看到:先显示父级的数据,再显示子级的数据。整体的代码如下:

扇形图

上面介绍的都是如何制作各种饼图,下面介绍一种制作 扇形图 的方法。首先看看整体的效果:

上面显示了5个类别的数据,同时显示了图例,并且在扇形图中显示了数据。整体的代码如下:

重点的设置部分:

总结

本文结合各种实际案例介绍了如何利用 python-highcharts 来绘制各种不同需求的饼图或者扇形图。通过上面案例的介绍,我们发现使用 Highcharts 绘制图形的主要步骤如下:

  1. 导入我们需要的 Highcharts 库,再实例化一个 Highcharts 对象

  2. 数据项的配置:在绘图的时候,数据的配置也很重要。Highcharts中对数据格式要求还是挺高的,而且在数据中还可以对数据进行效果的设置

  3. 图形参数设置:这是整个绘图过程中 最为重要 的部分,主要是包含:图表类型chart(柱状图、饼图、折线图等)、标题title(主标题、副标题)、数据提示工具tooltip、绘图选型plotOptions等配置项的设置

  4. 添加数据项和配置项。在添加配置项的时候,我们可以对最终的图形进行一些效果设置。

最后是个人的一点感觉:利用 Highcharts 来进行绘图的确代码量很大,基本上画一个简单的饼图或者柱状图都需要大量的代码(相对其他自己使用的可视化库,比如 pyecharts、plotly_express 等)。

但是它的强大之处,应该是在于结合前端的知识,绘制更多动态效果的图形,让图形的可视化效果更美观

作者简介

Peter,硕士毕业僧一枚,从电子专业自学Python入门数据行业,擅长数据分析及可视化。喜欢数据,坚持跑步,热爱阅读,乐观生活。个人格言:不浮于世,不负于己

个人站点:www.renpeter.cn


往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑
本站qq群851320808,加入微信群请扫码:

【Python】用 Highcharts 绘制饼图,也很强大相关推荐

  1. 肝!用 Highcharts 绘制饼图,也很强大

    来源 / Python数据之道 作者/Peter   整理/阳哥 用 Highcharts 绘制饼图,也很强大 前不久,分享了读者投稿的文章,较为综合的介绍了可视化库 Highcharts ,这个一个 ...

  2. python读取Excel绘制饼图的两种方式

    python的两种数据作图方案 matplotlib简单方便,适合数据作图或科学作图(论文发表) pyecharts流程略复杂,但功能强大,图形具有交互式,适合项目开发或商业分析报告,但是它是一个非常 ...

  3. 运用highcharts绘制饼图

    1.引入架包:highcharts.js  jquery.min.js 2.前台绘制 <div class="panel-body" id="container&q ...

  4. html使用highcharts绘制饼图,html js highcharts绘制圆饼图表

    jquery实现饼状图效果 - 站长素材 var chart; $(function () { var totalMoney=999 var zccw=178 var sycw=821 $(docum ...

  5. html使用highcharts绘制饼图,饼图.html · 赵文博/Highcharts - Gitee.com

    Title * { margin: 0; padding: 0; border: 0; } #container { width: 100%; } $(function(){ $('#containe ...

  6. python polar函数_Python可视化很简单,可是你会吗?python绘制饼图、极线图和气泡图,让我来教教你吧,一文教会!!!...

    matplotlib库作为Python数据化可视化的最经典和最常用库,掌握了它就相当于学会了Python的数据化可视化,今天呢,咱们就一起来聊聊关于Python如何去绘制饼图.极线图和气泡图吧 好啦, ...

  7. python利用matplotlib做饼图_python利用matplotlib库绘制饼图的方法示例

    介绍 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当 ...

  8. python画相关性可视化图_Python可视化很简单,一文教你绘制饼图、极线图和气泡图...

    matplotlib库作为Python数据化可视化的最经典和最常用库,掌握了它就相当于学会了Python的数据化可视化,上次呢,已经和大家聊了关于柱状图.条形图和直方图相关的东东,相信大家已经掌握了哈 ...

  9. python画饼图存在的问题_Matplotlib 绘制饼图解决文字重叠的方法

    在使用Matplotlib 绘制饼图的时候有些时候一些数据的比列太小在饼图呈现的效果不明显 很容易被覆盖,为了解决这个问题以下就是我个人的心得. [未解决之前呈现的效果] 可以看到这个饼状图其他和硕士 ...

最新文章

  1. String Manipulation
  2. 北京理工大学python系列课程-北理工《Python语言程序设计》荣获中国最美慕课一等奖...
  3. 使用jquery-easyui写的CRUD插件(2)
  4. Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)【系列1】...
  5. 买理财撤单显示服务器忙,银行理财产品撤单后资金几时到账
  6. StringBuilder的原理
  7. idea左右切换页面 返回上一次鼠标位置
  8. TypeScript中怎么用接口(interface)描述类(静态部分与实例部分)
  9. Java之final详解
  10. java获取数组穷举_递归算法求解遍历(或穷举)问题
  11. 链表的翻转(迭代法 递归法)
  12. 你还在烦U盘记录该如何消除吗
  13. 21个js 技巧收藏
  14. 【优化调度】基于matlab遗传算法求解公交车调度优化问题【含Matlab源码 040期】
  15. Intellij IDEA创建maven项目无java文件问题
  16. 中国搜索20年:巨头百度的兴衰密码
  17. 必看 logit回归分析步骤汇总
  18. 百度网站统计和CNZZ网站统计对比
  19. 玩转这些视频制作软件,让你成为短视频高手
  20. 保姆级 | ChatGPT接入微信教程

热门文章

  1. 微信开发--one.微信平台验证
  2. iOS关于RunLoop和Timer
  3. 【转】Win7安装Oracle10g经验分享
  4. Object-C时间与字符串的转化 因多语言设置中造成返回Nil的解决方法
  5. 代腾飞(一读者再为IT诗人代腾飞名字作诗)
  6. c#.net 获取时间日期年月日时分秒生成自动文件名格式
  7. Python单元测试框架之pytest 3 -- fixtures
  8. CTO 比普通程序员强在哪?
  9. T-SQL and XML
  10. org.simpleframework.xml.core.Persister