Echarts之风力风速玫瑰图

风力风速玫瑰图

前言

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

图1-1在这里插入图片描述
图1-2图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图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: ''},  
  • 11
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值