我有一个扩展AreaChart的Java-Class。在那里,我想实现一个或多或少像这样的方法:
public void addNewColorToData(xCoordinate, yCoordinate, redColor, greenColor, blueColor);
- >函数应获取xCoordinate,yCoordinate的数据参数,然后获取代表线的RGB值。
是否可以使用Inline-Styles为此创建一个新颜色?
在这里你可以看到一个样本。面积图有很多颜色填充! 是否可以添加一些新颜色?
我需要在CSS中添加这样的内联样式:
.default-color0.chart-series-area-fill { -fx-fill: #007Fc350; }
感谢您的帮助
答案 0 :(得分:1)
基于此answer,要创建基于r,g,b参数的内联样式(假设这些是0到255之间的整数),您只需覆盖CHART_COLOR_1
(最多{{ {1}})修改线条颜色的值和CHART_COLOR_8
(最多CHART_COLOR_1_TRANS_20
)修改区域颜色:
CHART_COLOR_8_TRANS_20
修改强>
为了清楚起见,我正在添加这个简短的MVCE:
private AreaChart<String, Number> areaChart;
private void changeColor(int redColor, int greenColor, int blueColor, double opacity){
/* int redColor=0, greenColor=127, blueColor=195;
double opacity=0.4;
*/
areaChart.setStyle("CHART_COLOR_1: rgb("+redColor+","+greenColor+","+blueColor+");" +
"CHART_COLOR_1_TRANS_20: rgba("+redColor+","+greenColor+","+blueColor+");");
}
这将是结果: