Значки форматированного текста Echarts на линейчатой ​​диаграмме

Я пытаюсь сделать так, чтобы в моей диаграмме были значки.

Итак, я следил за документацией и пришел к следующему:

var weatherIcons = {
    'Sunny': './data/asset/img/weather/sunny_128.png',
    'Cloudy': './data/asset/img/weather/cloudy_128.png',
    'Showers': './data/asset/img/weather/showers_128.png'
};

var seriesLabel = {
    normal: {
        show: true,
        textBorderColor: '#333',
        textBorderWidth: 2
    }
}

option = {
    title: {
        text: 'Wheater Statistics'
    },
    tooltip: {
        trigger: 'axis',
        axisPointer: {
            type: 'shadow'
        }
    },
    legend: {
        data: ['City Alpha', 'City Beta', 'City Gamma']
    },
    toolbox: {
        show: true,
        feature: {
            saveAsImage: {}
        }
    },
    xAxis: {
        type: 'category',
        name: 'Days',
        data: ['Cloudy', 'Sunny', 'Showers'],

        formatter: function (value) {
            return '{' + value + '| }\n{value|' + value + '}';
        },
        axisLabel: {
            margin: 20,
            rich: {
                value: {
                    lineHeight: 30,
                    align: 'center'
                },
                Sunny: {
                    height: 20,
                    align: 'center',
                    backgroundColor: {
                        image: weatherIcons.Sunny
                    }
                },
                Cloudy: {
                    height: 20,
                    align: 'center',
                    backgroundColor: {
                        image: weatherIcons.Cloudy
                    }
                },
                Showers: {
                    height: 20,
                    align: 'center',
                    backgroundColor: {
                        image: weatherIcons.Showers
                    }
                }

            }

        }
    },
    yAxis: {
    },
    series: [
        {
            name: 'City Alpha',
            type: 'bar',
            data: [165, 170, 30],

        },
        {
            name: 'City Beta',
            type: 'bar',
            label: seriesLabel,
            data: [150, 105, 110]
        },
        {
            name: 'City Gamma',
            type: 'bar',
            label: seriesLabel,
            data: [220, 82, 63]
        }
    ]
};

Вы можете проверить это, перейдя по этой ссылке: Ссылка на электронные диаграммы и вставка кода.

Однако я могу заставить диаграмму отображать значки.

Может ли кто-нибудь мне помочь?


person Marc Rasmussen    schedule 31.01.2019    source источник


Ответы (1)


Вы заняли неправильное место функции formatter

formatter должен находиться внутри axisLabel

Пример:

xAxis: {
   // ....
   axisLabel: {
      formatter: function (value) {
         return '{' + value + '| }\n{value|' + value + '}';
      },
      // ....
   }
}
person l2aelba    schedule 31.01.2019
comment
это сработало! Спасибо. Один вопрос, как я могу убедиться, что у меня есть значок на всех наборах данных? (категории) - person Marc Rasmussen; 31.01.2019