TeeChart for .NET教程:链接图表演示

    TeeChart for .NET图表组件库提供数百种2D和3D图形样式,54种运算和统计函数以及无限数量的坐标轴和14工具箱供你选择。该图表控件还可以有效地用于创建多任务的仪表板。 


    本文章中的演示展示了拥有TeeChart的图表如何在WinForm的应用程序中的表单上相互协作。

    该演示使用了小型技术产品供应商的公司数据的基础;该公司销售电子产品,小型计算机,平板电脑和移动电话,并在全球一些国家拥有市场。

    可以在点击下载使用Visual Studio 2015编写的演示代码

创建项目

    我们创建一个新的的WinForms项目,并将主窗体重命名为ReportForm。

  1. 向表单添加对象。我们将三个图表,一个dataGridView和一个文本框添加到表单中,并将它们放置在占据表单的整个空间中,参见下图。

    Visual Studio中的设计时间

  2. 使用图表编辑器,我们在图表中添加了一个数据集以及一个平滑功能,您可以在此阶段看到填充的随机数据,可以在设计时或运行时添加数据系列。

  3. 我们将公司销售数据放在名为TechProducts Ltd的MS Access文件中,并将该文件放在LinkingCharts解决方案文件夹中。

将数据添加到项目中

    我们已经将数据库添加到项目中,公开表和查询(视图)。

  1. 使用BindingSource的组件,我们连接到访问数据库。数据库已经为我们希望可视化的一些数据准备了查询。对于其他情况,在运行时执行期间,我们将在代码中编写一些SQL查询。

  2. 添加了三个BindingSources,连接到$ _€_SalesByYear,$ _SalesByCountry_2015和$ _SalesByContinent视图。

将图表连接到数据

  1. 要连接到的BindingSource,请打开要修改的图表编辑器,然后选择先前已添加的系列并转到其数据源选项卡。如果单击数据集选项卡,则可以选择要连接该系列的BindingSource的。在以下选择框中,您可以将不同的源字段与X和y系列值列表相关联。

    系列数据源编辑器

  2. 对三个图表重复连接技术。我们已将左栏系列图表连接到SalesByContinent数据,右侧是饼图,连接到SalesByCountry_2015数据,将下线图表连接到SaleByYear数据。

链接图表

  1. 我们现在有三个图表,按大陆,地区(销售国家,非洲大陆)和国家的数据区分。我们在这个演示中的目的是链接三个图表,这样,通过点击大陆图表的条形图,我们可以填充区域图表,通过点击区域图表,我们可以显示所选国家最近几年的销售演变。dataGridView将更新以显示区域图表的内容。

    注意:演示将打开,显示区域图表中的所有国家/地区。文本框更新以显示机器人记者的模拟评论。

  2. 要链接项目页面的不同元素,我们将设置一些图表事件。

ClickSeries事件

    我们正在使用ClickSeries事件,它将会查看点击图表中的值作为参数填充下一个相关图表。我们可以在设计时添加事件定义,方法是选择我们希望操作的图表,然后选择Visual Studio的属性窗口的事件选项卡,在这种情况下,从列表中选择TChart的点击事件。

    这将在Form的代码页中创建事件方法。在这里,我们需要添加一些内容,以便将系列点击与我们希望去的地方联系起来。为清晰起见,我们选择部分手动编码查询。该方法遵循以下步骤:

    以国家/大陆图表的原始查询为基础,对其进行修改以收集所有可用年份的数据。

修改区域查询:

    @contiparam是您要查看的大陆,来自大陆图表值的标签。如果要为查询创建更好的索引,可以使用索引值或其他变量。

string sqlStr =“SELECT Sum(Fact_Invoices.Invoice_Value)AS SumOfInvoice_Value,Lookup_Country.Country_name,Lookup_Continent.continent_name”; 
 sqlStr + =“FROM((Fact_Invoices INNER JOIN Lookup_Customers ON Fact_Invoices.Cod_Customer = Lookup_Customers.Cod_Customer)”; 
 sqlStr + =“INNER JOIN Lookup_Country ON Lookup_Customers.Country_code_A2 = Lookup_Country.Country_code_A2)”; 
 sqlStr + =“INNER JOIN Lookup_Continent ON Lookup_Country.Continent = Lookup_Continent.continent”; 
 sqlStr + =“where Lookup_Continent.continent_name = @contiParam GROUP BY Lookup_Country.Country_name,Lookup_Continent.continent_name”;

修改国家/地区查询:

    我们将要审核的国家/地区的标签作为国家/地区时间查询的参数。

string sqlStr =“SELECT Sum(Fact_Invoices.Invoice_Value)AS SumOfInvoice_Value,Fact_Invoices.Invoice_year AS AYear,Lookup_Country.Country_name”; sqlStr + =“FROM(Lookup_Customers INNER JOIN Fact_Invoices ON Lookup_Customers.Cod_Customer = Fact_Invoices.Cod_Customer)”; sqlStr + =“INNER JOIN Lookup_Country ON Lookup_Customers.Country_code_A2 = Lookup_Country.Country_code_A2”; sqlStr + =“WHERE Lookup_Country.Country_name = @countryParam”; sqlStr + =“GROUP BY Fact_Invoices.Invoice_year,Lookup_Country.Country_name”;

    这些查询足以链接图表,我们从GridView控件以相同的方式点击一下。以其中一个为例,对于区域图表,您可以看到如何为收件人图表创建的BindingSource以方便插入。

    使用SQL查询创建和使用新的BindingSource的作为网格和图表的源。

DataSet customers = new DataSet();

System.Data.OleDb.OleDbDataAdapter myAdapter = new System.Data.OleDb.OleDbDataAdapter(sqlStr, this.___SalesByCountry_2015TableAdapter.Connection);

//apply region code
myAdapter.SelectCommand.Parameters.Clear();
myAdapter.SelectCommand.Parameters.Insert(0, new System.Data.OleDb.OleDbParameter("contiParam", region));
myAdapter.Fill(customers, "Customers");

bindEurope = new BindingSource();
bindEurope.DataSource = customers;
bindEurope.DataMember = customers.Tables[0].ToString();

dataGridView1.DataSource = bindEurope;
dataGridView1.Refresh();

dataGridView1.Columns[0].HeaderText = "Sales Income";
dataGridView1.Columns[1].HeaderText = "Country";
dataGridView1.Columns[2].HeaderText = "Continent";

tChart3[0].DataSource = bindEurope;
tChart3[0].YValues.DataMember = "SumOfInvoice_Value";
tChart3[0].LabelMember = "Country_name";

tChart3[0].CheckDataSource();

TeeChart使用Chart Series的CheckDatasource()方法刷新Chart数据。

应用输出

    下列两图的屏幕截图显示了运行时的应用程序。

TechProStart-300x163.png

    

欧洲和瑞士选择

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TeeChart .NET 是一款非常强大的图表控件,在进行数据可视化时,我们经常需要对图表进行一些调整和优化,此时就需要使用 TeeChart 提供的一些工具集合。在本篇文章中,我们将介绍 TeeChart 中的轴工具,包括:轴标签工具、轴标题工具、轴网格线工具、轴刻度线工具等。 一、轴标签工具 轴标签工具可以用来设置轴的标签格式和样式,包括字体、颜色、大小、角度、间隔等。使用轴标签工具,可以使图表更加美观、易于阅读。 在 TeeChart 中,轴标签工具默认是开启的,我们可以通过以下代码来获取和设置轴标签工具: ```csharp // 获取 X 轴标签工具 Steema.TeeChart.Tools.AxisLabelTool axisLabelToolX = tChart1.Axes.Bottom.Labels; // 获取 Y 轴标签工具 Steema.TeeChart.Tools.AxisLabelTool axisLabelToolY = tChart1.Axes.Left.Labels; // 设置 X 轴标签工具 tChart1.Axes.Bottom.Labels.Font.Size = 12; tChart1.Axes.Bottom.Labels.Font.Color = Color.Red; tChart1.Axes.Bottom.Labels.Angle = 45; // 设置 Y 轴标签工具 tChart1.Axes.Left.Labels.Font.Size = 12; tChart1.Axes.Left.Labels.Font.Color = Color.Blue; tChart1.Axes.Left.Labels.Angle = -45; ``` 二、轴标题工具 轴标题工具可以用来设置轴的标题格式和样式,包括字体、颜色、大小、角度等。使用轴标题工具,可以使图表更加清晰、易于理解。 在 TeeChart 中,轴标题工具默认是关闭的,我们可以通过以下代码来获取和设置轴标题工具: ```csharp // 获取 X 轴标题工具 Steema.TeeChart.Tools.AxisTitleTool axisTitleToolX = tChart1.Axes.Bottom.Title; // 获取 Y 轴标题工具 Steema.TeeChart.Tools.AxisTitleTool axisTitleToolY = tChart1.Axes.Left.Title; // 设置 X 轴标题工具 tChart1.Axes.Bottom.Title.Text = "X 轴标题"; tChart1.Axes.Bottom.Title.Font.Size = 12; tChart1.Axes.Bottom.Title.Font.Color = Color.Red; tChart1.Axes.Bottom.Title.Angle = 0; // 设置 Y 轴标题工具 tChart1.Axes.Left.Title.Text = "Y 轴标题"; tChart1.Axes.Left.Title.Font.Size = 12; tChart1.Axes.Left.Title.Font.Color = Color.Blue; tChart1.Axes.Left.Title.Angle = -90; ``` 三、轴网格线工具 轴网格线工具可以用来设置轴的网格线格式和样式,包括颜色、宽度、样式等。使用轴网格线工具,可以使图表更加清晰、易于阅读。 在 TeeChart 中,轴网格线工具默认是关闭的,我们可以通过以下代码来获取和设置轴网格线工具: ```csharp // 获取 X 轴网格线工具 Steema.TeeChart.Tools.AxisGridTool axisGridToolX = tChart1.Axes.Bottom.Grid; // 获取 Y 轴网格线工具 Steema.TeeChart.Tools.AxisGridTool axisGridToolY = tChart1.Axes.Left.Grid; // 设置 X 轴网格线工具 tChart1.Axes.Bottom.Grid.Visible = true; tChart1.Axes.Bottom.Grid.Color = Color.Gray; tChart1.Axes.Bottom.Grid.Style = System.Drawing.Drawing2D.DashStyle.Dot; // 设置 Y 轴网格线工具 tChart1.Axes.Left.Grid.Visible = true; tChart1.Axes.Left.Grid.Color = Color.Gray; tChart1.Axes.Left.Grid.Style = System.Drawing.Drawing2D.DashStyle.Dot; ``` 四、轴刻度线工具 轴刻度线工具可以用来设置轴的刻度线格式和样式,包括颜色、宽度、样式等。使用轴刻度线工具,可以使图表更加清晰、易于阅读。 在 TeeChart 中,轴刻度线工具默认是关闭的,我们可以通过以下代码来获取和设置轴刻度线工具: ```csharp // 获取 X 轴刻度线工具 Steema.TeeChart.Tools.AxisMinorGridTool axisMinorGridToolX = tChart1.Axes.Bottom.MinorTicks; // 获取 Y 轴刻度线工具 Steema.TeeChart.Tools.AxisMinorGridTool axisMinorGridToolY = tChart1.Axes.Left.MinorTicks; // 设置 X 轴刻度线工具 tChart1.Axes.Bottom.MinorTicks.Visible = true; tChart1.Axes.Bottom.MinorTicks.Color = Color.Gray; tChart1.Axes.Bottom.MinorTicks.Style = System.Drawing.Drawing2D.DashStyle.Dot; // 设置 Y 轴刻度线工具 tChart1.Axes.Left.MinorTicks.Visible = true; tChart1.Axes.Left.MinorTicks.Color = Color.Gray; tChart1.Axes.Left.MinorTicks.Style = System.Drawing.Drawing2D.DashStyle.Dot; ``` 总结 轴工具是 TeeChart 中非常重要的一部分,可以帮助我们对图表进行更细致的调整和优化。在使用轴工具时,需要根据实际需求来设置相应的属性,以达到最佳的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值