Диаграмма PrimeFaces PolarArea - Изменение цвета GridLine - PullRequest
1 голос
/ 12 марта 2019

В моем приложении есть p:polarAreaChart диаграмма, и я использую Primefaces primefaces-7.0.RC1 с JSF2 .

Я хочу изменить цвет линии каждого круга (GridLine). Я пробовал следующий код, но не работал вообще.

gridLines.setDisplay(true);

gridLines.setColor("rgb(255, 255, 255)");

gridLines.setLineWidth(10);

radialScales.setGridLines(gridLines);

options.setScales(radialScales);

polarAreaMode.setOptions(options);

Пожалуйста, дайте мне знать, что я здесь не так сделал?

1 Ответ

0 голосов
/ 12 марта 2019

Похоже, вы можете сделать это легко.См. Этот пример: https://www.chartjs.org/samples/latest/charts/polar-area.html

и в источнике представления этой страницы с использованием "backgroundColor":

        var randomScalingFactor = function() {
            return Math.round(Math.random() * 100);
        };

        var chartColors = window.chartColors;
        var color = Chart.helpers.color;
        var config = {
            data: {
                datasets: [{
                    data: [
                        randomScalingFactor(),
                        randomScalingFactor(),
                        randomScalingFactor(),
                        randomScalingFactor(),
                        randomScalingFactor(),
                    ],
                    backgroundColor: [
                        color(chartColors.red).alpha(0.5).rgbString(),
                        color(chartColors.orange).alpha(0.5).rgbString(),
                        color(chartColors.yellow).alpha(0.5).rgbString(),
                        color(chartColors.green).alpha(0.5).rgbString(),
                        color(chartColors.blue).alpha(0.5).rgbString(),
                    ],
                    label: 'My dataset' // for legend
                }],
                labels: [
                    'Red',
                    'Orange',
                    'Yellow',
                    'Green',
                    'Blue'
                ]
            },
            options: {
                responsive: true,
                legend: {
                    position: 'right',
                },
                title: {
                    display: true,
                    text: 'Chart.js Polar Area Chart'
                },
                scale: {
                    ticks: {
                        beginAtZero: true
                    },
                    reverse: false
                },
                animation: {
                    animateRotate: false,
                    animateScale: true
                }
            }
        };

И, глядя в исходный код PrimeFaces для PolarAreaChart, я вижу, BackgroundColor принимает списокстрок, которые являются строкой RGB.

public class PolarAreaChartDataSet extends ChartDataSet {

    private static final long serialVersionUID = 1L;

    private List<Number> data;
    private List<String> backgroundColor;
    private List<String> borderColor;
    private List<Number> borderWidth;
    private List<String> hoverBackgroundColor;
    private List<String> hoverBorderColor;
    private List<Number> hoverBorderWidth;
...