尝试在Xamarin.Android中添加烛台系列到shinobiCharts

时间:2014-05-29 15:15:44

标签: android xamarin shinobi

我是Xamarin的新手,我试图在Xamarin.Android中使用ShinobiCharts来显示烛台数据。 代码来自.axml:

<fragment
            class="com.shinobicontrols.charts.ChartFragment"
            android:id="@+id/chart"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

这是片段,应该显示图表。

var chartFragment = (ChartFragment)FragmentManager.FindFragmentById(Resource.Id.chart);
var chart = chartFragment.ShinobiChart;
chart.SetLicenseKey("license_key");

chart.AddXAxis(new DateTimeAxis
            {
                GesturePanningEnabled = true,
                GestureZoomingEnabled = true
            });

chart.AddYAxis(new NumberAxis
            {
                GesturePanningEnabled = true,
                GestureZoomingEnabled = true
            });

var dataPoints =
                quotes.Select(
                    quoteCandle =>
                        new MultiValueDataPoint(DateUtils.ConvertToJavaDate(TimeStamp.UnixToDate(quoteCandle.Timestamp)),
                            (double) quoteCandle.Low, (double) quoteCandle.High,
                            (double) quoteCandle.Open, (double) quoteCandle.Close)).ToList();

var series = new OHLCSeries { DataAdapter = new SimpleDataAdapter() };
series.DataAdapter.AddAll(dataPoints);
chart.AddSeries(series);
chart.XAxis.Style.GridlineStyle.GridlinesShown = true;
chart.YAxis.Style.GridlineStyle.GridlinesShown = true;
chart.RedrawChart();

这是创建ShinobiCharts的代码。 问题是添加的系列没有显示在图表中。风格改变了,但没有系列。我做错了什么?我希望任何人都可以提供帮助。

2 个答案:

答案 0 :(得分:0)

很抱歉问题,烛台不适用于ShinobiControls的试用版,仅适用于高级版。

答案 1 :(得分:0)

正如sammyd所说,CandlestickSeries可以在适用于Android的ShinobiCharts试用版中获得(与所有其他高级功能一样)。你有没有设法让CandlestickChart样本运行?该示例包含在下载包中。

从表面上看,你的代码看起来很好(没有看到剩下的部分),但我建议你检查一些事情:

  1. 您是否使用我们在下载捆绑包时通过电子邮件发送给您的试用许可证密钥替换了字符串 license_key ?试用许可证密钥是一个非常长的字符和数字字符串。
  2. 您的数据是否符合预期并且有意义(例如,您的低值是否低于开放值等)?
  3. 我不确定它会有什么不同,因为它们几乎可以互换,但你实际上是在代码中创建一个OHLCSeries但是提到了一个CandlestickSeries
  4. 你有没有设置系列&#39;样式对象以某种方式阻止它显示,即你是否将它设置为透明的颜色?
  5. 您是否收到实际错误,如果是,则会记录哪条消息?
  6. 希望以上内容可以帮助您准备好烛台图表!

    编辑:

    如果你正在使用Android模拟器,你的AVD需要打开GPU模拟(因为我们使用OpenGL ES 2.0来渲染图表)。有关在Android developer site上使用模拟器和OpenGL的更多信息。

    免责声明:我为ShinobiControls工作