风力风速玫瑰图

  • 前言
  • 改进之路
  • 代码如下
  • 总结
  • 链接

前言

今天上班收到任务,我们老大让我研究一下这个“风速风向玫瑰图”,还说这个是百度的雷达图的变异体,于是乎我直接找的雷达图,但是雷达图没有这种柱形的,都是点线,然后我又找了好久,最后突然在echarts官网上面看到了图1-2,才终于有了思路,原来这个图不是雷达图的变异体,而是极坐标系下的堆叠柱状图,于是就开始我的“改进”之路了。

图1-1
图1-2

改进之路

第一步是调整这个极坐标系,目标图数了数是48个方向,所以在angleAxis.data设置了48个数据,但是呢,只有八个方向是有label值的,其他的都设置为空就可以了,然后呢,发现标签是在每个刻度的中间,想让标签在相邻刻度的中间,发现是angleAxis.boundaryGap这个属性设为false就可以了,然后就是坐标轴在 grid 区域中的分隔线只让显示8条,我刚开始一直在改angleAxis.splitLine.interval(坐标轴分隔线的显示间隔,在类目轴中有效),但是怎么都没有用,后来看到了angleAxis.axisLabel(坐标轴刻度标签的相关设置),把angleAxis.axisLabel.interval(坐标轴刻度标签的显示间隔,在类目轴中有效)直接设置为5,一下子连刻度线的问题,都解决了,我在想应该是其他label都为空,混淆了我,一直以为label显示的是正确的。
然后就是柱形图的形状,需要先把柱形间隙去掉,发现是series[i]-bar.barCategoryGap这一属性值负责同一系列的柱间距离,默认为类目间距的20%,可设固定值,所以在这个地方直接设为0就ok了。整个图形都基本一直了,最后是坐标轴标签的背景图形,这些简单的问题了,直接参考radiusAxis.axisLabel就可以了。
最后是关于图例的问题,刚开始找图例的换行,但是搜索结果是图例项的换行,没有找到整个图例的换行,最后不知道就试了试legend.width直接就ok了。最后献上成果图(图1-3)。

图1-3

代码如下

  // app.title = '极坐标系下的堆叠柱状图';legendName=["0.1-2.3 m/s","2.3-4.5 m/s","4.5-6.7 m/s","6.7-8.9 m/s","8.9-11.0 m/s","11.0-13.2 m/s","13.2-15.4 m/s","15.4-17.6 m/s"],echarts.init(document.getElementById('echarts')).setOption( {tooltip: {trigger: 'item',textStyle: {fontSize: 16,color: '#fff',fontFamily: 'Microsoft YaHei'}},color:["#0001F7","#00B8FE","#00FFFF","#00FF68","#BEFE00","#FFFF00","#FFA800","#E10100"],angleAxis: {zlevel:2,type: 'category',data: [{value: '北'},{value: ''},  {value: ''},  {value: ''},  {value: ''},  {value: ''},{value: '东北'},{value: ''},  {value: ''},  {value: ''},  {value: ''},  {value: ''},{value: '东'},{value: ''},  {value: ''},  {value: ''},  {value: ''},  {value: ''},{value: '东南'},{value: ''},  {value: ''},  {value: ''},  {value: ''},  {value: ''},{value: '南'},{value: ''},  {value: ''},  {value: ''},  {value: ''},  {value: ''},{value: '西南'},{value: ''},  {value: ''},  {value: ''},  {value: ''},  {value: ''},{value: '西'},{value: ''},  {value: ''},  {value: ''},  {value: ''},  {value: ''},{value: '西北'},{value: ''},  {value: ''},  {value: ''},  {value: ''},  {value: ''},],boundaryGap:false,//标签和数据点都会在两个刻度之间的带(band)中间axisTick: {show: false//是否显示坐标轴刻度},show:true,splitLine: {show:true,lineStyle:{// color:"black"},},axisLabel:{show:true,interval:5,//坐标轴刻度标签的显示间隔,在类目轴中有效},},radiusAxis: {min:0,max:100,axisLabel: {formatter: '{value}   %',margin:-25,textStyle: {fontSize: 10,color: 'black',padding:5,width:30,backgroundColor:'lightgray',borderColor:'black',borderWidth:1,fontFamily: 'Microsoft YaHei'},rich: { }},zlevel:3,axisTick: {show: false//是否显示坐标轴刻度},axisLine:{show:true,//是否显示坐标轴轴线},},polar: {},series: [{barCategoryGap:0,type: 'bar',zlevel:1,data: [17, 2, 18, 4,2,3,4,6,1, 6, 3, 4,2,3,4,6,1, 2, 3, 4,2,3,4,6,1, 3, 3, 4,2,3,4,6,2,7,4,5,1, 2, 3, 1,2,3,2,6,1, 2, 3, 1,],coordinateSystem: 'polar',name: legendName[0],stack: 'a',itemStyle: {borderColor:'black',borderWidth:1,}}, {barCategoryGap:0,type: 'bar',data: [7, 12, 13, 2,2,3,4,6,1, 2, 3, 2,2,3,4,6,1, 2, 3, 5,2,3,4,6,1, 2, 3, 4,2,3,4,1,2,3,4,1,1, 2, 2, 4,2,3,5,1,1, 2, 3, 1,],coordinateSystem: 'polar',name: legendName[1],stack: 'a',itemStyle: {borderColor:'black',}}, {barCategoryGap:0,type: 'bar',data: [10, 12, 13, 4,2,13,14,26,11, 12, 23, 34,12,33,34,32,11, 22, 23, 24,2,23,24,6,21, 2, 3, 4,2,3,4,6,12,13,4,6,11, 32, 32, 14,12,33,24,41,1, 2, 3, 1,],coordinateSystem: 'polar',name: legendName[2],stack: 'a',itemStyle: {borderColor:'black',}}, {barCategoryGap:0,type: 'bar',data: [10, 2, 13, 2,2,3,4,6,1, 2, 3, 2,2,3,4,6,1, 2, 3, 5,2,3,4,6,1, 2, 3, 4,2,3,4,1,2,3,4,1,1, 2, 2, 4,1, 2, 3, 1,2,3,5,1,],coordinateSystem: 'polar',name: legendName[3],stack: 'a',itemStyle: {borderColor:'black',}}, {barCategoryGap:0,type: 'bar',data: [10, 2, 13, 4,2,3,4,6,1, 2, 3, 4,1, 2, 3, 1,2,3,4,2,1, 2, 3, 4,2,3,4,6,1, 2, 3, 4,2,3,4,6,2,3,4,6,1, 2, 3, 4,2,3,4,1,],coordinateSystem: 'polar',name: legendName[4],stack: 'a',itemStyle: {borderColor:'black',}}, {barCategoryGap:0,type: 'bar',data: [10, 2, 13, 2,2,3,4,6,1, 2, 3, 2,1, 2, 3, 1,2,3,4,6,1, 2, 3, 5,2,3,4,6,1, 2, 3, 4,2,3,4,1,2,3,4,1,1, 2, 2, 4,2,3,5,1,],coordinateSystem: 'polar',name: legendName[5],stack: 'a',itemStyle: {borderColor:'black',}}, {barCategoryGap:0,type: 'bar',data: [10, 2, 13, 4,2,3,4,6,1, 2, 3, 4,2,3,4,2,1, 2, 3, 4,2,3,4,6,1, 2, 3, 4,1, 2, 3, 1,2,3,4,6,2,3,4,6,1, 2, 3, 4,2,3,4,1,],coordinateSystem: 'polar',name: legendName[6],stack: 'a',itemStyle: {borderColor:'black',}}, {barCategoryGap:0,type: 'bar',data: [0, 0, 0, 0,0, 0, 0, 0,0, 0, 0, 0,0, 0, 0, 0,0, 0, 0, 0,1, 2, 3, 1,0, 0, 0, 0,1, 2, 3, 4,2,3,4,1,0, 0, 0, 0,1, 2, 2, 4,2,3,2,1,],coordinateSystem: 'polar',name: legendName[7],stack: 'a',itemStyle: {borderColor:'black',}}],legend: {show: true,data: legendName,width:500,//根据宽度调整换行}});

总结

最后说一下我的感想,echarts官网真的讲解的非常清楚,奉上地址(https://www.echartsjs.com/option.html#title),而且还有实例和社区,可以清楚的找到自己想要的相似的echars图然后加以改进。有什么问题大家可以一起交流交流。

链接

echarts官网

Echarts之风力风速玫瑰图相关推荐

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

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

  2. 关于Echarts南丁格尔玫瑰图的部分解释

    <template><div id="easyEcharts" style="height: 600px;width: 800px">& ...

  3. echarts南丁格尔玫瑰图每块单独设置颜色

    UI效果图: 我参照官网的例子,默认的颜色,出来之后的效果: 页面源代码: <template><div class="pieChart" ref="p ...

  4. CAD简单制作风向(风速)玫瑰图

    背景: 风向玫瑰图(简称风玫瑰图)也叫风向频率玫瑰图,它是根据某一地区多年平均统计的各个风向的百分数值,并按一定比例绘制,一般多用8个或16个罗盘方位表示,由于形状酷似玫瑰花朵而得名. 玫瑰图上所表示 ...

  5. echart 圆饼图 显示单位_玩转ECharts之实现“1/2圆的玫瑰图”

    前言 玩转ECharts系列,主要为大家讲解我们基于ECharts如何实现企业级大屏项目中较为常用的各种奇奇怪怪的图表,接下来我们将通过几篇文章从基础图表开始为大家详细讲解实现这些图表样式的一些&qu ...

  6. echarts绘制嵌套环形图(南丁格尔玫瑰图)

    根据专业总人数和学院总人数绘制嵌套环形图 首先,echarts的基本步骤 引入js,准备容器,初始化实例, <script src="lib/echarts.min.js"& ...

  7. echarts 玫瑰图比例太小显示优化

    echarts 玫瑰图比例太小显示优化 1.效果图 2.实现思路 3.代码 选择了 echarts 做大数据统计,但是由于统计数据的差异太大,数据特别小的时候,使用玫瑰图展示会造成看不清楚扇区的问题, ...

  8. 02 【eCharts样式定制系列】玫瑰图、环形饼图、漏斗图自定义各项数据的颜色

    描述 在目前的项目中,根据UI设计稿需要实现一个带有大屏的系统首页,在此首页上要添加地图和一些eCharts图表.但是根据UI设计稿,如果要达到美观的目的,需要对eCharts进行定制.此次需要定制的 ...

  9. echarts 饼图的一种---南丁格尔玫瑰图按照百分比大小进行排序以及颜色设置的两种方式(普通设置颜色和渐变色设置)

    本篇博文是记录一下我在开发过程中遇到的一个问题,那就是对于南丁格尔玫瑰图(或者饼图)如何根据百分比大小进行排列,可以很直观的看出数据高低. 首先给大家展示一下官方的样式,具体代码可以去官网上查看:ht ...

  10. 【Python数据分析——使用matplotlib制作南丁格尔玫瑰图】

    目录 一.介绍 二.相关库 三.数据准备 四.pyecahrts代码实现 五.matplotlib代码实现 一.介绍 玫瑰图是弗罗伦斯·南丁格尔所发明的.又名为极坐标面积图,是一种圆形的直方图. 南丁 ...

最新文章

  1. mysql5.6安装及实现双向备份
  2. java 接口与抽象类的区别
  3. Spring Cache 缺陷,我好像有解决方案了
  4. Oracle 查看表空间的大小及使用情况sql语句
  5. 老罗直播带货,抖音依然没有准备好和快手、淘宝直播的PK
  6. Oracle的逆向工程generatorConfig
  7. SpringBoot自动配置实现原理及源码解析(2.3.x)
  8. 利用java.io.File类实现遍历本地磁盘上指定盘符或文件夹的所有的文件
  9. 商学院计算机系篮球策划书,篮球训练营策划书.doc
  10. C#动态库(dll)查看代码工具(反编译工具)
  11. 物联网导论知识部分梳理
  12. 收藏!数据分析、人工智能、产品经理等6个方向学习路线图及参考书目
  13. hpm1005能扫描不能打印_惠普M1005怎么只能打印复印不能扫描了?
  14. ajax iframe的使用方法,使用jQuery和ajax代替iframe的方法(详解)
  15. 知乎python小项目_python项目知乎
  16. 15、Gantt 修改样式部分
  17. SSM之spring事务管理
  18. EXCEL技巧——EXCEL如何实现隔行隔列求和
  19. Moveit运动学模型
  20. 中微子电池(Neutrinovoltaic)是能源发展的新载体

热门文章

  1. 目前流行的、强大的基于Java的机器学习开发库精选
  2. java初级程序员_为什么现在JAVA初级程序员要求这么高?
  3. 数据分析面试之——【群面面经】注意事项与技巧总结
  4. Linux中Vim的安装
  5. 用matlab建立晶体模型,一种建立多晶体几何模型的方法与流程
  6. 大数据创业,数据哪里来?需要跨过几道坎?
  7. python自制网课答案查找器
  8. 真随机数 c语言编程,C语言真正获取随机数
  9. 层次分析法(AHP),超详解,进来秒懂!!
  10. 软件工程第二次自考总结(2020年8月)