chelseaNB1 2023-06-19 13:26 采纳率: 75.7%
浏览 106
已结题

echarts如何根据用户选择的数据动态地添加图例

现在是用户选择了数据,python后端以列表套字典的格式传到前端

obj = [{'id':1,'population':0,'r400':0.55,'r401':0.66},{'id':2,'population':2,'r400':0.11,'r401':0.22}]

现在前端能进行曲线(r400-r1000,为了看着简洁,就写了r400和r401)的绘制,目前遇到的问题是如何添加图例(population的值)

window.onload = function(){
        initLine1();
        function initLine1() {
            var mychart = echarts.init(document.getElementById("chart"));
            var series_data = [];
            {% for i in obj %}
               series_data.push([])
            {% endfor %}
            console.log(series_data)
            {% for i in obj %}
            var n = Number({{forloop.counter}} - 1)
            series_data[n].push({{ i.r400 }})
            series_data[n].push({{ i.r401 }})
            {% endfor %}
            var s_data = []
            series_data.forEach(v => {
                            var obj = {data: v,
                            type: "line",
                            symbol:'none'
                            };
                            s_data.push(obj)
                            })
            var option = {
                xAxis: {
                    name:'波长 Wavelength(nm)',
                    nameLocation:'middle',
                    nameGap:30,
                    nameTextStyle:{fontSize:15},
                    axisLabel:{
                        interval:99
                        },
                    type: "category",
                    data:["400","401"]
                        },
                yAxis: {
                    name:'反射率 Reflectance',
                    nameLocation:'middle',
                    nameGap:30,
                    nameTextStyle:{fontSize:15},
                    axisLine:{
                        show:true,
                        },
                    type: "value"
                        },
                tooltip: { // 鼠标悬浮提示框显示 X和Y 轴数据
                    trigger: 'axis',
                    backgroundColor: 'rgba(32, 33, 36,.7)',
                    borderColor: 'rgba(32, 33, 36,0.20)',
                    borderWidth: 1,
                    textStyle: { // 文字提示样式
                        color: '#fff',
                        fontSize: '12'
                                },
                    axisPointer: { // 坐标轴虚线
                        type: 'cross',
                        label: {
                        backgroundColor: '#6a7985'
                                }
                                },
                            },
                toolbox: {
                    feature: {
                        saveAsImage: {}
                    }
                },
                series: s_data
                           };
            mychart.setOption(option);
            };
}

目前的效果↓

img


如有帮助,一定采纳!谢谢!!

  • 写回答

4条回答 默认 最新

  • 全栈若城 新星创作者: 编程技术技术领域 2023-06-19 13:56
    关注

    lengend 没有用吗 ?

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月20日
  • 赞助了问题酬金20元 6月19日
  • 创建了问题 6月19日