Python科学绘图 南丁格尔图/玫瑰图

article/2025/11/1 10:13:07

文章目录

  • Github/GItee仓库地址
    • 注意
    • 生成数据
    • 乱序数据
    • 渲染图片为png或jpeg
    • 顺序数据

Github/GItee仓库地址

  • ScienceGallery-Github
  • ScienceGallery-Gitee

注意

  • 数据传入到 pyecharts 的时候,需要自行将数据格式转换成上述 Python 原生的数据格式。
  • 方法:
# for int
[int(x) for x in your_numpy_array_or_something_else]
# for float
[float(x) for x in your_numpy_array_or_something_else]
# for str
[str(x) for x in your_numpy_array_or_something_else]
  • 便捷方法: pandas.Series.tolist()

生成数据

import numpy as np
# 生成数据
x_data = [chr(i) for i in range(65, 91)]  # lable,26个字母
[str(i) for i in x_data]
y_data = np.random.uniform(5,200,26) # data
[float(i) for i in y_data]
# 将数据转换为列表加元组的格式([(key1, value1), (key2, value2)])
data=[list(z) for z in zip(x_data, y_data)]

乱序数据

  • 南丁格尔图,通过半径区分数据大小,有’radius’和’area’两种模式。
    • radius:扇区圆心角展现数据的百分比,半径展现数据的大小
    • area:所有扇区圆心角相同,仅通过半径展现数据大小
from pyecharts.charts import Pie
from pyecharts import options as opts
from pyecharts.globals import ThemeType# 创建饼形图并初始化配置项
fig = Pie(init_opts=opts.InitOpts(width='1200px', height='600px', theme=ThemeType.ESSOS, bg_color='white'))# 为饼形图添加数据
fig.add(series_name="States",  # 系列名称data_pair=data,  # 系列数据, 格式为 [(key1, value1), (key2, value2)]radius=["15%", "80%"],  #内外半径center=["25%", "50%"],  # 位置 1rosetype='radius',  # 按圆心角区分color='auto')fig.add(series_name="States",  # 系列名称data_pair=data,  # 系列数据, 格式为 [(key1, value1), (key2, value2)]radius=["15%", "80%"],  #内外半径center=["75%", "50%"],  # 位置 2rosetype='area',  # 按半径展示color='auto')# 设置全局配置项
fig.set_global_opts(title_opts=opts.TitleOpts(title="两种南丁格尔图"),legend_opts=opts.LegendOpts(is_show=False),  # 不显示Legend图例visualmap_opts=opts.VisualMapOpts  # 视觉映射(is_show=False,  # 不显示映射配置type_='size',  # 映射过渡类型,选择size,不选择无法设置颜色))# 设置系列配置项
fig.set_series_opts(label_opts=opts.LabelOpts(is_show=True,  # 显示标签position='left',  # 标签位置font_style='oblique',  # 字体风格font_weight='bold',  # 字体粗细font_family='Arial',  # 字体系列margin=15,font_size=11)  # 字体大小)
# 渲染图片至html
# fig.render('rosetype.html')
# Jupyternotebook渲染图片
fig.render_notebook()

在这里插入图片描述

渲染图片为png或jpeg

  • snapshot-selenium 是 pyecharts + selenium 渲染图片的扩展
  • 使用 selenium 需要配置 browser driver,这部分可以参考 selenium-python 相关介绍
  • 推荐使用 Chrome 浏览器,可以开启 headless 模式。目前支持 Chrome, Safari。
from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot# 使用chrome
make_snapshot(engine=snapshot,file_name=fig.render('rosetype.html'),output_name='C:\Git Code\ScienceGallery\Picture\Rosetype.png',is_remove_html=True)

顺序数据

# 数据排序
data.sort(key=lambda x: x[1])
from pyecharts.charts import Pie
from pyecharts import options as opts
from pyecharts.globals import ThemeType# 创建饼形图并初始化配置项
fig = Pie(init_opts=opts.InitOpts(width='1200px', height='600px', theme=ThemeType.ESSOS, bg_color='white'))# 为饼形图添加数据
fig.add(series_name="States",  # 系列名称data_pair=data,  # 系列数据, 格式为 [(key1, value1), (key2, value2)]radius=["15%", "80%"],  #内外半径center=["25%", "50%"],  # 位置 1rosetype='radius',  # 按圆心角区分is_clockwise=False,  # 饼图的扇区是否是顺时针排布color='auto')fig.add(series_name="States",  # 系列名称data_pair=data,  # 系列数据, 格式为 [(key1, value1), (key2, value2)]radius=["15%", "80%"],  #内外半径center=["75%", "50%"],  # 位置 2rosetype='area',  # 按半径展示is_clockwise=False,  # 饼图的扇区是否是顺时针排布color='auto')# 设置全局配置项
fig.set_global_opts(title_opts=opts.TitleOpts(title="两种南丁格尔图"),legend_opts=opts.LegendOpts(is_show=False),  # 不显示Legend图例visualmap_opts=opts.VisualMapOpts  # 视觉映射(is_show=False,  # 不显示映射配置type_='size',  # 映射过渡类型,选择size,不选择无法设置颜色))# 设置系列配置项
fig.set_series_opts(label_opts=opts.LabelOpts(is_show=True,  # 显示标签position='left',  # 标签位置font_style='oblique',  # 字体风格font_weight='bold',  # 字体粗细font_family='Arial',  # 字体系列margin=15,font_size=11)  # 字体大小)
# 渲染图片至html
# fig.render('rosetype.html')
# Jupyternotebook渲染图片
fig.render_notebook()

在这里插入图片描述


http://chatgpt.dhexx.cn/article/02MXKoQ6.shtml

相关文章

南丁格尔玫瑰图 With ggplot2【R语言】

前言 之前在饼图中提到过,要整理一下南丁格尔玫瑰图的画法😑 南丁格尔玫瑰图又名鸡冠花图、极坐标区域图,是南丁格尔在克里米亚战争期间提交的一份关于士兵死伤的报告时发明的一种图表。南丁格尔玫瑰图是在极坐标下绘制的柱状图,…

echarts最简单的南丁格尔玫瑰图+图例

//图标写在方法里面(然后在mounted里展示) getEcharts(){ var myChart document.getElementById(‘echarts’); let echarts echarts.init(myChart); var option; var legends this.getlowIncomeData_xData; //图例名字(在这里作修改&…

python+matplotlib绘制南丁格尔玫瑰图

实验:绘制南丁格尔玫瑰图   本实验有一定难度,有人说matplotlib绘图和matlab大同小异,我看除了一些函数名相同之外,其他的像参数和使用方法很不一样.另外我不知道是不是在matlab中画玫瑰图直接一个"肉丝"函数就成了,为什么matplotlib里面没有~~   无论如何还是感…

R语言-南丁格尔玫瑰图

简介 南丁格尔玫瑰图(Nightingale rose chart)即极坐标柱形图,是一种圆形的柱形图。由弗罗伦斯-南丁格尔所发明,普通柱形图的坐标系是直角坐标系,而南丁格尔玫瑰图的坐标系是极坐标系。南丁格尔玫瑰图是在极坐标下绘制…

Tableau——制作南丁格尔玫瑰图

一、适用场景: 需要计算总费用或金额的各个部分构成比例的情况 二、简介: 南丁格尔玫瑰图Nightingale rose diagram是弗罗伦斯南丁格尔所发明的,又名为极区图,是一种圆形的直方图。 如果因为组成部分较多而导致饼图分区多且密集&#xff0…

Tableau 南丁格尔玫瑰图

简介:南丁格尔玫瑰图是弗罗伦斯南丁格尔所发明的。又名为极区图。是一种圆形的直方图。 应用场景:可以看到比饼图更加详细地信息。 参考书目:跟阿达学 Tableau 数据可视化 操作步骤: 以示例-超市为例 1、导出相关数据(处理数…

南丁格尔玫瑰图

1、绘制南丁格尔玫瑰图的步骤: 数据准备工作:准备好角度数值和半径数值。 建立画布,并将直角坐标转化为极坐标。并对极坐标进行一定的设置。 使用bar函数进行绘图。 对图形进行美化处理。 2、上代码 import numpy as np import pandas a…

❤echarts 南丁格尔玫瑰图的使用以及南丁格尔玫瑰图详细配置

❤echarts 南丁格尔玫瑰图的使用以及南丁格尔玫瑰图详细配置 1、认识 使用可以参考之前文章,会使用直接跳过1 引入官网的南丁格尔玫瑰图效果如下: 使用函数配置分为三个部分:初始化> 设置配置> 地图使用参数 配置代码如下 option…

【Python】数据分析:如何使用matplotlib和pyecharts制作南丁格尔玫瑰图

目录 一、介绍 二、相关库 三、数据准备 四、pyecahrts代码实现 五、matplotlib代码实现 原文作者:我辈理想版权声明:文章原创,转载时请务必加上[原文超链接](https://blog.csdn.net/qq_15028721?spm1010.2135.3001.5421)、作者信息和本…

南丁格尔图(饼状)

今天来做一个南丁格尔图&#xff0c;参考官网&#xff0c;一会会把源码放上去&#xff0c;注释和详细的解释也会放在最下面供参考理解 基于VScode开发&#xff0c;我用的是子组件不是APP.vue code&#xff1a; <template> <div id"main" :style"{width…

[数据可视化] 南丁格尔玫瑰图

南丁格尔玫瑰图 南丁格尔玫瑰图又名鸡冠花图、极坐标区域图&#xff0c;是南丁格尔在克里米亚战争期间提交的一份关于士兵死伤报告时发明的一种图表&#xff0c;以表达军医院季节性的死亡率&#xff0c;从整体上来看: 这张图是用来说明并比较战地医院伤患因各种原因死亡的人数&…

数据分析软件图表详解-南丁格尔图的故事

DataViz数据可视化分析工具中的南丁格尔图也叫南丁格尔玫瑰图、鸡冠花图或极坐标区域图。是由弗洛伦斯南丁格尔发明的。南丁格尔是英国护士和统计学家&#xff0c;出生于意大利的一个英国上流社会的家庭。虽然出身贵族南丁格尔却选择了完全不同的人生道路&#xff0c;选择了当时…

网络层协议和数据链路层协议

1. IP 协议 IP指网际互连协议&#xff0c;Internet Protocol的缩写&#xff0c;是TCP/IP体系中的网络层协议。IP位于TCP/IP模型的网络层(相当于OSI模型的网络层)&#xff0c;它可以向传输层提供各种协议的信息&#xff0c;例如TCP、UDP等&#xff1b;对下可将IP信息包放到链路层…

数据链路层协议(1)

目录 1.获取IP地址 2.打开浏览器&#xff0c;在浏览器中的地址栏上输入需要访问的服务器的URL&#xff08;资源定位符&#xff09; 3.网关路由收到DNS请求报文后&#xff0c;将先查看数据帧的二层封装&#xff0c;确认该数据帧是给自己的&#xff0c;则将解二层封装看三层封…

【网络】-- 数据链路层

应用层&#xff08;http、https&#xff09;&#xff1a; 数据的使用。传输层&#xff08;UDP、TCP&#xff09;&#xff1a;网络通讯的细节&#xff0c;将数据可靠的从A主机跨网络送到B主机。网络层&#xff08;IP&#xff09;&#xff1a;提供一种能力&#xff0c;将数据从A主…

数据链路层重点协议

目录 1.以太网 2.MTU 3.ARP与RARP协议 1.以太网 1.1 概念 "以太网" 不是一种具体的网络&#xff0c;而是一种技术标准&#xff1b;既包含了数据链路层的内容&#xff0c;也包含了 一些物理层的内容。例如&#xff1a;规定了网络拓扑结构&#xff0c;访问控制方式…

计算机网络基础知识--数据链路层协议

目录 使用点对点信道的数据链路层 数据链路层的三个基本问题 封装成帧 透明传输 差错检测 点对点协议PPP PPP协议的组成 PPP帧的格式 数据链路层的协议数据单元是帧。数据链路层把网络层交下来的数据构成帧发送到链路上&#xff0c;以及把接收到的帧中的数据取出并上交网…

数据链路层之以太网协议

在 IP 数据包交付的过程中&#xff0c;在数据链路层会对数据包进行添加报头信息。以太网协议就是数据链路层的一个重要协议。这样说其实不太准确&#xff0c;因为以太网协议是一个规定数据链路层及物理层的协议&#xff0c;不能说它是数据链路层的一个协议。 以太网帧 以太网…

【计算机网络】数据链路层重点协议

目录 1. 认识以太网 1.1 以太网帧格式 2. 认识MTU 2.1 MTU对IP协议的影响 2.2 MTU对UDP协议的影响 2.3 MTU对TCP协议的影响 3. ARP协议 3.1 ARP协议的作用 3.2 ARP协议的工作流程 1. 认识以太网 以太网是一种局域网的技术规范&#xff0c;而不是一种具体的网络&am…

数据链路层协议(2)

目录 一.网络类型---根据数据链路层运行的协议进行划分 二.数据链路层运行的协议 1.HDLC---高级数据链路控制协议 2.PPP---点到点协议 &#xff08;1&#xff09;链路建立阶段---LCP&#xff08;链路控制协议&#xff09;建立 &#xff08;2&#xff09;认证阶段---PAP&…