我需要在windows metro app.Im中实现烛台图表,而不是寻找任何像visfire..ineed这样的图表控件,一个开源代码或一个如何构建it...Please的方法来帮助我…
发布于 2013-04-03 23:10:02
OxyPlot是一个开源的、跨平台的.NET绘图库。它可用于WPF,Windows Store Apo,Silverlight和Windows窗体。
CodePlex页面:http://oxyplot.codeplex.com/
NuGet包(必须已安装NuGet v2.1或更高版本):http://nuget.org/List/Packages/OxyPlot.Metro
示例应用:http://apps.microsoft.com/webpdp/app/oxyplot-example-browser/95b37c05-f2b0-4186-b48e-01b6fcbeec5d
在这里,我将演示如何在Windwos商店应用程序中使用蜡烛棒系列图表
XAML
我带上了xmlns:oxy="using:OxyPlot.Metro" intag
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<oxy:Plot x:Name="Plot1" Background="White"/>
</Grid>C#
protected override void OnNavigatedTo(NavigationEventArgs e)
{
Plot1.Model = CandleStickSeries();
}
public PlotModel CandleStickSeries()
{
PlotModel plotModel = new PlotModel("Candle Stick Series", null)
{
LegendSymbolLength = 24.0
};
CandleStickSeries candleStickSeries = new CandleStickSeries("random values")
{
Color = OxyColors.Black
};
Random random = new Random();
double num = 100.0;
for (int i = 0; i < 16; i++)
{
num = num + random.NextDouble() + 0.1;
double num2 = num + 10.0 + random.NextDouble() * 10.0;
double num3 = num - (10.0 + random.NextDouble() * 10.0);
double open = num3 + random.NextDouble() * (num2 - num3);
double close = num3 + random.NextDouble() * (num2 - num3);
candleStickSeries.Items.Add(new HighLowItem((double)i, num2, num3, open, close));
}
plotModel.Series.Add(candleStickSeries);
plotModel.Axes.Add(new LinearAxis(AxisPosition.Left, double.NaN, double.NaN, null)
{
MaximumPadding = 0.3,
MinimumPadding = 0.3
});
return plotModel;
}发布于 2013-04-03 17:58:13
这是我所知道的唯一的WindowsPhone开源图表实现:amCharts
HTH
https://stackoverflow.com/questions/15783825
复制相似问题