南丁格尔玫瑰图

目录

由来

效果图

echarts官网找相似图

将南丁格尔玫瑰图引进html页面中

引入echarts

准备容器

初始化echarts实例对象

指定配置项和数据(官网给的option)

将配置项给echarts

自定义南格丁尔玫瑰图

修改颜色

修改玫瑰图大小

修改图的模式为半径模式

数据更换


由来

南丁格尔玫瑰图是弗罗伦斯·南丁格尔所发明的。又名为极区图。是一种圆形的直方图南丁格尔自己常昵称这类图为鸡冠花图(coxcomb),并且用以表达军医院季节性的死亡率,对象是那些不太能理解传统统计报表的公务人员。

效果图

echarts官网找相似图

我们从echarts官网找到相似图形

将南丁格尔玫瑰图引进html页面中

下载echarts

引入echarts

注意:这里是本人引入的路径,因人而异,路径问题注意一下

javascript 复制代码
<script src="./js/echarts.min.js"></script>
准备容器
html 复制代码
<div class="box" style="width: 500px; height: 500px; border: 1px solid gainsboro; margin: 100px auto;"></div>
初始化echarts实例对象
javascript 复制代码
const mycharts = echarts.init(document.querySelector('.box'))
指定配置项和数据(官网给的option)
javascript 复制代码
 const mycharts = echarts.init(document.querySelector('.box'))
        option = {
  legend: {
    top: 'bottom'
  },
  toolbox: {
    show: true,
    feature: {
      mark: { show: true },
      dataView: { show: true, readOnly: false },
      restore: { show: true },
      saveAsImage: { show: true }
    }
  },
  series: [
    {
      name: 'Nightingale Chart',
      type: 'pie',
      radius: [50, 250],
      center: ['50%', '50%'],
      roseType: 'area',
      itemStyle: {
        borderRadius: 360
      },
      data: [
        { value: 40, name: 'rose 1' },
        { value: 38, name: 'rose 2' },
        { value: 32, name: 'rose 3' },
        { value: 30, name: 'rose 4' },
        { value: 28, name: 'rose 5' },
        { value: 26, name: 'rose 6' },
        { value: 22, name: 'rose 7' },
        { value: 18, name: 'rose 8' }
      ]
    }
  ]
};
将配置项给echarts
javascript 复制代码
myChart.setOption(option)

引入自己的页面成功

自定义南格丁尔玫瑰图

将图修成自己想要的样子

修改颜色

color数组中放入自己想要定义的颜色

javascript 复制代码
color: ['#006cff', '#60cda0', '#ed8884', '#ff9f7f', '#0096ff', '#9fe6b8', '#32c5e9', '#1d9dff'],

直接放在option中

修改玫瑰图大小

在刚才的option中找到**radius,**radius用来修改图的大小

javascript 复制代码
radius: ['10%', '70%'],
修改图的模式为半径模式

在刚才的option中找到roseType

javascript 复制代码
roseType: "radius",
数据更换

在option中找到series对象 自定义 data对象

前面的value的数值代表了每一格图的大小

javascript 复制代码
          { value: 40, name: '南' },
          { value: 40, name: '丁' },
          { value: 40, name: '格' },
          { value: 40, name: '尔' },
          { value: 40, name: '玫' },
          { value: 40, name: '瑰' },
          { value: 40, name: '图' },
          { value: 40, name: '!' }

在option中找到series对象, itemStyle里面的 borderRadius

javascript 复制代码
 borderRadius: 360

这样就完成了南丁格尔玫瑰图

相关推荐
哟哟耶耶3 小时前
React-04React组件状态(state),构造器初始化state以及数据读取,添加点击事件并更改state状态值
前端·javascript·react.js
kiramario3 小时前
用IconContext.Provider修改react-icons的icon样式
前端·javascript·react.js
destinyol3 小时前
React首页加载速度优化
前端·javascript·react.js·webpack·前端框架
程序员小续3 小时前
React 多个 HOC 嵌套太深,会带来哪些隐患?
java·前端·javascript·vue.js·python·react.js·webpack
大猫会长4 小时前
用AbortController取消事件绑定
前端
程序员小杰@4 小时前
AI前端组件库Ant DesIgn X
开发语言·前端·人工智能
致微4 小时前
Vue项目 bug 解决
前端·vue.js·bug
慕斯策划一场流浪5 小时前
fastGPT—nextjs—mongoose—团队管理之部门相关api接口实现
前端·javascript·html·fastgpt部门创建·fastgpt团队管理·fastgpt部门成员更新·fastgpt部门成员创建
我自纵横20236 小时前
事件处理程序
开发语言·前端·javascript·css·json·ecmascript
坊钰6 小时前
【MySQL 数据库】数据类型
java·开发语言·前端·数据库·学习·mysql·html