D3 二维图表的绘制系列(十一)南丁格尔图

D3音乐可视化南丁格尔图 依然是学习课本代码,这回调用了d3 效果图 可能不是很好看啦 代码+注释: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>基于D3的音乐可视化</title> </head> <body> <audio id="audioElement" src="closer.mp3" controls="c 阅读详情

上一篇: 环状饼图 https://blog.youkuaiyun.com/zjw_python/article/details/98480632

下一篇: 基础散点图 https://blog.youkuaiyun.com/zjw_python/article/details/98483109

代码结构和初始化画布的Chart对象介绍,请先看 https://blog.youkuaiyun.com/zjw_python/article/details/98182540

本图完整的源码地址: https://github.com/zjw666/D3_demo/tree/master/src/pieChart/nightingale

1 图表效果

在这里插入图片描述

2 数据

date,money
Mon,120
Tue,200
Wed,150
Thu,80
Fri,70
Sat,110
Sun,130

3 关键代码

导入数据,转换为对象数组

d3.csv('./data.csv', function(d){
   
   
    return {
   
   
        date: d.date,
        money: +d.money
    };
}).then(function(data){
   
   

一些样式参数配置,由于南丁格尔图是以扇形半径作为映射点,因此扇形外半径不再是定值

const config = {
   
   
        margins: {
   
   top: 80, left: 80, bottom: 50, right: 80},
        textColor: 'black',
        title: '南丁格尔图',
        innerRadius: 0,
        textOffsetH: 10,
        lineColor: 'black',
        animateDuration: 1000
    }

尺度转换,与基础饼图相比,新增一个半径值得转换函数

/* ----------------------------尺度转换------------------------  */
    chart.arcAngle = d3.pie()
                    .sort((d,i) => i)
                    .value((d) => d.money);

    chart.scaleRadius = d3.scaleLinear()
                            .domain([0, d3.max(data.map((d) => d.money))])
                            .range([0, d3.min([chart.getBodyWidth(), chart.getBodyHeight()]) * 0.5])

渲染扇形,与基础饼图相比,南丁格尔图新增一个扇形半径的映射点,在这里,我们动画效果以半径的变化为特征,适当修改中间帧函数中的代码

/* ----------------------------渲染扇形------------------------  */
    chart.renderSlices = function(){
   
   
        const slices = chart.body().append('g')
                            .classed('pie', true)
                            
D3 二维图表的绘制系列(十)环状饼图 上一篇: 基础饼图 https://blog.csdn.net/zjw_python/article/details/98214359 下一篇: 南丁格尔图 https://blog.csdn.net/zjw_python/article/details/98201470 代码结构和初始化画布的Chart对象介绍,请先看 https://blog.csdn.net/zjw_python/artic... 阅读详情

相关推荐

基于D3.js绘制二部图

基于D3.js绘制二部图 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>bipartite</title> </head> <script src="../JavaScript/d3/4.x/d3.min.js"></script> <b

YOUNGEFLY的博客 608

[推荐]C#报表制作视频教程+Echarts+柱状图+饼状图+曲线图+男丁格尔图+折线图+面积图+环形图

技术交流QQ:1416759661 微信号:yyjcw10000 本套教程采用vs2012+sql2012开发,以销售明细表为例,讲解了常见报表的开发过程,既包含了传统的表格形式的报表、又包含了柱状图(条形图)、饼状图、环形图、南丁格尔图、曲线图、折线图、面积图等,前端使用ajax请求数据,后端处理数据库并做http响应,返回json格式数据,前端解析json数据并完成数据渲染。文件大小受限制,后续教程陆续上传.

D3.js关系图表&组织结构图表

支持节点拖拽 支持节点拖拽并固定位置 支持鼠标浮到节点显示节点信息 支持鼠标浮到节点隐藏不相关的节点及线 支持画布整体缩放移动 支持双击节点隐藏不相关的节点及线 可以累加双击的节点 支持双击画布空白处还原显示所有节点信息

Plottablejs一个基于D3构建灵活的交互式图表制作JavaScript库

Plottable.js:一个基于D3构建灵活的、交互式图表制作JavaScript库

uCOS中的消息邮箱(:task与task之间传递一个数据(数据缓冲区))

程序需求,需要完成task与task之间  字符数组的数据传输 比如:在ucos中,串口2接收的字符数组是不定时的&不定长的;只有当接收到数据的时候_才将数据赋值给新数组 具体的程序示意如下: 图1:消息邮箱测试中的     向消息邮箱发送消息(OSMboxPost(Str_Box,(void*)rec);//发送消息--(向 消息邮箱_msg_key发送消息) ),实际项目需求的

faguoduifangui的博客 4540

win11下的MySQL安装

目前官方最新版本是8.0.26,考虑到其稳定性、可靠性还需一定周期保证,所以使用官方版求稳定仍然建议5.7系列。3、选择MySQL Servers 5.7.38 -x64,然后按绿色箭头将选中的版本移植到右边选中框中。4、点击下方蓝色Advanced Options,选择安装位置。1、在开始界面搜索MySQL,点击command line。4、在“系统变量”中选择“path”,点击编辑。5、新建——>增加MySQL路径——>确定,12、execute,安装好后next。9、不需要做修改,直接点击next。.

rensweet的博客 2万+

【WRF工具】WRF Domain Wizard第一期:软件下载及安装

【WRF工具介绍】WRF Domain Wizard-确定模拟区域

WW、forever的博客 2918

【ComfyUI】Wan 2.2 14B 首尾帧转视频 平滑过渡

本文介绍了基于 Wan2.2 ComfyUI 的视频生成工作流,通过预训练模型、提示词与参考图像的结合,实现高质量视频合成。工作流采用高低噪声模型与 LoRA 模块优化风格与细节,确保画面过渡平滑稳定。核心流程包括模型加载、图像输入、提示词编码、潜空间采样、解码与视频合成,最终生成动态转场视频。节点设计涵盖 CLIPTextEncode、KSamplerAdvanced 等关键模块,协同完成从文本到视频的全链路生成。正向提示词作为核心驱动力,直接影响视频的动作、镜头与画面变化。

Mr数据杨 1702

[毕设项目-MCP+ENSP]一句话搞定ENSP自动化:MCP + LLM实战(架构图、工具清单、踩坑全解)

用 MCP + LLM 把“人话”变成对华为 ENSP 的安全自动化操作,三款工具覆盖配置/查询/落盘,配套架构、实战与排坑清单。

逐梦苍穹的博客 2540

高分六号WFV预处理详细步骤(辐射校正、大气校正、几何校正)

高分六号WFV传感器获得的影像的预处理分为两个步骤:辐射校正和大气校正,辐射校正为了消除传感器的自身误差,大气校正为了消除大气的折射误差。 一、辐射校正 按照红框中信息进行更改。 辐射校正前地物光谱反射率: 校正后的地物光谱曲线的变化: 二、大气校正 ENVI中大气校正一般采用Flaash模型,但是这个模型需要设置许多的参数十分的麻烦,所以采用ENVI商店(app store,这个也需要下载的)里的Flaash Easy To Use 这个插件,可以快速地进行大气校正。 大气校正后的地物反射率 这

qq_41828818的博客 1万+

小梅哥Xilinx ZYNQ学习笔记2——38译码器

译码器(Decoder)是一种多输入多输出的组合逻辑电路,负责将二进制代码翻译为特定的对象(如逻辑电平等),功能与编码器相反。译码器一般分为通用译码器和数字显示译码器两大类。本设计的是通用译码器。三八译码器,即是 3 种输入状态翻译成 8 种输出状态。1.case开始开始,endcase结束;2.数字声明时,合法的基数格式有 4 中,包括:十进制('d 或 'D),十六进制('h 或 'H),二进制('b 或 'B),八进制('o 或 'O)。数值可指明位宽,也可不指明位宽。

m0_51430584的博客 1636

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

上一篇: D3 二维图表的绘制系列(十三)多符号散点图
下一篇: D3 二维图表的绘制系列(十四)气泡图
PAT-python-zjw
博客等级 码龄10年 381粉丝 408原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值