官网:http://www.visifire.com/
一直没找到好的中文文档,希望有的这个的可以发个我!
效果图:
前台代码:
<UserControl x:Class="Text_Visifire.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:vc="clr-namespace:Visifire.Charts;assembly=SLVisifire.Charts"
mc:Ignorable="d"
xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
d:DesignWidth="1200" d:DesignHeight="680">
<Grid x:Name="LayoutRoot">
<StackPanel Orientation="Horizontal" >
<!--第一個Chart-->
<vc:Chart Grid.Row="0" Name="chtChartOne" Width="390">
<vc:Chart.AxesY>
<!--Y間隔-->
<vc:Axis Interval="20" Suffix="%"/>
</vc:Chart.AxesY>
</vc:Chart>
<StackPanel>
<Grid x:Name="ChartPanel" Height="250" Width="500">
</Grid>
<Grid x:Name="ChartLine" Height="300" Width="500">
</Grid>
</StackPanel>
<StackPanel>
<Grid x:Name="Chart1" Height="250" Width="500">
</Grid>
<Grid x:Name="Chart2" Height="300" Width="500">
</Grid>
</StackPanel>
</StackPanel>
<!--第二個Chart-->
<!--<vc:Chart Grid.Row="1" Name="chtChartTwo">
<vc:Chart.AxesY>
<vc:Axis Interval="20" Suffix="%"/>
</vc:Chart.AxesY>
<vc:Chart.Series>
<vc:DataSeries RenderAs="Column" LabelEnabled="true" LabelStyle="OutSide" Margin="418,-104,-418,104">
<vc:DataSeries.DataPoints>
<vc:DataPoint AxisXLabel="18-29歲" YValue="31.2"/>
<vc:DataPoint AxisXLabel="30-39歲" YValue="23.3"/>
<vc:DataPoint AxisXLabel="40-49歲" YValue="30.9"/>
<vc:DataPoint AxisXLabel="50-64歲" YValue="35.6"/>
<vc:DataPoint AxisXLabel="65歲以上" YValue="7.6"/>
<vc:DataPoint AxisXLabel="65歲以上" YValue="27.6"/>
<vc:DataPoint AxisXLabel="65歲以上" YValue="2.6"/>
<vc:DataPoint AxisXLabel="65歲以上" YValue="27.6"/>
<vc:DataPoint AxisXLabel="65歲以上" YValue="27.6"/>
</vc:DataSeries.DataPoints>
</vc:DataSeries>
</vc:Chart.Series>
</vc:Chart>-->
</Grid>
</UserControl>
后台代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Navigation;
using Visifire.Charts; namespace Text_Visifire
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
//柱状图
InitPage();
//饼图
ShowPie();
//折线图
ShowLine();
//雷达图
ShowRadar();
//气泡图
ShowBubble();
} #region 柱状图示例
public void InitPage()
{
chtChartOne.View3D = true;
Title title = new Title();
title.Text = "柱状图的标题内容";
chtChartOne.Titles.Add(title); //統計資料列
DataSeries ds = new DataSeries();
//柱状类型
ds.RenderAs = RenderAs.StackedColumn;
//顯示Lable
ds.LabelStyle = LabelStyles.OutSide;
ds.LabelEnabled = true;
//欄
ds.DataPoints.Add(new DataPoint() { AxisXLabel = "18-29歲", YValue = 20.8 });
ds.DataPoints.Add(new DataPoint() { AxisXLabel = "30-39歲", YValue = 28.2 });
ds.DataPoints.Add(new DataPoint() { AxisXLabel = "40-49歲", YValue = 26.5 });
ds.DataPoints.Add(new DataPoint() { AxisXLabel = "50-64歲", YValue = 18.9 });
ds.DataPoints.Add(new DataPoint() { AxisXLabel = "65歲以上", YValue = 17.2 });
chtChartOne.Series.Add(ds);
}
#endregion #region 饼状图示例
public void ShowPie()
{
Chart chart = new Chart();
chart.Width = 450;
chart.Height = 300;
chart.View3D = true; //3D效果
//饼状图的标题设置
Title title = new Visifire.Charts.Title();
title.Text = "这是一个测试用的3D饼状图";
chart.Titles.Add(title); DataSeries dataSeries = new DataSeries();
dataSeries.RenderAs = RenderAs.Pie;
dataSeries.LegendText = "";
DataPoint point;
int numberOfDataPoints = 6;
Random random = new Random();
for (int i = 0; i < numberOfDataPoints; i++)
{
point = new DataPoint();
point.YValue = random.Next(1, 100);
dataSeries.DataPoints.Add(point);
}
chart.Series.Add(dataSeries);
this.ChartPanel.Children.Add(chart);
}
#endregion #region 折线图示例
public void ShowLine()
{
Chart chart = new Chart();
//折线图的标题
Title title = new Title();
title.Text = "折线图的标题";
chart.Titles.Add(title);
//设置类型为折线图
DataSeries dataSeries = new DataSeries();
dataSeries.RenderAs = RenderAs.Spline;
dataSeries.LegendText = "X坐标";
//设置点
DataPoint point;
Random random = new Random();
for (int i = 0; i < 10; i++)
{
point = new DataPoint();
point.YValue = random.Next(1, 100);
dataSeries.DataPoints.Add(point);
}
chart.Series.Add(dataSeries);
this.ChartLine.Children.Add(chart);
}
#endregion #region 雷达图示例
public void ShowRadar()
{
Chart chart = new Chart();
//雷达图的标题
Title title = new Title();
title.Text = "雷达图的标题";
chart.Titles.Add(title);
//设置类型为雷达图
DataSeries dataSeries = new DataSeries();
dataSeries.RenderAs = RenderAs.Radar;
dataSeries.LegendText = "X坐标";
//设置点
DataPoint point;
Random random = new Random();
for (int i = 0; i < 10; i++)
{
point = new DataPoint();
point.YValue = random.Next(1, 100);
dataSeries.DataPoints.Add(point);
}
chart.Series.Add(dataSeries);
this.Chart1.Children.Add(chart);
}
#endregion #region 气泡图示例
public void ShowBubble()
{
Chart chart = new Chart();
//气泡图的标题
Title title = new Title();
title.Text = "气泡图的标题";
chart.Titles.Add(title);
//设置类型为气泡图
DataSeries dataSeries = new DataSeries();
dataSeries.RenderAs = RenderAs.Bubble;
dataSeries.LegendText = "X坐标";
//设置点
DataPoint point;
Random random = new Random();
for (int i = 0; i < 10; i++)
{
point = new DataPoint();
point.YValue = random.Next(1, 100);
dataSeries.DataPoints.Add(point);
}
chart.Series.Add(dataSeries);
this.Chart2.Children.Add(chart);
}
#endregion // 当用户导航到此页面时执行。
//protected override void OnNavigatedTo(NavigationEventArgs e)
//{
//}
}
}
DLL文件以及源码:http://pan.baidu.com/s/1c0q2Y5q