Pyecharts数据可视化(三)

news2025/1/19 11:05:10

目录

1.绘制词云图

2.绘制桑基图

3.绘制平行坐标图

4.绘制结点图

5.绘制地图

本文主要介绍了如何利用Pyecharts绘制词云图、桑基图、平行坐标图、节点图和地图,虽然这些图平时不是很常用,但是看起来还是比较好看的,如果放在论文当中,相信可以让论文更上一层楼。

1.绘制词云图

Pyecharts使用WordCloud绘制词云图。

from pyecharts import options as opts
from pyecharts.charts import Page, WordCloud
from pyecharts.globals import SymbolType
words = [
    ("牛肉面", 7800),("黄河", 6181),
    ("《读者》杂志", 4386), ("甜胚子", 3055),
    ("甘肃省博物馆", 2055),("莫高窟", 8067),("兰州大学", 4244),
    ("西北师范大学", 1868),("中山桥", 3484),
    ("月牙泉", 1112),("五泉山", 980),
    ("五彩丹霞", 865),("黄河母亲", 847),("崆峒山",678),
    ("羊皮筏子", 1582),("兴隆山",868),
    ("兰州交通大学", 1555),("白塔山", 2550),("五泉山", 2550)]
c = WordCloud()
c.add("", words, word_size_range=[20, 80])
c.set_global_opts(title_opts=opts.TitleOpts(title="WordCloud-基本示例"))
c.render_notebook()

结果图:

2.绘制桑基图

桑基图也称为桑基流图或桑基能量图,是一种用于可视化流量、转移或关系的图表类型。它主要由节点(node)和边(link)组成,节点代表一个实体或者一组实体,边表示在节点间的流动或转移。桑基图在展示数据流向和比例的同时,能够清晰地呈现各个节点之间的关系和互动。

from pyecharts import options as opts
from pyecharts.charts import Sankey
# 节点数据
nodes = [
    {'name': '男生'},
    {'name': '女生'},
    {'name': '打游戏'},
    {'name': '加班'},
    {'name': '追剧'},
]

# 边数据
links = [
    {"source": '男生', "target": '打游戏', "value": 30},
    {"source": '男生', "target": '加班', "value": 20},
    {"source": '女生', "target": '打游戏', "value": 40},
    {"source": '女生', "target": '加班', "value": 15},
    {"source": '女生', "target": '追剧', "value": 25},
]
sankey = (
    Sankey()
    .add(
        "",
        nodes,
        links,
        linestyle_opt=opts.LineStyleOpts(opacity=0.2, curve=0.5, color="source"),
        label_opts=opts.LabelOpts(position="right"),
        node_gap=25
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title="男生女生兴趣分布"),
        tooltip_opts=opts.TooltipOpts(trigger="item", trigger_on="mousemove"),
    )
)
sankey.render_notebook()

结果图:

3.绘制平行坐标图

平行坐标图(Parallel Coordinates Plot)是一种多维数据可视化方法,用于可视化具有多个数值型变量的数据集。它通过在平行的直线上绘制多个坐标轴,每个轴代表一个变量,将每个数据点映射到这些坐标轴上的相应位置,以展示多个变量之间的关系和趋势。

from pyecharts import options as opts
from pyecharts.charts import Parallel
import numpy as np
import seaborn as sns
data=sns.load_dataset('iris')
data1=np.array(df[['sepal_length','sepal_width','petal_length','petal_width']]).tolist()
parallel_axis=[{"dim":0,"name":"萼片长度"},
               {"dim":1,"name":"萼片宽度"},
               {"dim":2,"name":"花瓣长度"},
               {"dim":3,"name":"花瓣宽度"},
              ]
parallel=Parallel(init_opts=opts.InitOpts(width='600px',height='400px'))
parallel.add_schema(schema=parallel_axis)
parallel.add('iris平行坐标图',data=data1,linestyle_opts=opts.LineStyleOpts(width=4,opacity=0.5))
parallel.render_notebook()

结果图:

4.绘制节点图

节点图(Node Link Diagram),也被称为网络图(Network Diagram)或关系图(Graph),是一种用于可视化节点(也称为顶点)和它们之间连接(也称为边)的图表。节点图常用于表示复杂的关系、网络或系统。在节点图中,节点表示实体或对象,如人、地点、物品等,而连接则表示节点之间的关系或连接方式。连接可以是有向的或无向的,具体取决于节点间的关系性质。

from pyecharts import options as opts
from pyecharts.charts import Graph

nodes = [
    {"name": "A"},
    {"name": "B"},
    {"name": "C"},
    {"name": "D"},
    {"name": "E"},
    {"name": "F"},
]

links = []
for i in range(len(nodes)):
    for j in range(i+1, len(nodes)):
        links.append({"source": nodes[i]["name"], "target": nodes[j]["name"]})

graph = (
    Graph()
    .add("", nodes, links, repulsion=800, layout="force", is_draggable=True)
    .set_global_opts(title_opts=opts.TitleOpts(title="Relationship Graph"))
    .render("relationship_graph.html")
)

结果图:

5.绘制地图

绘制全国主要城市航班流动图

from pyecharts import options as opts 
from pyecharts.charts import Geo 
from pyecharts.globals import ChartType, SymbolType

c = (
        Geo()
        .add_schema(maptype="china")
        .add( "",
            [ ("哈尔滨", 66), ("重庆", 88), ("上海", 100), ("乌鲁木齐", 30),("北京", 30),("兰州",170)],
            type_=ChartType.EFFECT_SCATTER,
            color="green",
        )
        .add(
            "geo",
            [("北京", "兰州"),( "兰州","北京"), ("重庆", "杭州"),("哈尔滨", "重庆"),("乌鲁木齐", "哈尔滨")],
            type_=ChartType.LINES,
            effect_opts=opts.EffectOpts(
                symbol=SymbolType.ARROW, symbol_size=6, color="blue"
            ),
            linestyle_opts=opts.LineStyleOpts(curve=0.2),
        )
        .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
        .set_global_opts(title_opts=opts.TitleOpts(title="主要城市航班路线和数量"))
    )

c.render_notebook()

结果图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/967137.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

leetcode793. 阶乘函数后 K 个零(java)

阶乘函数后 K 个零 题目描述二分法代码模拟 题目描述 难度 - 困难 阶乘函数后 K 个零 f(x) 是 x! 末尾是 0 的数量。回想一下 x! 1 * 2 * 3 * … * x,且 0! 1 。 例如, f(3) 0 ,因为 3! 6 的末尾没有 0 ;而 f(11) 2 &#xf…

Bito使用手册

第一步:输入网站 https://alpha.bito.co/bitoai/ 第二步:填写邮箱 第三步:登录邮箱,获取验证码 第四步:填写验证码 第五步:完成

Scala的函数式编程与高阶函数,匿名函数,偏函数,函数的闭包、柯里化,抽象控制,懒加载等

Scala的函数式编程 函数式编程 解决问题时,将问题分解成一个一个的步骤,将每个步骤进行封装(函数),通过调用这些封装好的步骤,解决问题。 例如:请求->用户名、密码->连接 JDBC->读取…

zabbix监控平台部署

目录 前言 一、zabbix的基本概述 (一)、zabbix的工作流程 (二)、zabbix的构成 (三)、zabbix的监控对象 (四)、zabbix的常用术语 (五)、zabbix进程详解…

植物根系基因组与数据分析

1.背景 这段内容主要是关于植物对干旱胁迫的反应,并介绍了生活在植物体内外以及根际的真菌和细菌的作用。然而,目前对这些真菌和细菌的稳定性了解甚少。作者通过调查微生物群落组成和微生物相关性的方法,对农业系统中真菌和细菌对干旱的抗性…

windows 2012服务器配置nginx后无法访问域名的问题

环境:Windows 2012 R2 Nginx 问题:确认域名解析到服务器ip已生效(通过ping域名地址确认域名已指向该ip),确认nginx配置无误(绑定域名、配置端口、配置网站文件目录),但无法从外网访…

6年打工人,我的所见、所想、所感。

咪哥杂谈 本篇阅读时间约为 7 分钟。 1 前言 本篇文章全部基于个人心得总结,欢迎大家讨论,无论是赞同还是反对,所有观点均接受。 原本是 5 周年打工人的心得,愣是让我拖了一年变成了 6 周年心得。 最近一年多一直投身于区块链行业…

vue的第2篇 开发环境vscode的安装以及创建项目空间

一 环境的搭建 1.1常见前端开发ide 1.2 安装vs.code 1.下载地址:Visual Studio Code - Code Editing. Redefined 2.进行安装 1.2.1 vscode的中文插件安装 1.在搜索框输入“chinese” 2.安装完成重启,如下变成中文 1.2.2 修改工作区的颜色 选中[浅色]…

回复:c#的Winform如何让ComboBox不显示下拉框?https://bbs.csdn.net/topics/392565412

组合框.Parent this;组合框.Items.AddRange(new object[] { "111", "222", "333", "444" });组合框.DropDownHeight 1;组合框.SelectedIndex 0;//组合框.DropDownStyle ComboBoxStyle.Simple; ComboBox 组合框 new ComboBox();Li…

编写中间件以用于 Express 应用程序

概述 中间件函数能够访问请求对象 (req)、响应对象 (res) 以及应用程序的请求/响应循环中的下一个中间件函数。下一个中间件函数通常由名为 next 的变量来表示。 中间件函数可以执行以下任务: 执行任何代码。对请求和响应对象进行更改。结束请求/响应循环。调用堆…

忘记了zip密码,怎么解压文件?

Zip压缩包设置了密码,解压的时候就需要输入正确对密码才能顺利解压出文件,正常当我们解压文件或者删除密码的时候,虽然方法多,但是都需要输入正确的密码才能完成。忘记密码就无法进行操作。 那么,忘记了zip压缩包的密…

SpringMVC_基本使用

一、JavaWEB 1.回顾 JavaWEB 1.1新建项目结构 新建 javaweb 项目目录结构 1.2导入依赖 依赖 <dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>…

1776_树莓派简介视频学习小结

全部学习汇总&#xff1a; GitHub - GreyZhang/little_bits_of_raspberry_pi: my hacking trip about raspberry pi. 卖树莓派的时候赠送了部分视频资料&#xff0c;今天看了一段&#xff0c;主要是对树莓派进行一个简单的介绍的视频。挑我自己感兴趣的大致总结如下&#xff1a…

第五章 树与二叉树 二、二叉树的定义和常考考点,WPL的算法

一、定义 二叉树可以用以下方式详细定义&#xff1a; 二叉树是由节点构成的树形结构&#xff0c;每个节点最多可以有两个子节点。每个节点有以下几个属性&#xff1a; 值&#xff1a;存储该节点的数据。左子节点&#xff1a;有一个左子节点&#xff0c;如果没有则为空。右子节…

【包过滤防火墙——iptables静态防火墙】的简单使用

文章目录 规则链的分类--五链处理的动作iptables常用参数和作用 防火墙就是堵和通的作用 iptables &#xff1a;包过滤防火墙&#xff0c;是内核防火墙netfilter的管理工具 核心&#xff1a;四表五链 规则链的分类–五链 在进行路由选择前处理的数据包&#xff1a;PREROUTIN…

python实现zscore归一化和minmax标准化

zscore归一化&#xff1a; minmax from sklearn import preprocessing from sklearn.preprocessing import StandardScaler import numpy as np# 数据 x np.array([[1.,-1.,2.],[2.,0.,0.],[0.,1.,-1.]]) print(----------------minmaxscaler标准化-------------) # 调用minma…

RK3568-INPUT输入子系统

本文档以检测按键电平状态为例 硬件连接(KEY0与GPIO3B6引脚相连) 驱动分为三类: 1 自己编写input输入子系统按键驱动 2 使用内核按键中断驱动 /kernel/drivers/input/keyboard/gpio_keys.c 3 使用内核按键轮休驱动 /kernel/drivers/input/keyboard/gpio_keys_polled.c内核…

docker 笔记2 Docker镜像和数据卷

参考&#xff1a; 1.镜像是什么&#xff1f;&#xff08;面试题&#xff09; 是一种轻量级、可执行的独立软件包&#xff0c;它包含运行某个软件所需的所有内容&#xff0c;我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文…

【LeetCode75】第四十五题 重新规划路线

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 给我们一个表示城市连通情况的有向图&#xff0c;要求每个城市都要可以通向0号城市&#xff0c;不同城市之间只有一条路线&#xff0c;我…

Gteam2.0免授权毛玻璃拟态UI带后台版本修复版

程序使用PHP7版本运行 后台信息/Admin 账号admin 密码123456 后台功能 多管理员、系统日志等等功能