Попытка выяснить, как назначить определенные цвета определенным точкам данных в круговой диаграмме Highchart - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть случай, когда я не хочу, чтобы точка данных была включена, если она равна нулю, но я бы хотел, чтобы цвет для каждой отображаемой точки был одинаковым независимо.Таким образом, в моем примере с этнической принадлежностью конкретный случай может привести к выходу из Азии, испаноязычных и других, а другой - к выходцу из Африки, Азии и Тихого океана.Я хотел бы, чтобы азиатский в обоих случаях был представлен одним и тем же цветом, а не только первым цветом в списке цветов для первого и вторым цветом в списке цветов для последнего.

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

    var series = [{
    type: 'pie',
    name: 'Ethnicity',
    colorByPoint: true,
    data: [
    <?php if($afam <> 0){echo"['African American', "  . $afam . "],";} ?>
    <?php if($asia <> 0){echo"['Asian', "  . $asia . "],";} ?>
    <?php if($hisp <> 0){echo"['Hispanic/Latino', "  . $hisp . "],";} ?>
    <?php if($naam <> 0){echo"['Native American', "  . $naam . "],";} ?>
    <?php if($other <> 0){echo"['Other', "  . $other . "],";} ?>
    <?php if($pais <> 0){echo"['Pacific Islander', "  . $pais . "],";} ?>
    <?php if($twop <> 0){echo"['Two or More', "  . $twop . "],";} ?>
    <?php if($whit <> 0){echo"['White', "  . $whit . "],";} ?>

    ]
    }];

1 Ответ

0 голосов
/ 06 февраля 2019

Вы можете использовать цвет, встроенный в данные, но вы должны определить свои данные как массив объектов вместо массива массивов и использовать name , y и атрибуты color в каждом из них.В вашем случае это будет что-то вроде ниже (замените YOURCOLOR на ваше другое имя цвета или #hex):

var series = [{
type: 'pie',
name: 'Ethnicity',
colorByPoint: true,
data: [
    <?php if($afam <> 0){echo"{'name': 'African American', 'y': "  . $afam . "},";} ?>
    <?php if($asia <> 0){echo"{'name': 'Asian', 'y': "  . $asia . ", 'color': 'YOURCOLOR'},";} ?>
    <?php if($hisp <> 0){echo"{'name': 'Hispanic/Latino', 'y': "  . $hisp . ", 'color': 'YOURCOLOR'},";} ?>
    <?php if($naam <> 0){echo"{'name': 'Native American', 'y': "  . $naam . ", 'color': 'YOURCOLOR'},";} ?>
    <?php if($other <> 0){echo"{'name': 'Other', 'y': "  . $other . ", 'color': 'YOURCOLOR'},";} ?>
    <?php if($pais <> 0){echo"{'name': 'Pacific Islander', 'y': "  . $pais . ", 'color': 'YOURCOLOR'},";} ?>
    <?php if($twop <> 0){echo"{'name': 'Two or More', 'y': "  . $twop . ", 'color': 'YOURCOLOR'},";} ?>
    <?php if($whit <> 0){echo"{'name': 'White', 'y': "  . $whit . ", 'color': 'YOURCOLOR'},";} ?>

]
}];
...