图表控件TeeChart for .NET系列教程五:图例设计

在TeeChar系列教程中,上一章我们主要讲解了如何实现轴控制(中),今天我们继续为大家讲解实现轴控制的最后一部分。

图表控件TeeChart for .NET系列教程五:图例设计

TeeChart for .NET是优秀的工业4.0 WinForm图表控件,官方独家授权汉化,集功能全面、性能稳定、价格实惠等优势于一体。TeeChart for .NET 中文版还可让您在使用和学习上没有任何语言障碍,至少可以节省30%的开发时间。

TeeChart for .NET最新版下载

在TeeChar系列教程中,上一章我们主要讲解了如何实现轴控制,今天我们继续为大家讲解“如何实现图例设计”,主要包括“图例控制”、“定制图例”两部分。

TeeChart for .NET技术交流QQ群: ,欢迎加入

一、图例控制

  • 风格选项卡
  • 位置选项卡
  • 符 选项卡
  • 格式选项卡
  • 文本选项卡
  • 梯度选项卡
  • 阴影选项卡
  • 斜面选项卡

二、定制图例

  • OnGetLegendRect事件
  • OnGetLegendPos事件
  • OnGetLegendText事件

将每个系列的最后一个值放在图例框中。

[C#] tChart1.Legend.LegendStyle = LegendStyles.LastValues;  [VB.Net] TChart1.Legend.LegendStyle = Steema.TeeChart.LegendStyles.LastValues 
图表控件TeeChart for .NET系列教程五:图例设计 

位置

使用对齐属性有4个位置可用,顶部、底部、左侧和右侧。右边是默认位置。图例的默认位置将总是在图表之外。关于定位图例的更多信息,请参见自定义图例部分。

调整图表大小 
调整图表大小 属性未启用时,将在图表框架区域内绘制图例。虽然这可能满足了某些图例定位的要求,但可以通过使用图例边距属性来更好地控制图例相对于图表框架的定位。
边距 
改变Margin属性值会使图表框架相对于Legend移动,而不是反过来。因此,使Margin值为负值将使图表在图例上移动(增加图表矩形区域的大小)。然而,这些属性并不是为了在图表上重新定位图例,最好使用自定义图例中概述的技术。
位置偏移百分比 
0%被定义为水平图例触及右边的图表画布边界,垂直图例触及上面的边界。图例是相对于这些位置的偏移。
自定义 
此复选框将禁用调整图表大小的属性,并使您能够在图表画布的任何地方以像素为单位定位图例。
符 标签
宽度 
设置宽度属性以定义颜色矩形(符 )的宽度。
宽度单位 
使用 WidthUnits 属性来定义必须如何解释宽度。
位置属性 
使用位置属性来设置颜色矩形的位置。
连续 
使用Continous属性,让不同的图例颜色矩形相互流动。当设置为 “True “时,不同项目的颜色矩形被固定地绘制在一起(没有垂直间隔)。当设置为 “假 “时,颜色矩形被绘制成独立的矩形。
格式选项卡
颜色 
颜色属性为图例画布设置颜色。
框架 
设置图例框架属性。可见性、样式、颜色和宽度[笔属性]。
图案 
设置图例画布的图案。纯色、填充物、渐变、图像[填充物画笔属性]。
圆形框架 
使图例框架的角变圆。
透明的 
使图例画布透明,只显示图例文字和符 。
透明度 
当透明设置为真时,设置图例的透明度百分比。
文本标签
本页可以访问改变Legend文本的字体、字体的填充属性[Hatch Brush属性]和阴影外观的属性。

变标签

使用此页面在图例画布上绘制梯度,并改变它的方向和颜色。

阴影标签
设置图例阴影的颜色、大小、图案和透明度。
斜面标签
设置图例的内部和外部斜面的颜色、大小和样式。
定制图例
图例事件提供了一个完全控制定义图例外观和内容的选项。
OnGetLegendRect事件
图例外部矩形,允许改变图例框的整体尺寸和位置。与OnGetLegendPos结合使用,可以重新定位图表图例和内容。

例如

[C#] private void tChart1_GetLegendRect(object sender, Steema.TeeChart.TChart.GetLegendRectEventArgs e)         {             e.Rectangle=new Rectangle(e.Rectangle.Left-100,e.Rectangle.Top,e.Rectangle.Width,e.Rectangle.Height);          }  [VB.Net] Private Sub TChart1_GetLegendRect(ByVal sender As Object, ByVal e As Steema.TeeChart.TChart.GetLegendRectEventArgs) Handles TChart1.GetLegendRect         e.Rectangle = New Rectangle(e.Rectangle.Left - 100, e.Rectangle.Top, e.Rectangle.Width, e.Rectangle.Height) End Sub  

OnGetLegendPos事件

修改Legend的内容。下面的例子可以和上面的代码一起使用,将Legend的内容移动到新的Legend矩形中。

[C#] private void tChart1_GetLegendRect(object sender, Steema.TeeChart.TChart.GetLegendRectEventArgs e)         {             e.Rectangle=new Rectangle(e.Rectangle.Left-100,e.Rectangle.Top,e.Rectangle.Width,e.Rectangle.Height);          }  [VB.Net] Private Sub TChart1_GetLegendRect(ByVal sender As Object, ByVal e As Steema.TeeChart.TChart.GetLegendRectEventArgs) Handles TChart1.GetLegendRect         e.Rectangle = New Rectangle(e.Rectangle.Left - 100, e.Rectangle.Top, e.Rectangle.Width, e.Rectangle.Height) End Sub 

OnGetLegendText事件
修改Legend内容的文本。

[C#] private void tChart1_GetLegendPos(object sender, Steema.TeeChart.TChart.GetLegendPosEventArgs e)         {             e.X = e.X-100;             e.XColor = e.XColor-100;         }  [VB.Net] Private Sub TChart1_GetLegendPos(ByVal sender As Object, ByVal e As Steema.TeeChart.TChart.GetLegendPosEventArgs) Handles TChart1.GetLegendPos         e.X = e.X - 100         e.XColor = e.XColor - 100 End Sub 

当在图表矩形区域内放置Legend时,请记住Legend在系列和坐标轴之前显示,并且会出现在以下两种情况下

[C#] private void tChart1_GetLegendText(object sender, Steema.TeeChart.TChart.GetLegendTextEventArgs e)         {             if(e.Index == 3)             {e.Text = e.Text + " Index no.:" + e.Index.ToString();}         }  [VB.Net] Private Sub TChart1_GetLegendText(ByVal sender As Object, ByVal e As Steema.TeeChart.TChart.GetLegendTextEventArgs) Handles TChart1.GetLegendText         If e.Index = 3 Then             e.Text = e.Text + " Index no.:" + e.Index.ToString         End If End Sub 

当在图表矩形区域内放置图例时,请记住图例是在系列和轴之前绘制的,并且在任何交叉点上都会出现在它们的下面。

以上就是TeeChart系列教程中的关于“图例设计”介绍的全部内容了,点击查看更多教程。

如果您想了解TeeChart for .NET价格,欢迎咨询在线客服

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2023年1月3日
下一篇 2023年1月3日

相关推荐

发表回复

登录后才能评论