Pyecharts之特殊图表的独特展示

在数据可视化的世界里,除了常见的柱状图、折线图、饼图等,还有一些特殊的图表可以为我们带来独特的展示效果,帮助我们以更有趣、更直观的方式呈现数据。Pyecharts 为我们提供了多种特殊图表的绘制功能,本文将介绍象形图、水球图和日历图的定制方法,让你能够创建出与众不同的数据可视化作品。

一、象形图自定义图形

象形图是一种使用自定义图形来表示数据的图表,比普通的柱状图更加形象生动。下面是 pictorialbar_with_custom_symbol() 函数的示例代码,展示了如何创建象形图并自定义其图形:

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


def pictorialbar_with_custom_symbol():
    pictorialbar = PictorialBar()
    x_data = ['A', 'B', 'C', 'D', 'E']
    y_data = [50, 100, 150, 200, 250]
    pictorialbar.add_xaxis(x_data)
    # 使用自定义图形,这里使用 'circle' 作为示例
    pictorialbar.add_yaxis(
        "",
        y_data,
        symbol_size=20,
        symbol_repeat="fixed",
        symbol_offset=[0, 0],
        symbol='circle',  # 自定义图形为圆形
        label_opts=opts.LabelOpts(is_show=False)
    )
    pictorialbar.set_global_opts(
        title_opts=opts.TitleOpts(title="象形图自定义图形"),
        xaxis_opts=opts.AxisOpts(is_show=False),  # 隐藏 x 轴
        yaxis_opts=opts.AxisOpts(is_show=False)  # 隐藏 y 轴
    )
    return pictorialbar


chart = pictorialbar_with_custom_symbol()
chart.render_notebook()

代码解释

  • 首先,导入 PictorialBar 类和 options 模块。
  • 创建 PictorialBar 实例 pictorialbar
  • 定义 x_datay_data 作为数据。
  • 使用 add_xaxis 方法添加 x 轴数据。
  • add_yaxis 方法中,设置 symbol 参数为 circle,将图形自定义为圆形,同时设置 symbol_size 为 20,symbol_repeatfixed 表示图形的重复方式,symbol_offset[0, 0] 表示图形的偏移量。
  • 使用 set_global_opts 方法隐藏 x 轴和 y 轴,并设置图表标题。

通过上述代码,你可以看到一个使用自定义圆形作为图形的象形图,通过改变 symbol 参数的值,可以使用不同的形状,如 trianglerect 等,还可以使用自定义的 SVG 路径来表示更复杂的图形,使数据展示更加形象生动。

二、水球图自定义形状

水球图通常用于表示百分比数据,以直观的方式展示完成度或占比,并且可以自定义其形状。以下是 liquid_with_custom_shape() 函数的代码示例,展示如何自定义水球图的形状:

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


def liquid_with_custom_shape():
    liquid = Liquid()
    liquid.add(
        "",
        [0.6],  # 表示 60% 的数据
        shape='diamond',  # 自定义形状为菱形
        label_opts=opts.LabelOpts(
            font_size=50,
            position="inside"
        )
    )
    liquid.set_global_opts(
        title_opts=opts.TitleOpts(title="水球图自定义形状")
    )
    return liquid


chart = liquid_with_custom_shape()
chart.render_notebook()

代码解释

  • 导入 Liquid 类和 options 模块。
  • 创建 Liquid 实例 liquid
  • 使用 add 方法添加数据,这里是 [0.6] 表示 60% 的数据。
  • 设置 shape 参数为 diamond,将水球图的形状自定义为菱形。
  • 通过 label_opts 设置标签的字体大小和位置。

这种自定义形状的水球图在展示完成度、占比等数据时,可以根据不同的主题或需求,选择不同的形状,为数据展示带来更多的创意和趣味,让数据更加引人注目。

三、日历图定制

日历图可以按日期展示数据,适用于具有时间序列的数据展示,并且可以进行深度定制,包括定制单元格和显示中文标签。以下是 calendar_custom_cell()calendar_in_Chinese() 函数的示例代码:

from pyecharts.charts import Calendar
from pyecharts import options as opts
import datetime


def calendar_custom_cell():
    data = [
        [str(datetime.date(2024, i, j), random.randint(10, 100)]
        for i in range(1, 13)
        for j in range(1, 29)
    ]
    calendar = Calendar()
    calendar.add(
        "",
        data,
        calendar_opts=opts.CalendarOpts(
            range_=["2024-01-01", "2024-12-31"],
            daylabel_opts=opts.CalendarDayLabelOpts(name_map="en"),
            monthlabel_opts=opts.CalendarMonthLabelOpts(name_map="en")
        )
    )
    calendar.set_global_opts(
        title_opts=opts.TitleOpts(title="日历图定制"),
        visualmap_opts=opts.VisualMapOpts(
            max_=100,
            min_=10,
            orient="horizontal",
            pos_top="230px",
            pos_left="100px",
            is_piecewise=False
        )
    )
    return calendar


chart = calendar_custom_cell()
chart.render_notebook()

代码解释

  • 导入 Calendar 类、options 模块和 datetime 模块。
  • 生成一些随机数据 data,数据格式为 [(日期, 值)]
  • 创建 Calendar 实例 calendar
  • 使用 add 方法添加数据,并使用 calendar_opts 配置日历的范围、日标签和月标签。
  • 使用 set_global_opts 方法添加标题和视觉映射组件,用于表示数据的范围。

四、总结

通过使用上述特殊图表及其定制方法,我们可以突破传统图表的限制,为数据可视化带来更多的创意和独特性。在实际应用中,你可以根据数据的特点和展示需求,灵活选择合适的特殊图表,并对其进行深度定制,为用户带来更加丰富和吸引人的数据可视化体验。以上就是关于特殊图表的独特展示的内容,通过这些示例,你可以更加深入地理解如何使用 Pyecharts 创建出具有独特效果的可视化图表,并且学会根据实际情况定制这些图表,为你的数据讲述更精彩的故事。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VSCode下EIDE插件开发STM32

VSCode下STM32开发环境搭建 本STM32教程使用vscode的EIDE插件的开发环境,完全免费,有管理代码文件的界面,不需要其它IDE。 视频教程见本人的 VSCodeEIDE开发STM32 安装EIDE插件 Embedded IDE 嵌入式IDE 这个插件可以帮我们管理代码文件&am…

TLF35584 基本介绍

1 概述 1)多电压电源芯片,包含6路输出电压。 LDO_Com:低降后调节器 5V/200mA 通信电源。LDO_C :低降后调节器 5V/600mA (TLF35584xxVS1)/3.3 V/600mA (TLF35584xxVS2) uC电源。Volt_Ref :参考电压5.0 V /- 1%/150mA …

操作无法完成,因为文件已经在Electronic Team Virtual Serial Port Driver Service中打开

报错 操作无法完成,因为文件已经在Electronic Team Virtual Serial Port Driver Service中打开 现象 这个exe文件无法删除 解决办法 按下WinR, 找到Electronic Team Virtual Serial Port Driver Service,右击停止. 再次尝试删除,发现这个exe文件成功删除!

24_游戏启动逻辑梳理总结

首先这个项目从游戏根入口GameRoot.cs的初始化开始 分为 服务层初始化Svc.cs 与 业务系统层初始化Sys.cs 而服务层 分为 资源加载服务层ResSvc.cs 与 音乐播放服务层AudioSvc.cs 而在 资源加载服务层ResSvc.cs中 初始化了 名字的 配置文件 而音乐播放服务层AudioSvc.cs 暂时没…

125周六复盘 (167)帧数优化

1、关键词:帧数优化 2、上午收到一个平台的邮件,说欧盟DSA法案的事,然后联系客服解决问题。 3、近期测试中发现某些关卡帧数奇低,很是异常。 然后今天用了一天时间来排查、解决问题。 通过测试工具发现游戏逻辑部分耗时太多&…

使用 OpenCV 和 Python 轻松实现人脸检测

目录 一、准备工作 二、加载人脸检测模型 三、读取图像并进行人脸检测 四、处理视频中的人脸检测 五、优化人脸检测效果 六、总结 在人工智能和计算机视觉领域,人脸检测是一项非常基础且重要的技术。通过人脸检测,我们可以在图像或视频中识别并定位人脸,进而进行后续的…

Windows电脑安装USB Redirector并实现内外网跨网USB共享通信访问

文章目录 前言1. 安装下载软件1.1 内网安装使用USB Redirector1.2 下载安装cpolar内网穿透 2. 完成USB Redirector服务端和客户端映射连接3. 设置固定的公网地址 前言 我们每天都在与各种智能设备打交道,从手机到电脑,再到各种外设,它们已经…

20250122-正则表达式

1. 正则标记 表示一位字符:\\ 表示指定的一位字符:x 表示任意的一位字符:. 表示任意一位数字:\d 表示任意一位非数字:\D 表示任意一个字母:[a-zA-Z](大写或小写) 表示任意一个…

RDMA 工作原理 | 支持 RDMA 的网络协议

注:本文为 “RDMA” 相关文章合辑。 英文引文机翻未校。 图片清晰度受引文所限。 Introduction to Remote Direct Memory Access (RDMA) Written by: Dotan Barak on March 31, 2014.on February 13, 2015. What is RDMA? 什么是 RDMA? Direct me…

Pandoc新手使用常见问题

一、Pandoc可以做什么? Pandoc 可以很方便快捷地对不同语言的文件进行格式转换,因此被誉为格式转换的「瑞士军刀」。常见的应用包括但不限于将markdown格式文件转换为latex格式和pdf格式等等。 二、下载与安装 访问Pandoc官网进行安装包下载。 下载完…

无耳科技 Solon v3.0.7 发布(2025农历新年版)

Solon 框架! Solon 框架由杭州无耳科技有限公司(下属 Noear 团队)开发并开源。是新一代,面向全场景的 Java 企业级应用开发框架。从零开始构建(非 java-ee 架构),有灵活的接口规范与开放生态。…

用科技守护团圆时光,约克VRF中央空调新天氟地水/天氟热水让春节更美好!

冬日,是思念的漫卷。有一种温暖,叫回家过年。在每个人的心中,都有着将自己的家营造得更加舒适、健康的愿望,尤其在近些年,受益于国内经济的快速增长,以及人民生活水平提升带来的对生活居住环境舒适度要求的提高,中央空调正在成为越来越多家庭的首选,而全面升级焕新的约克VRF中央…

如何获取小程序的code在uniapp开发中

如何获取小程序的code在uniapp开发中,也就是本地环境,微信开发者工具中获取code,这里的操作是页面一进入就获取code登录,没有登录页面的交互,所以写在了APP.vue中,也就是小程序一打开就获取用户的code APP.…

css3 svg制作404页面动画效果HTML源码

源码介绍 css3 svg制作404页面动画效果HTML源码&#xff0c;源码由HTMLCSSJS组成&#xff0c;记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果 效果预览 源码如下 <!doctype html> <html> <head> <meta charse…

JAVAweb学习日记(八) 请数据库模型MySQL

一、MySQL数据模型 二、SQL语言 三、DDL 详细见SQL学习日记内容 四、DQL-条件查询 五、DQL-分组查询 聚合函数&#xff1a; 分组查询&#xff1a; 六、DQL-分组查询 七、分页查询 八、多表设计-一对多&一对一&多对多 一对多-外键&#xff1a; 一对一&#xff1a; 多…

leetcode28-找出字符串中第一个匹配的下标

leetcode 28 思路 首先循环haystack&#xff0c;然后当当前字符和needle的首字母相同的时候截取出长度等于needle的字符串&#xff0c;进行比较是否相等&#xff0c;如果相等则说明当前index为第一个匹配的下标&#xff0c;如果不相等则说明不正确继续进行遍历&#xff0c;直…

【含代码】逆向获取 webpack chunk 下的__webpack_require__ 函数,获悉所有的模块以及模块下的函数

背景 Webpack 打包后的代码是不会直接暴露 __webpack_require__ 函数&#xff0c;目的是为了避免污染全局变量同时也为了保护 webpack 的打包后的模块都隐藏在闭包函数里&#xff0c;达到数据的安全性。 而有时我们为了测试某个函数&#xff0c;想直接获取这个内置函数&#…

什么是区块链

区块链是一种去中心化的分布式账本技术&#xff0c;它通过一系列复杂而精密的设计原则和机制来确保数据的安全性、透明性和不可篡改性。在最基础的层面上&#xff0c;区块链是由一系列按照时间顺序链接起来的数据块组成的链式结构。每个数据块中包含了一定数量的交易记录或状态…

【嵌入式】总结——Linux驱动开发(三)

鸽了半年&#xff0c;几乎全忘了&#xff0c;幸亏前面还有两篇总结。出于快速体验嵌入式linux的目的&#xff0c;本篇与前两篇一样&#xff0c;重点在于使用、快速体验&#xff0c;uboot、linux、根文件系统不作深入理解&#xff0c;能用就行。 重新梳理一下脉络&#xff0c;本…

使用MQTT.fx向阿里云物理网平台上报物理模型数据

MQTT向阿里云物理网平台上报物理模型数据 一、前言二、测试三、结束语 一、前言 上一篇文章介绍了阿里云物联网平台的基本使用&#xff08;文章入口&#xff09;&#xff0c;本篇博客接着来讲&#xff0c;主要介绍如何使用MQTT连接测试工具向阿里云物联网平台上报物理模型数据。…