我的应用程序中有一个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);
请告诉我这里做错了什么?
看起来你可以轻松完成。看到这个例子: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
}
}
};
在PolarAreaChart的PrimeFaces源代码中,我看到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;