基本的には、カスタム バー幅 (pointWidth) で pointPadding を同時に使用したいと考えています。しかし、私はできません、ここに私の問題があります:
グループ化されたグラフを表示するときに、1 つのグループのバーにパディングのないグラフが必要です。この目的のために、私は pointPadding: "0" を使用しました。これにより、正確に正しいチャートが表示されます。お気に入り:
if(chart_json.chart.defaultSeriesType=='column'){
if(chart_json.xAxis.categories.length >= 1 ){
chart_json.plotOptions.column.groupPadding = "0.05";
chart_json.plotOptions.column.pointPadding = "0.00";
}
}
var chart=new Highcharts.Chart(chart_json,startupObj.startupFunction);
chartObjArray.push(chart);
しかし、カスタム幅を設定すると、1 つのグループのバーの間にスペースが追加されます。
実際にはバーの幅に最大値と最小値を設定したいのですが、Highchart ライブラリからのサポートが見つかりません。したがって、この目的のために、ハイチャートがチャートを生成するときに、生成されたチャートバーの幅が最大制限を超える場合、それを最大制限に設定し、下限にも同じように設定します。
if(chart_json.chart.defaultSeriesType=='column'){
if(chart_json.xAxis.categories.length >= 1 ){
chart_json.plotOptions.column.groupPadding = "0.05";
chart_json.plotOptions.column.pointPadding = "0.00";
}
}
var chart=new Highcharts.Chart(chart_json,startupObj.startupFunction);
chartObjArray.push(chart);
//set bar width
if(chart_json.chart.defaultSeriesType=='column' || chart_json.chart.defaultSeriesType=='bar'){
setChartBarMaxMinWidth(chart,chart_json);
}
setChartContainerWidth(chart_json,chart);
//// * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** ////////// /////////
function setChartBarMaxMinWidth(chart,json){
var maximumBarWidth=70;
var minimumBarWidth=15;
chart_json=eval('('+json.chart_json+')');
for(var j=0;j<chart.series.length;j++){
var series=chart.series[j];
if (series.data[0].pointWidth > maximumBarWidth) {
chart.series[j].options.pointWidth = maximumBarWidth;
isMaxMin='MAX';
}
if (series.data[0].pointWidth < minimumBarWidth) {
chart.series[j].options.pointWidth = minimumBarWidth;
isMaxMin='MIN';
}
};
function setChartContainerWidth(chartOptions,chart){
// calculate # of bars
var numberOfBars=seriesGroupLength*categoriesLength;
// calculate container width
// var containerWidth=numberOfBars*43;
// get chart bar width
var containerWidth=numberOfBars*barWidth;
chart.setSize($(container).width(),$(container).height());
};
setChartContainerWidth() では、highchart setSize() メソッドを使用してチャートのサイズを変更しました。
誰かが 1 つのグループのバー間のスペースを削除するのを手伝ってくれてありがとう。
ありがとう