Нужна единая граница для столбчатой диаграммы с накоплением в Highcharts

#javascript #css #highcharts

#javascript #css #highcharts

Вопрос:

Я получаю границу для каждого данные в гистограмме с накоплением.

chartOptions :

 Highcharts.chart('container', {
    chart: {
        type: 'bar'
    },
    title: {
        text: 'Stacked bar chart'
    },
    xAxis: {
        categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas']
    },
    yAxis: {
        min: 0,
        title: {
            text: 'Total fruit consumption'
        }
    },
    legend: {
        reversed: true
    },
    plotOptions: {
        series: {
            stacking: 'normal'
        }
    },
    series: [{
        name: 'John',
        data: [{
            y: 5,
          borderColor: 'red',
          borderWidth: 4
        }, 3, 4, 7, 2]
    }, {
        name: 'Jane',
        data: [{y: 2,
          borderColor: 'red',
          borderWidth: 4}, 2, 3, 2, 1]
    }, {[enter image description here][1]
        name: 'Joe',
        data: [{y: 3,
          borderColor: 'red',
          borderWidth: 4}, 4, 4, 2, 5]
    }]
});
  

codepen

Я хочу что-то вроде этого изображения

Пожалуйста, помогите мне с правильными chartOptions, которые дают единую границу вокруг панели без нескольких границ вокруг каждой панели.

Спасибо и с уважением

Комментарии:

1. что именно вы ищете?

2. Привет, @Кришна Чайтанья, ты хочешь иметь границы только для одного столбца? Пример: jsfiddle.net/BlackLabel/3jntr5a4

3. @MarcelloPerri пожалуйста, ознакомьтесь с обновленным вопросом.

4. @ppotaczek проверьте обновленный вопрос

Ответ №1:

Вы можете добавлять поддельные ряды с рамкой и динамически обновлять их в зависимости от изменений на диаграмме или отображать пользовательскую форму для имитации границ.

     series: [..., {
        showInLegend: false,
        stacking: false,
        data: [10],
        grouping: false,
        color: 'transparent',
        borderWidth: 4,
        borderColor: 'red'
    }]
  

Живая демонстрация: http://jsfiddle.net/blackLabel/gtLm9hqk/

Ссылка на API:

https://api.highcharts.com/highcharts/series.column

https://api.highcharts.com/class-reference/Highcharts .SVGRenderer#rect

Комментарии:

1. Привет @ppotaczek, большое спасибо за ваш ответ. При первом подходе, как я могу решить эти две проблемы 1. Как добавить границу для 2-го столбца, т.Е. Для Oranges 2. Эффект наведения отсутствует для столбчатой диаграммы с накоплением

2. Привет @Кришна Чайтанья, 1. Измените zIndex свойство для поддельной серии. 2. Просто добавьте еще одну точку данных. Пример: jsfiddle.net/BlackLabel/v0zhrdk6

Ответ №2:

Если вы пытаетесь удалить красную границу, вот решение:

 Highcharts.chart('container', {
    chart: {
        type: 'bar'
    },
    title: {
        text: 'Stacked bar chart'
    },
    xAxis: {
        categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas']
    },
    yAxis: {
        min: 0,
        title: {
            text: 'Total fruit consumption'
        }
    },
    legend: {
        reversed: true
    },
    plotOptions: {
        series: {
            stacking: 'normal'
        }
    },
    series: [{
        name: 'John',
        data: [{
            y: 5,
          borderWidth: 1
        }, 3, 4, 7, 2]
    }, {
        name: 'Jane',
        data: [{
          y: 2,
          borderWidth: 1}, 2, 3, 2, 1]
    }, {
        name: 'Joe',
        data: [{
          y: 3,
          borderWidth: 1}, 4, 4, 2, 5]
    }]
});  

Комментарии:

1. спасибо за ответ, пожалуйста, ознакомьтесь с обновленным вопросом.