Echarts 扇形图标 扇形中间添加颜色和数据 图例后的汉字自定义颜色 和图例后添加百分比

1. 扇形中间添加颜色和数据   option 里面的代码

state.optionPlannedWaterWithdrawal = {
            tooltip: {
              trigger: 'item'
            },
            legend: {
              orient: 'vertical',
              top: '10%',
              right: '18%',
              data: ['第一泄洪道', '小青龙河', '滦柏输水干渠', '其他'],
              formatter: (name) => {
                const value = arrAll.filter(x => x.name == name)[0].value;
                if(name == '第一泄洪道'){
                  return '{name|' + name + '}{value|' + value + 'm³}'
                }else if(name == '小青龙河'){
                  return '{name|' + name + '}{value1|' + value + 'm³}'
                }else if(name == '滦柏输水干渠'){
                  return '{name|' + name + '}{value2|' + value + 'm³}'
                }else if(name == '其他'){
                  return '{name|' + name + '}{value3|' + value + 'm³}'
                }
              },
              textStyle: {
                rich: {
                  name: {
                    fontSize: 15,
                    align: 'right',
                    padding: [0, 0, 0, 10],
                    // lineHeight: 40,
                  },
                  value: {
                    fontSize: 15,
                    align: 'right',
                    padding: [0, 0, 0, 10],
                    color: '#63F3DF',
                  },
                  value1: {
                    fontSize: 15,
                    align: 'right',
                    padding: [0, 0, 0, 10],
                    color: '#9A67FF',
                  },
                  value2: {
                    fontSize: 15,
                    align: 'right',
                    padding: [0, 0, 0, 10],
                    color: '#63F371',
                  },
                  value3: {
                    fontSize: 15,
                    align: 'right',
                    padding: [0, 0, 0, 10],
                    color: '#2D5BFF',
                  }, 
                }
              }
            },
            series: [
              {
                name: '地表水',
                type: 'pie',
                radius: ['60%', '70%'],
                avoidLabelOverlap: false,
                itemStyle: {
                  borderRadius: 10,
                  borderColor: '#fff',
                  borderWidth: 2
                },
                tooltip: {
                  valueFormatter: function (value) {
                    return value + 'm³';
                  }
                },
                color: ['#63F3DF', '#9A67FF', '#63F371', '#2D5BFF',],
                label: {
                  show: true,
                  position: 'center',
                  formatter: ['{a|32.689万m³}', '{b|实际取数量}'].join('\n'),
                  width: 86,
                  height: 86,
                  fontSize: 16,
                  fontWeight: 'bold',
                  backgroundColor: '#e8ddff',
                  shadowColor: '#e3e3e3',
                  shadowBlur: 15,
                  borderRadius: 39,
                  rich: {
                    a: {
                      padding: [60, 0, 0, 0],
                      color: '#000',
                      fontSize: 13,
                      fontWeight: 600,
                      lineHeight: 13
                    },
                    b: {
                      padding: [70, 0, 0, 0],
                      color: '#000',
                      fontSize: 12,
                      lineHeight: 16
                    }
                  }
                },
                labelLine: {
                  show: false
                },
                data: [
                  { value: 1048, name: '第一泄洪道' },
                  { value: 735, name: '小青龙河' },
                  { value: 735, name: '滦柏输水干渠' },
                  { value: 735, name: '其他' },
                ]
              }
            ]
          };

2.添加百分比

state.reportOption = {
          tooltip: {
            trigger: "item",
          },
          legend: {
            orient: 'vertical',
            right: '0%',
            top: 'center',
            data: arrs,
            formatter: (name) => {
              let total = 0
              let target
              const value = state.deptCountList.filter(x => x.name == name)[0].value
              for (let i = 0, l = state.deptCountList.length; i < l; i++) {
                total += state.deptCountList[i].value
                if (state.deptCountList[i].name == name) {
                  target = state.deptCountList[i].value
                }
              }
              const arr = [
                '{name|' + name + '}{percentage|' + ((target / total) * 100).toFixed(2) + '%}{value|' + value + '}'
              ]
              return arr.join('\n')
            },
            textStyle: {
              rich: {
                name: {
                  fontSize: 15,
                  align: 'right',
                  padding: [10, 10, 10, 0],
                  lineHeight: 40,
                },
                value: {
                  fontSize: 15,
                  align: 'right',
                  padding: [10, 10, 10, 0],
                  lineHeight: 40,
                },
                percentage: {
                  fontSize: 15,
                  align: 'right',
                  padding: [10, 10, 10, 0],
                  lineHeight: 40,
                },
              }
            }
          },
          series: [
            {
              name: "告警统计",
              type: "pie",
              radius: ["30%", "60%"],
              avoidLabelOverlap: false,
              label: {
                show: false,
                position: "center",
              },
              emphasis: {
                label: {
                  show: true,
                  fontSize: 20,
                },
              },
              labelLine: {
                show: false,
              },
              data: state.deptCountList,
            },
          ],
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是一个简单的 echarts 数据可视化案例,用于展示不同城市的人口数量: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ECharts 示例</title> <!-- 引入 echarts.js --> <script src="https://cdn.jsdelivr.net/npm/echarts@4.9.0/dist/echarts.min.js"></script> </head> <body> <!-- 为 echarts 准备一个具备大小(宽高)的 DOM --> <div id="main" style="width: 600px;height:400px;"></div> <script> // 基于准备好的 dom,初始化 echarts 实例 var myChart = echarts.init(document.getElementById('main')); // 指定图表的配置项和数据 var option = { title: { text: '不同城市的人口数量' }, tooltip: {}, legend: { data:['人口数量'] }, xAxis: { data: ["北京","上海","广州","深圳","杭州"] }, yAxis: {}, series: [{ name: '人口数量', type: 'bar', data: [2154, 2424, 1350, 1250, 852] }] }; // 使用刚指定的配置项和数据显示图表。 myChart.setOption(option); </script> </body> </html> ``` 这个例子中,我们使用了 echarts 的 JavaScript 库来实现一个柱状图,用于展示不同城市的人口数量。我们首先引入 echarts.js 文件,然后在 HTML 中创建一个具备大小(宽高)的 DOM 元素作为图表的容器。接下来,我们使用 JavaScript 代码来初始化 echarts 实例,并指定图表的配置项和数据。在这个例子中,我们使用了一个简单的柱状图,并设置了标题、图例、x 轴和 y 轴的标签以及数据。最后,我们使用 `myChart.setOption(option)` 方法来渲染图表。 ### 回答2: ECharts是百度开发的一款基于JavaScript的数据可视化工具,可以用于创建交互式的图表和地图,以展示复杂的数据信息和统计结果。以下是一个使用ECharts实现的数据可视化案例。 假设我们要展示某个公司不同部门的销售额,可以利用饼图来展示各个部门的销售额占比。首先,我们可以通过ECharts提供的API,将数据以JSON的格式传递给饼图实例,并指定显示的容器。 接下来,根据传入的数据,我们可以在饼图中添加不同的扇形区域,每个扇形区域代表一个部门的销售额。可以通过设置不同的颜色、标签和百分比来区分和描述不同部门的销售情况。 同时,我们也可以为饼图添加鼠标事件,例如鼠标悬停在特定的扇形区域时,可以显示该部门的具体销售额和占比等信息,增加了交互性和用户体验。 除了饼图,ECharts还支持折线图、柱状图等多种图表类型,可以根据不同的数据展示需求选择合适的图表类型。例如,如果我们需要展示公司每个季度的销售额变化趋势,可以选择折线图,通过不同的线条来表示不同季度的销售额,并添加刻度和标签,以便用户更清晰地了解销售情况。 总而言之,ECharts提供了丰富的图表类型和可定制的样式,可以帮助开发者快速实现数据的可视化展示。无论是在企业的数据分析报告中,还是在互联网应用的数据展示界面中,ECharts都是一个强大的工具,能够将复杂的数据转化为直观、易懂的图表,帮助用户更好地理解和分析数据。 ### 回答3: ECharts是由百度开发的一款开源的数据可视化库,可用于创建各种类型的图表和图形。以下是一个关于ECharts数据可视化的案例。 假设我们是一家电商公司,想要通过数据可视化来分析我们的销售情况和用户行为。我们可以使用ECharts创建不同类型的图表,例如柱状图、折线图和饼图等,来展示各种数据信息。 首先,我们可以使用柱状图来展示每个产品的销售数量和销售额。柱状图可以清晰地显示出各个产品之间的销售差距,帮助我们了解哪些产品受到了用户的青睐。 接下来,我们可以使用折线图来展示销售额的趋势和变化。折线图可以显示出销售额的变化趋势,帮助我们分析销售业绩的增长和下降原因,并做出相应的调整和决策。 另外,我们还可以使用饼图来展示不同地区用户的比例或不同产品的销售占比。饼图直观地显示出各类别数据的相对比例,并帮助我们快速了解不同地区或产品的销售情况。 除了以上几种基本图表,ECharts还提供了许多其他类型的图表和功能,例如地图、雷达图等,可以根据不同的需求和数据结构选择合适的图表来进行数据可视化展示。 通过ECharts数据可视化,我们可以更直观地了解和分析各种销售和用户行为数据,从而更好地优化产品设计、调整市场策略,提高销售业绩和用户体验。 总而言之,ECharts数据可视化案例是通过使用ECharts库创建各种类型的图表和图形,从而清晰地展示各种数据信息,帮助我们更好地了解和分析数据,并做出相应的决策和调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值