2017-08-17 66 views
0

我有這樣的日期沒有數據2017/07/17,2017/07/16,2017/07/15 因爲他們是銀行假期。amchart從X軸移除銀行假期

chartData = new Array(); 
     chartData[0] = new Array(); 
     chartData[0].closePrice = 1207;  
     chartData[0].date = new Date("2017/07/12"); 
     chartData[1] = new Array(); 
     chartData[1].closePrice = 1227;  
     chartData[1].date = new Date("2017/07/13"); 
     chartData[2] = new Array(); 
     chartData[2].closePrice = 1216;  
     chartData[2].date = new Date("2017/07/14"); 
     chartData[3] = new Array(); 
     chartData[3].closePrice = 1234;  
     chartData[3].date = new Date("2017/07/18"); 

我使用這個chartData作爲dataProvider來製作圖。

var dataSet = new AmCharts.DataSet(); 
dataSet.dataProvider = chartData; 
dataSet.categoryField = "date"; 

chart.dataSets = [dataSet]; 


var stockPanel = new AmCharts.StockPanel(); 
stockPanel.title = "Stock Main"; 
stockPanel.id = "stockPanel"; 
stockPanel.showCategoryAxis = false; 
stockPanel.recalculateToPercents = "never"; 

var valueAxis = new AmCharts.ValueAxis(); 
valueAxis.dashLength = 5; 
stockPanel.addValueAxis(valueAxis); 
stockPanel.categoryAxis.dashLength = 5; 
stockPanel.categoryAxis.equalSpacing = true; // it doesn't work .... 

var graph = new AmCharts.StockGraph(); 
graph.type = "line"; 
graph.valueField = "closePrice"; 
stockPanel.addStockGraph(graph); 

然而2017/07/152017/07/162017/07/16繪製在X軸上,即使沒有數據。

即使.equalSpacing看起來是徒勞的。

我該如何刪除這個?

回答

1

您必須在股票圖表中的categoryAxesSettings屬性中設置equalSpacing才能正常工作。

//object-based setup 
chart.categoryAxesSettings = new AmCharts.CategoryAxesSettings(); 
chart.categoryAxesSettings.equalSpacing = true; 
//makeChart version 
AmCharts.makeChart("chartdiv", { 
    // ... 
    "categoryAxesSettings": { 
    "equalSpacing": true 
    }, 
    // ... 
}); 

Demo

+0

非常感謝你,我需要做'Amcharts.CategoryAxesSettings'。 – whitebear