我需要在android中显示折线图、条形图和蜡烛图。
为此,我正在使用 jqPlot 图表。
我将字符串值从 java 代码传递给 javascript 函数。
在蜡烛图中,脚本仅接受二维数组中的值。
如何在 java 脚本中将字符串转换为二维数组。我的代码如下。
在java代码中。
String myValue = "'06/15/2009 16:00:00', 136.01, 139.5, 134.53, 139.48_"+ "'06/15/2009 16:00:00', 136.01, 139.5, 134.53, 139.48";
webView.loadUrl("javascript:showCandleChart(" + myValue+ ")");
java脚本接受这种格式的值
ohlc = [
['06/15/2009 16:00:00', 136.01, 139.5, 134.53, 139.48],
['06/08/2009 16:00:00', 143.82, 144.56, 136.04, 136.97],
['06/01/2009 16:00:00', 136.47, 146.4, 136, 144.67],
['05/26/2009 16:00:00', 124.76, 135.9, 124.55, 135.81],
['05/18/2009 16:00:00', 123.73, 129.31, 121.57, 122.5],
['05/11/2009 16:00:00', 127.37, 130.96, 119.38, 122.42],
['05/04/2009 16:00:00', 128.24, 133.5, 126.26, 129.19],
['04/27/2009 16:00:00', 122.9, 127.95, 122.66, 127.24],
['04/20/2009 16:00:00', 121.73, 127.2, 118.6, 123.9]]
我的java脚本函数
function showCandleChart(ohlc) {
// here ohlc string need to convert to 2D array as shown in above format.
var plot2 = $
.jqplot(
'chart2',
[ ohlc ],
{
seriesDefaults : {
yaxis : 'y2axis'
},
axes : {
xaxis : {
renderer : $.jqplot.DateAxisRenderer,
tickOptions : {
formatString : '%b %e'
},
min : "09-01-2008",
max : "06-22-2009",
tickInterval : "6 weeks"
},
y2axis : {
tickOptions : {
formatString : '$%d'
}
}
},
// To make a candle stick chart, set the "candleStick" option to true.
series : [ {
renderer : $.jqplot.OHLCRenderer,
rendererOptions : {
candleStick : true
}
} ],
highlighter : {
show : true,
showMarker : false,
tooltipAxes : 'xy',
yvalues : 4,
formatString :
'<table class="jqplot-highlighter"> \
<tr><td>date:</td><td>%s</td></tr> \
<tr><td>open:</td><td>%s</td></tr> \
<tr><td>hi:</td><td>%s</td></tr> \
<tr><td>low:</td><td>%s</td></tr> \
<tr><td>close:</td><td>%s</td></tr></table>'
}
});
}
请帮忙..我应该得到这样的输出。