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;
}