我正在使用PrimeFaces 7,并尝试使用Chart.js中的条形图,如下所示:
代码:
<p:barChart widgetVar="cfg" model="#{dashboardBean.barModel}" style="width:500px;height:348px;"/>
private void createBarModel(Map<String, Double> delegatesMap) {
barModel = new BarChartModel();
barModel.setExtender("skinBar");
ChartData data = new ChartData();
BarChartDataSet barDataSet = new BarChartDataSet();
barDataSet.setLabel("");
List<Number> valuesList = new ArrayList<>();
List<String> labelsList = new ArrayList<>();
List<String> backgroundColorList = new ArrayList<>();
for (Map.Entry<String, Double> entry : delegatesMap.entrySet()) {
labelsList.add(entry.getKey());
valuesList.add(entry.getValue());
backgroundColorList.add("#00bcd4");
}
barDataSet.setData(valuesList);
barDataSet.setBackgroundColor(backgroundColorList);
data.addChartDataSet(barDataSet);
data.setLabels(labelsList);
barModel.setData(data);
// Options
BarChartOptions options = new BarChartOptions();
CartesianScales cScales = new CartesianScales();
CartesianLinearAxes linearAxes = new CartesianLinearAxes();
CartesianLinearTicks ticks = new CartesianLinearTicks();
ticks.setBeginAtZero(true);
linearAxes.setTicks(ticks);
cScales.addYAxesData(linearAxes);
options.setScales(cScales);
Title title = new Title();
title.setDisplay(true);
title.setText("Sales Income");
title.setFontFamily("Tahoma");
options.setTitle(title);
Legend legend = new Legend();
legend.setDisplay(false);
options.setLegend(legend);
barModel.setOptions(options);
}
我正在尝试使用extender函数更改axis字体系列,如下所示:
function skinBar() {
var options = $.extend(true, {}, this.cfg.config);
options = {
scales: {
yAxes: [{
ticks: {
fontFamily: 'Tahoma',
fontSize:40
}
}],
xAxes: [{
ticks: {
fontFamily: 'Tahoma',
fontSize:40
}
}]
}
}
$.extend(true, this.cfg.config, options);
}
但它不起作用。我怎样才能修好它?