echarts的图例,自定义格式化显示的数据如何右对齐

发布于 2022-09-11 21:38:39 字数 992 浏览 26 评论 0

如图

clipboard.png

右边的数据是我自定义格式化显示出来的,代码如下

legend: {
            show: 'true',
            top: '30%',
            left: '50%',
            orient: 'vertical',
            icon:"circle",
            itemWidth:8,
            itemHeight:8,
            data:this.currentLegend,
            selectedMode: false,
            // 自定义格式化数据
            formatter: name => {
              var index = 0;
              var clientlabels = this.currentLegend;
              var clientcounts = this.currentData;
              clientlabels.forEach(function(value, i) {
                if (value == name) {
                  index = i;
                }
              });
              return name + " " + clientcounts[index].value + '%'
            }
        },

但是我想要实现下面的效果,不知道如何实现

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

鹤仙姿 2022-09-18 21:38:39

https://blog.csdn.net/GXing00...
可以看看这篇博客

let arr = [  '{a|' + name + '}{b|' + target + '}{c|' + ((target / total) * 100).toFixed(2) + '%];
 
                          return arr.join('\n')
textStyle: {
                          rich: {
                              a: {
                                  verticalAlign: 'right',
                                  fontSize: 12,
                                  align: 'left',
                                  // padding:[0,28,0,0],
                                  width: 70
                              },
                              b: {
                                  fontSize: 12,
                                  align: 'left',
                                  // padding:[0,28,0,0],
                                  width: 50
 
                              },
                              c: {
                                  fontSize: 12,
                                  align: 'left',
                                  width: 50
                              }
                          }
                      },
                  },
ぽ尐不点ル 2022-09-18 21:38:39
formatter: name => {
            let space = `\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000`
            space = space.slice(0, 7 - name.length)
            return `${name}${space}${this.objData[name]}`
          }

可以试试这样

梦过后 2022-09-18 21:38:39

left属性改为right,行不?

https://www.echartsjs.com/exa...
clipboard.png

苏辞 2022-09-18 21:38:39

富文本标签 https://echarts.baidu.com/opt...

legend: {
            show: 'true',
            top: '30%',
            left: '50%',
            orient: 'vertical',
            icon:"circle",
            itemWidth:8,
            itemHeight:8,
            data:this.currentLegend,
            selectedMode: false,
            // 自定义格式化数据
            formatter: name => {
              var index = 0;
              var clientlabels = this.currentLegend;
              var clientcounts = this.currentData;
              clientlabels.forEach(function(value, i) {
                if (value == name) {
                  index = i;
                }
              });
              return `{name|${name}}  {value|${clientcounts[index].value}%}`
            },
            textStyle: {
              rich: {
                name: {
                  width: 80
                },
                value: {
                  width: 80,
                  align: 'right'
                }
              }
            }
        },
罗罗贝儿 2022-09-18 21:38:39
relVal += '<br/><b>' + params[i].marker + params[i].seriesName + '</b>     ' + '<span style="float: right">' + (100 *
                parseFloat(params[i].value) / parseFloat(total)).toFixed(2) + '%' + '</span>'

使用 float: right 即可

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文