此处使用的DLL与方法是建立在较早版本(14)的Telerik控件的基础上,可能无法直接复制使用,只是用来做一个参考记录。
1、增加DLL
Telerik.Windows.Controls.Charting.dll, Telerik.Windows.Controls.dll Telerik.Windows.Data.dll. |
2、前台
<telerikChart:RadChart x:Name="radChart"
Grid.Row="1"
d:LayoutOverrides="Width, Height">
<telerikChart:RadChart.DefaultView>
<telerikChart:ChartDefaultView>
<telerikChart:ChartDefaultView.ChartTitle>
<telerikChart:ChartTitle Content="标题"
HorizontalAlignment="Stretch" />
</telerikChart:ChartDefaultView.ChartTitle>
</telerikChart:ChartDefaultView>
</telerikChart:RadChart.DefaultView>
</telerikChart:RadChart>
3、后台
//标题
radChart.DefaultView.ChartTitle.Content = "Year 2009";
//线段说明
radChart.DefaultView.ChartLegend.Header = "线段说明";
radChart.DefaultView.ChartLegend.UseAutoGeneratedItems = true;
//X轴,标题,范围,步距,样式
radChart.DefaultView.ChartArea.AxisX.Title = "X轴标题";
radChart.DefaultView.ChartArea.AxisX.AutoRange = true;
radChart.DefaultView.ChartArea.AxisX.Step = 1;
radChart.DefaultView.ChartArea.AxisX.LayoutMode = AxisLayoutMode.Inside;
//Y轴,标题,范围,步距,样式
radChart.DefaultView.ChartArea.AxisY.Title = "Y轴标题";
radChart.DefaultView.ChartArea.ItemOverlapPercent = 0; //同一坐标柱,两个柱子之间的距离,正为重叠,负为相距
radChart.DefaultView.ChartArea.ItemWidthPercent = 50;//不同坐标柱之间的距离。为100的时候紧靠着。
DataSeries barSeries = new DataSeries();
barSeries.LegendLabel = "Expenses";
barSeries.Definition = new BarSeriesDefinition();
barSeries.Add(new DataPoint() { YValue = 45, XCategory = "Jan" });
barSeries.Add(new DataPoint() { YValue = 48, XCategory = "Feb" });
barSeries.Add(new DataPoint() { YValue = 53, XCategory = "Mar" });
barSeries.Add(new DataPoint() { YValue = 41, XCategory = "Apr" });
barSeries.Add(new DataPoint() { YValue = 32, XCategory = "May" });
barSeries.Add(new DataPoint() { YValue = 28, XCategory = "Jun" });
barSeries.Add(new DataPoint() { YValue = 63, XCategory = "Jul" });
barSeries.Add(new DataPoint() { YValue = 74, XCategory = "Aug" });
barSeries.Add(new DataPoint() { YValue = 77, XCategory = "Sep" });
barSeries.Add(new DataPoint() { YValue = 85, XCategory = "Oct" });
barSeries.Add(new DataPoint() { YValue = 89, XCategory = "Nov" });
barSeries.Add(new DataPoint() { YValue = 80, XCategory = "Dec" });
radChart.DefaultView.ChartArea.DataSeries.Add(barSeries)
直接绑定数据源:
int[] dataArray = new int[] { 12, 56, 23, 89, 12, 56, 34, 78, 32, 56 };
this.radChart.ItemsSource = dataArray;
直接绑定数据源2:
List<Manufacturer> data = new List<Manufacturer>();
data.Add(new Manufacturer("Toyota", 215, 462));
data.Add(new Manufacturer("General Motors", 192, 345));
data.Add(new Manufacturer("Volkswagen", 151, 310));
data.Add(new Manufacturer("Ford", 125, 340));
data.Add(new Manufacturer("Honda", 91, 201));
data.Add(new Manufacturer("Nissan", 79, 145));
data.Add(new Manufacturer("PSA", 79, 175));
data.Add(new Manufacturer("Hyundai", 64, 133));
this.radChart.ItemsSource = data;
直接指定数据源3:
DataSeries dataSeries = new DataSeries();
dataSeries.Definition = new BarSeriesDefinition();
dataSeries.Add(new DataPoint() { YValue = 41, XCategory = "Apples" });
dataSeries.Add(new DataPoint() { YValue = 33, XCategory = "Oranges" });
dataSeries.Add(new DataPoint() { YValue = 25, XCategory = "Grapes" });
radChart.DefaultView.ChartArea.DataSeries.Add(dataSeries);