目录

一、概念解释

二、数据导入

三、单指针仪表盘

四、参数解释

五、多指针仪表盘


一、概念解释

        仪表盘图(Gauge),这里指的并不是人力常用的多图表在同页面聚合排布的绘图方法。

仪表盘形似汽车车速表、油表,属于拟物化图形,总体为一个圆形开口的表盘及分段刻度,构成要件:一(多)个指针,指向和填充色都可以帮助数据的精细化显示,作用上和玉块图、环形进度图类似,用于展现单维定性数据的对比(单指针仪表盘和多指针仪表盘)。目前的话,很多实时数据监控网页会涵括这种图,当然,管理报告上也会用到这种图表,便于直观的表现出某个指标的进度或目标完成情况。

图形示例:


二、数据导入

一时间没有想到拿什么数据比较典型,就随机编制了一个分组年度销售数据用于模拟。

设置这么多的数值,是为了更贴近商业上的应用,给数据划分有意义的区间,但显然,我们更关注的还是AA组和BB组的今年销售总额情况。

接下来我们会分别绘制单指针和多指针的仪表盘图供大家参考。


三、单指针仪表盘

from pyecharts import options as opts
from pyecharts.charts import Gauge
import pandas as pd
data = pd.DataFrame(pd.read_excel('案例数据.xlsx'))for row in range(0,2):last = int(data['去年销售总额/万'][row])least = int(data['最低销售总额/万'][row])total = int(data['年度销售额目标/万'][row])now = int(data['今年销售总额/万'][row])c = (Gauge(init_opts=opts.InitOpts(bg_color='#2F4F4F')).add('2022/3/3',[(data['销售部组别'][row],now)],##输入两个(),操控多指针radius="73%", #仪表盘半径,默认75%title_label_opts=opts.LabelOpts(font_size=25, color="#FFFFFF"),split_number=8,min_ = 0, #最小刻度max_ = total, #最大刻度start_angle=220, #度数起点在正东方向,逆时针end_angle = -40,detail_label_opts=opts.LabelOpts(is_show=False), #是否显示540axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(color=[(least/total, '#00FF00'), (last/total, "#00CDCD"), (1, '#fd666d')], width=30, #仪表盘的条宽type_ = 'solid', #线型'solid'(默认), 'dashed', 'dotted'opacity = 1  #填充色透明度))).set_global_opts(title_opts=opts.TitleOpts(title='销售部年度销量',subtitle = '林老头ss',title_textstyle_opts = opts.TextStyleOpts(color='#FFFF00',font_size=30),subtitle_textstyle_opts={'color':'#D3D3D3','font_size':13},pos_left='center'),legend_opts=opts.LegendOpts(is_show=False)).render('仪表盘示例'+str(row)+'.html'))

代码长不是想传达图很难画的信息哈,只是希望把尽可能多常用的参数列出来讲解~

绘图结果:


四、参数解释

init_opts=opts.InitOpts():  调整绘图背景颜色(这里是墨绿)、绘图主题、绘图背景等等全局设置,应用可以去看一下同栏目的地图,雷达图部分。

add( 序列名称,[(数值1名称,数值1),(数值2名称,数值2)]):这一部分是提供绘图数据的,要注意以下几点:

1、保证数值1,数值2这些变量是int或者float型

2、数值1的取值可以是百分数,也可以是大于0的自然数(和min_,max_取值范围配对使用)

3、多指针情况下,list需要输入多个(名称,取值)元组。

乍一看,图形并没有显示我们的"2022/3/3",但如果我们把光标移动到指针部位:

 ③radius, title_label_opts=opts.LabelOpts(font_size=25, color="#FFFFFF") :

radius用于确定仪表盘的圆半径,取百分数x%表明取值为长宽中较小值的x%,这里一般是宽。

labelopts设定的是数值名称(AA组,BB组)的形状参数。

④start_angle,end_angle : 度数起点0°在正东方向,逆时针升序。

⑤detail_label_opts=opts.LabelOpts(is_show=False) :如果是True的话,显示的detaillabel是我们的数值。

 ⑥ linestyle_opts=opts.LineStyleOpts():这里主要讲一下color的设置,如果我们根据程度要划分为四个区间[0,a%],(a%,b%],(b%,c%],(c%,1],必须是总长度的百分比取值,对应区间的填充色定义为c1~c4。

那么我们要输入的color格式为:(区间右端点取值,区间颜色)

       color = [(a% 'c1'),(b%,'c2'),(c%,'c3'),(1,'c4')]

⑦ subtitle/title_textstyle_opts: 修改主副标题的形状参数,注意有以上两种输入格式。


五、多指针仪表盘

from pyecharts import options as opts
from pyecharts.charts import Gaugec = (Gauge(init_opts=opts.InitOpts(bg_color='#2F4F4F')).add('销售部门',[('AA组',540),('BB组',395)],radius="75%",title_label_opts=opts.LabelOpts(font_size=25, color="#FFFFFF"),split_number=10,min_ = 0, #最小刻度max_ = 600, #最大刻度start_angle=225,end_angle = -45,detail_label_opts=opts.LabelOpts(is_show=False),#多指针下只显示第一个数值,建议false axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(color=[(0.3, 'white'),(0.5,'#00FF00'),(0.8, "#00CDCD"),(1, '#fd666d')], width=30,))).set_global_opts(title_opts=opts.TitleOpts(title='销售部年度销量',subtitle = '林老头ss',title_textstyle_opts = opts.TextStyleOpts(color='#FFFF00',font_size=30),subtitle_textstyle_opts={'color':'#D3D3D3','font_size':13},pos_left='center'),legend_opts=opts.LegendOpts(is_show=False)).render('仪表盘示例.html'))

绘图结果:

希望对您有所帮助~

利用Pyecharts绘制仪表盘图的案例【含参数解释】相关推荐

  1. 利用Pyecharts绘制漏斗图的案例【含参数详解】

    一.概念介绍 漏斗图(Funnel),也称为倒三角图,借助echarts的解释如下: Funnel diagram is suitable for one-way analysis of single ...

  2. 利用pyecharts绘制水球图的案例

    一.概念介绍 水球图(Liquid Fill Chart),听名字或许比较陌生,但从命名的角度也可以猜测出此类图像以球形水波显示.水球图属于填充仪表盘类,可以用于生动地展示单个百分比数据或评分数据. ...

  3. 利用pyecharts绘制分级地图的案例

    一.概念介绍 分级统计地图,或许在以前大家还不常见,但是疫情期间,借助分级地图向我们呈现全国各省市风险地区情况.确诊或死亡人数情况等的应用还是数不胜数的,效果也让人一目了然.显然,分级地图即是在我们整 ...

  4. 利用matplotlib绘制圆环图的案例

    一.概念介绍 圆环图(Donut Chart),又称为环形图,甜甜圈图.它从饼图变形而来,单环的作用上与饼图相似,用于展示定性数据中小类占大类的比例关系. Q: 那既然都有饼图了,为什么还要圆环图呢? ...

  5. 利用matplotlib绘制马赛克图的案例

    一.概念介绍 马赛克图(Mosaic plot),基于列联表的数据排布,展现二维定性变量下的取值大小,我们可以将它想象成三维柱状图的俯视,颜色差异或面积大小常被用于区分每个块的赋值大小. · 什么是列 ...

  6. 利用Joypy绘制嵴线图的案例

    一.概念介绍 嵴线图(ridgeline plot),用来展示同一维度的几个数据的分布情况,每一层嵴线(峰峦)都是一个直方图或者密度图,层层堆叠形成了最终的嵴线图. · 嵴线图一般用于多类别(> ...

  7. 利用pyecharts绘制桑葚图

    月末算总账-桑基图绘制 本文中介绍的是如何制作桑基图,使用的可视化库是强大的Pyecharts(版本1.7.1,版本一致很重要).文章将从如下几个方面进行介绍: 什么是桑基图 2个官网demo 原始数 ...

  8. Python之pyecharts:利用pyecharts绘制地图十多个地区流动轨迹动态图

    Python之pyecharts:利用pyecharts绘制地图十多个地区流动轨迹动态图 目录 利用pyecharts绘制地图十多个地区流动轨迹动态图 Geo(GeoChartBase)函数 相关文章 ...

  9. 如何利用pyecharts绘制炫酷的关系网络图?

    如何利用pyecharts绘制炫酷的关系网络图 这是本学期在大数据哲学与社会科学实验室做的第六次分享了. 第一次分享的是: 如何利用"wordcloud+jieba"制作中文词云? ...

最新文章

  1. 两个小技巧,马上加快上网速度
  2. 计算机在线作业题,中医大计算机在线作业及答案-20210412090026.docx-原创力文档
  3. 史上最全的Chrome使用技巧集锦
  4. 关闭钩子(ShutdownHook)
  5. mysql 统计 邮箱_mysql查询之 连续出现的数字,重复出现的邮箱,删除重复的电子邮箱...
  6. 使用 Dapr 缩短软件开发周期
  7. 白盒测试方法静态分析_静态分析的教育方面
  8. dns 320 linux,linux 下 dns服务器(三 配置篇)
  9. 技术或运营的妥协/退让场景
  10. 网站布局中遇到的一些问题
  11. 《C语言及程序设计》实践参考——输出小星星(全解)
  12. android thread线程通讯
  13. java虚拟机 什么语言_Java虚拟机是用什么语言写的?
  14. 互斥机制synchronized学习
  15. win10添加计算机语言,win10输入法,详细教您怎么在win10里添加输入法
  16. Android 腾讯Bugly热更新笔记
  17. NAS存储忘记密码如何解决?
  18. 腾讯大牛给予Java初学者的学习建议
  19. 计算机基础-数据存储
  20. nginx url实现二次转发

热门文章

  1. 嵌入式商业智能报表Wyn Enterprise v4.1:支持SaaS租户和分级组织管理
  2. 在国内市场,外汇到底能不能做?外汇合法吗?
  3. IDEA中的pom.xml文件变成了橙色
  4. 智慧城市的发展动力、推动因素、负面影响、挑战与应对
  5. CloudCompare源码分析之ccViewer模块:视图类一(阅读经典)
  6. 一万字一篇文20分钟学会C语言和Python,十四年编程经验老鸟传授经验之道
  7. 微软云-Azure使用避坑宝典(1)
  8. Python数据分析实战之物流行业数据分析
  9. 睿赛德科技(RT-Thread)宣布完成A轮融资
  10. 对java的粗浅理解