iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python用pyecharts画矩形树图实例
  • 346
分享到

python用pyecharts画矩形树图实例

2024-04-02 19:04:59 346人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、概念介绍二、数据展示三、数据导入四、图像绘制 五、树形结构总结一、概念介绍 矩形树图(Treemap),即矩形式树状结构图,利用矩形的面积表示数值的大小,颜色用于类

一、概念介绍

矩形树图(Treemap),即矩形式树状结构图,利用矩形的面积表示数值的大小,颜色用于类别区分,常用于呈现多类别的一维数值比较,易读性强;基于树状的功能,在结构图中可以同时呈现数据层次的信息。

示例如下:

· 对比常见的柱状图和条形图,矩形树图弥补了以下三个缺点:

1、当我们的数据是多类别且每个类别只有一个数值时,我们用柱状图会浪费很多的空间,而且显得单调。

2、当数据间差异较大(235 vs 18),会是对我们柱状图的纵坐标设定带来困扰,忽略极差会稀释我们小值类的差异。(当然 ,如果我们的大值只有那么一两个,可以单拎出来处理)

3、柱状图无法呈现数据间的层级结构

二、数据展示

我们的目的是为了呈现类间数值大小差异,如果有第二层,也顺便比较第二层的占比情况。

为了展示多各类别,我们利用的是省份的数据,excel表格中呈现如下:

 第二层、第三层为了树状的呈现而随机生成,也是为了说明,树层结构并不要求每个节点都有枝叶。

三、数据导入

我们先绘制只有一维的,只需要输入【省份】【关注类】两个列,这个其实更常用一点(我的角度)

province_type1 = pd.DataFrame(pd.read_excel('./各省市上市公司个数/矩形树图示例.xlsx'))
tree = []
name = [province_type1['省份'][i]+'\n'+str(province_type1['关注类A'][i]) for i in range(len(province_type1))]
for i in range(len(province_type1)):
    dic = {}
    dic["value"],dic["name"] = int(province_type1['关注类A'][i]),name[i]
    tree.append(dic)

①name--列表型数据结构,用于存放每个数据的label,这里我为了同时呈现数据对应的省份和大小,中间用了换行符(不用的话,在我们的树图上是一行,不好看)

②绘制矩形树图需要的是list,list里面是字典,key名指定为"name","value"。

③一定要注意的是,如果你画出来的图没有数据或者没有显示,检查是不是读excel数据中出现了问题,即上述代码中int的位置。

用于绘制treemap的数据结构如下所示:

四、图像绘制 

tm = (
      TreeMap()
      .add("关注类A",tree)
      .set_series_opts(label_opts=opts.LabelOpts(position='inside'))
      .set_global_opts(title_opts=opts.TitleOpts(title = '',subtitle = '2022/1/18-林老头ss'))
      )
 
tm.render('./绘图结果/矩形树图-例一.html')

position---指定label,即我们的name的位置,inside会居中显示。如果不加,默认top,在每个矩形上方显示。

结果如下所示:

 由上图可知,广东省、浙江省和江苏省在随机数据中排名前三。受显示区域的限制,数据较小或名字过长的矩形往往不能显示完全,需要交互式放大其数值。

五、树形结构

在加入树形结构后,我们需要在代码中相应增加key为“children"的数据

from pyecharts.charts import Page,TreeMap
from pyecharts import options as opts
import pandas as pd
import math
province_type1 = pd.DataFrame(pd.read_excel('./矩形树图示例.xlsx'))
tree = []
name = [province_type1['省份'][i]+'\n'+str(province_type1['关注类A'][i]) for i in range(len(province_type1))]
for i in range(len(province_type1)):
    dic = {}
    dic["value"],dic["name"] = int(province_type1['关注类A'][i]),name[i]
    if math.isnan(province_type1['关注类A-1'][i]) ==0:
        dic["children"] = [
                            {"name":province_type1['省份'][i]+"A-1:"+str(province_type1['关注类A-1'][i]),"value":int(province_type1['关注类A-1'][i])},
                            {"name":province_type1['省份'][i]+"A-2:"+str(province_type1['关注类A-1'][i]),"value":int(province_type1['关注类A-2'][i])}
                         ]
    if math.isnan(province_type1['关注类A1-1'][i]) ==0:
        dic["children"][0]["children"] = [
                                        {"name":"A1-1:"+str(province_type1['关注类A1-1'][i]),"value":int(province_type1['关注类A1-1'][i])},
                                        {"name":"A1-2:"+str(province_type1['关注类A1-1'][i]),"value":int(province_type1['关注类A1-2'][i])}
                                        ]
    tree.append(dic)
 
tm = (
      TreeMap()
      .add("关注类A的树",tree)
      .set_series_opts(label_opts=opts.LabelOpts(position='inside'))
      .set_global_opts(title_opts=opts.TitleOpts(title = '加油呀朋友们~',subtitle = '2022/1/18-林老头ss'))
      )
 
tm.render('./绘图结果/矩形树图-例二.html')

 如果没有枝叶的类,则不需要在"name""value"平级上加"children",如果枝叶中有两个以上类别,相当于是一个新的树,需要增加“children”,结构和树形一致,如下所示:

【“name”:“父节点”,

    "value": number,

   "children":【{“name”:“子节点一”,“value”:number},

                       {“name”:“子节点二”,“value”:number},

                       {“name”:“子节点三”,“value”:number}

                     】

子序列在显示区域允许的情况下,可以继续按上述结构增加。

绘制结果如下所示:

从上图我们可以看到,尽管我们为父类命名,但显示的结果只有最小类的名称和数值。

pyecharts图像交互性较强,可以通过点击不断聚焦类,放大图像,但由于不知道怎么呈现给大家,还是鼓励大家自己动手操作去探索叭~

总结

到此这篇关于python用pyecharts画矩形树图实例的文章就介绍到这了,更多相关Python pyecharts画矩形树图内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python用pyecharts画矩形树图实例

本文链接: https://www.lsjlt.com/news/163179.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python用pyecharts画矩形树图实例
    目录一、概念介绍二、数据展示三、数据导入四、图像绘制 五、树形结构总结一、概念介绍 矩形树图(Treemap),即矩形式树状结构图,利用矩形的面积表示数值的大小,颜色用于类...
    99+
    2024-04-02
  • python怎么用pyecharts画矩形树图
    小编给大家分享一下python怎么用pyecharts画矩形树图,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、概念介绍矩形树图(Treemap),即矩形式树状结构图,利用矩形的面积表示数值的大小,颜色用于类别区分,常用...
    99+
    2023-06-28
  • python用pyecharts画地图实例介绍
    版本pyecharts 分为 v0.5.X 和 v1 两个大版本,v0.5.X 和 v1 间不兼容,v1 是一个全新的版本 v0.5.X支持 Python2.7,3.4+v1仅支持 ...
    99+
    2024-04-02
  • python画条形图实例
    本文实例为大家分享了python画条形图的具体代码,供大家参考,具体内容如下 在做毕设的过程中有些数据用表格来展现,会很难看出数据之间的差别,凸显不出数据的特点,所以想制作一个条形图...
    99+
    2024-04-02
  • 一文速学Python+Pyecharts绘制树形图
    目录前言一、Tree树图二、数据处理前言 之前写pandas和matplotlib的时候说到了想要出一期Pyechart系列数据可视化的文章。比起matplotlib,pyeacha...
    99+
    2023-02-17
    Python Pyecharts绘制树形图 Python绘制树形图 Python Pyecharts
  • python利用json和pyecharts画折线图实例代码
    目录一.json模块对数据进行处理 二.利用pyecharts画折线图 三.利用pyecharts画美、日、印三国家折线图 四.本文数据集 注:本次实验...
    99+
    2022-12-26
    python利用json和pyecharts画折线图 python画折线图
  • Python怎么使用pyecharts绘制箱形图
    这篇文章主要介绍“Python怎么使用pyecharts绘制箱形图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python怎么使用pyecharts绘制箱形图”文章能帮助大家解决问题。箱形图概念后...
    99+
    2023-07-02
  • Python应用之利用pyecharts画中国地图
    目录1、安装pycharts包的安装在绘制地图时,需要导入相应的地图文件包2、绘制地图pyecharts的坑---“画图不显示“下面为大家举个例子原因如下这段...
    99+
    2024-04-02
  • 怎么用python画条形图
    这篇文章主要介绍“怎么用python画条形图”,在日常操作中,相信很多人在怎么用python画条形图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用python画条形图”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-30
  • Python+OpenCV实现在图像上绘制矩形
    话不多说,直接上代码 import copy import cv2 import numpy as np WIN_NAME = 'draw_rect' class Rec...
    99+
    2024-04-02
  • 使用c++实现OpenCV绘制旋转矩形图形
    目录功能函数测试代码测试效果  功能函数 // 绘制旋转矩形 void DrawRotatedRect(cv::Mat mask,const cv::RotatedRe...
    99+
    2024-04-02
  • 如何使用Python画几何图形动画
    要使用Python来绘制几何图形动画,你可以使用一些库来帮助你完成这个任务,如matplotlib、pygame或turtle。下面...
    99+
    2023-08-20
    Python
  • python画一个圣诞树实现示例
    目录前言效果展示功能模块总结前言 我们上一篇博客,给大家展现了一个动态的爱心。今天,我们给大家画一个圣诞树,我们一起来看看效果吧。 效果展示 我们先来看看最终的效果看看我们画的圣诞树...
    99+
    2023-05-19
    python画圣诞树 python 圣诞树
  • 用Python画圣诞树代码示例
    拿去给自己所思所念之人 from turtle import * import time setup(500, 500, startx=None, starty=None) ...
    99+
    2024-04-02
  • 怎么用Python中的turtle画箭头,矩形,五角星
    本文小编为大家详细介绍“怎么用Python中的turtle画箭头,矩形,五角星”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用Python中的turtle画箭头,矩形,五角星”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来...
    99+
    2023-06-29
  • Python pyecharts实时画图自定义可视化经纬度热力图
    目录背景基于pyecharts内置经纬度的热力图基于自定义经纬度的热力图pyecharts库缺点不同地图坐标系区别WGS-84 - 世界大地测量系统GCJ-02 - 国测局坐标BD-...
    99+
    2024-04-02
  • Python利用Turtle绘画简单图形
    目录前期准备基本函数与用法绘画图形1.画一个正方形2.画一个三角形3.画一个八角星4.画一个八边形5.其他图形No.1、多彩的五角星No.2、多彩的八角星No.3、四圆镶嵌No.4、...
    99+
    2024-04-02
  • Python+OpenCV如何实现在图像上绘制矩形
    小编给大家分享一下Python+OpenCV如何实现在图像上绘制矩形,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!代码import copyimport cv2import numpy&nbs...
    99+
    2023-06-29
  • Echarts实例教程之树形图表的实现方法
    树图主要用来可视化树形数据结构,是一种特殊的层次类型。 实现方法,将series->type设置为tree。 Echarts的树形图表,可以是正交的,也可以是径向的。 正交树:...
    99+
    2024-04-02
  • python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
    目录实现方法1)画线段 cv.line2)画圆形 cv.circle3)画矩形 cv.rectangle4)画椭圆形 cv.ellipse5)添加文本 cv.putText最近学了下...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作