簡體   English   中英

Amcharts的股票圖表:javascript中的行與舊版Flash版本太簡單了

[英]Amcharts' stockchart : lines in javascript too simple versus old flash version

我必須將Flash版本的舊amcharts庫存表更新為javascript版本。 我做到了,但是結果對我的客戶來說太不同了。

Flash版本: 舊圖

新的javascript版本: 新圖

如您所見,與舊版本相比,新版本上的圖形線條確實太簡單了,沒有足夠的詳細信息。

這是新圖的代碼:

var chart = new AmCharts.AmStockChart();
chart.dataSets = dataSets;

var stockPanel = new AmCharts.StockPanel();
stockPanel.showCategoryAxis = true;
stockPanel.numberFormatter = {precision:2, decimalSeparator:',', thousandsSeparator:' '};
stockPanel.percentFormatter = {precision:2, decimalSeparator:',', thousandsSeparator:' '};


var graph = new AmCharts.StockGraph();
graph.valueField = 'value';
graph.openField = 'open';

graph.closeField = 'close';
graph.comparable = true;
graph.type = 'line';
graph.minDistance = 0;
graph.noStepRisers = true;
graph.clustered = false;

stockPanel.addStockGraph(graph);

var stockLegend = new AmCharts.StockLegend();
stockLegend.markerType = 'bubble';
stockLegend.markerSize = 8;
stockLegend.periodValueText = '[[value.close]]';
stockLegend.valueTextComparing = '[[value]] | [[percents.value]]%';
stockLegend.periodValueTextComparing = '[[value.close]] | [[percents.value.close]]%';
stockLegend.horizontalGap = 1;
stockLegend.spacing = 100;

stockPanel.stockLegend = stockLegend;


chart.panels = [ stockPanel ];

var categoryAxesSettings = new AmCharts.CategoryAxesSettings();

chart.categoryAxesSettings  = categoryAxesSettings;


var scrollbarSettings = new AmCharts.ChartScrollbarSettings();
scrollbarSettings.color = '#000';
scrollbarSettings.gridColor = '#fff';
scrollbarSettings.backgroundColor = '#fff';
scrollbarSettings.gridColor = '#fff';
scrollbarSettings.graphFillColor = '#F5F5F5'; //jsonData.funds.color;
scrollbarSettings.selectedGraphFillColor = '#CCDDE9';
scrollbarSettings.selectedBackgroundColor = '#fff'
scrollbarSettings.graph = graph;
scrollbarSettings.graphType = 'line';
scrollbarSettings.usePeriod = "MM";


chart.chartScrollbarSettings = scrollbarSettings;

var periodSelector = new AmCharts.PeriodSelector();
periodSelector.position = 'top';
periodSelector.fromText = '';
periodSelector.toText = ' - ';
periodSelector.periodsText = '';
periodSelector.dateFormat = 'DD/MM/YYYY';
periodSelector.periods = [
    { period: 'MM', count: 1, label: '1M' },
    { period: 'MM', count: 3, label: '3M' },
    { period: 'YYYY', count: 1, label: '1Y' },
    { period: 'YYYY', count: 3, label: '3Y' },
    { period: 'YYYY', count: 5, label: '5Y' },
    { period: 'YTD', label: 'YTD' },
    { period: 'MAX', label: 'MAX' }
];
chart.periodSelector = periodSelector;

chart.write('fund_historic');

我必須添加或更改哪個參數? 謝謝

好,我找到了。 比較Flash設置文件時,我看到max_series參數固定為300,這是javascript版本默認值的兩倍。

所以這是解決方案:

var categoryAxesSettings = new AmCharts.CategoryAxesSettings();
categoryAxesSettings.maxSeries = 300;
chart.categoryAxesSettings  = categoryAxesSettings;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM