logo 【TeeChart Pro ActiveX教程】2018 我也要发布文档

【TeeChart Pro ActiveX教程】(四):轴控制—关键领域


下载TeeChart Pro ActiveX最新版本

TeeChart Pro将自动为您定义所有Axis标签,并提供足够的灵活性来定制您可能具有的任何特定要求。TeeChart Pro提供真正的多轴。它们可在设计或运行时使用,并为Axis定义提供无数可能性和灵活性。有关详细信息,请参阅本教程中的部分。

(一)Scales

将Series数据添加到图表时,会自动设置轴刻度。您可以使用Axis属性在设计时或运行时更改默认值。

teechart

非日期时间数据

添加新系列时,图表编辑器的“Axis”页面的“Scales”部分将显示“Automatic”和其他灰色选项。显示的所有值均为数字。

teechart

日期时间数据

当系列在系列,常规页面上将日期时间设置为true(对于该轴)时,图表编辑器的轴页面的“Scales”部分将显示“Automatic”和其他灰色显示的选项。值显示为日期时间值。

自动选择最佳轴刻度范围以适合您的数据。如果您打开自动关闭比例部分将ungrey选项,您可以更改轴值。重要的是,请记住从页面左侧的轴列表中选择要配置的轴。 将行系列添加到图表中添加一个命令按钮,其中包含以下代码:

Dim t As Integer
For t = 0 To 40
  With TChart1.Series(0)
    .Add CInt((Rnd) * t), "", vbRed
  End With
Next t

在按钮中运行代码将绘制一个包含40个随机值的Line Series。在设计时转到图表编辑器。在“Axis”页面的“Bottom Axis”部分中,将“Automatic”设置为“off”。您现在可以配置轴刻度的最大值和最小值。再次运行代码将显示值,具体取决于您为Axis配置的值。使用鼠标右键可以滚动查看剩余值。

按代码设置轴刻度

您可以使用以下代码更改运行时的最大值和最小值:

With TChart1.Axis.Bottom
  .Automatic = False
  .Maximum = 36
  .Minimum = 5
End With

您可以将Axis scale Maximum和Minimum设置为自动单独。例如:

With TChart1.Axis.Bottom
  .AutomaticMaximum = True
  .AutomaticMinimum = False
  .Minimum = 5
End With
偏移

您可以将轴设置为具有最小和最大比例的偏移(以像素为单位)。

TChart1.Axis.Left.MaximumOffset = 4 
TChart1.Axis.Left.MinimumOffset = 4

(二)Increment

您可以定制Axis的间隔。从Axis页面的Scales部分选择Desired Increment组合框,并添加所需的增量。您可以在运行时通过代码更改它:

With TChart1.Axis.Bottom
  .Increment = 20
End With
日期时间数据

如果您的数据是datetime(您可以通过转到Series,General页面将数据设置为系列的datetime),Chart,Axis页面,scales部分将显示日期时间范围。从Desired Increment组合框中显示的范围中选择增量。 添加一些示例数据

For t = 1 To 25
   With TChart1.Series(0)
       .AddXY DateValue("2017, 11, " & t), Rnd(t) * t, "", vbRed
   End With
Next t

在运行时更改增量:

With TChart1.Axis.Bottom
  .Increment = TChart1.GetDateTimeStep(dtTwoDays)
End With
注意

更改轴标签频率时,请记住TeeChart将根据LabelsSeparation属性的设置避免标签重叠。这意味着如果标签频率太高而不适合标签,那么TeeChart将分配“最适合”。更改标签角度和标签分离是2个选项,可帮助您安装所需的标签。

Titles

标题在Axis页面的标题部分中设置。您可以更改Axis及其字体的标题文本。该角度可以从值0,90,180,270度中选择。

Labels

有关标签属性的简历,请参阅AxisLabels类(IAxislabels接口)。

注意

更改轴标签频率时,请记住TeeChart将根据Labels.separation属性的设置避免标签重叠。这意味着如果标签频率太高而不适合标签,那么TeeChart将分配“最适合”。更改标签角度和标签分离是2个选项,可帮助您安装所需的标签。请参阅Labels.Angle属性。

标签格式

您可以将所有标准数字和日期格式应用于Axis标签。“Axis”页面的“Labels”部分包含“Values format”字段。如果您的数据是datetime,则字段名称将更改为“Date time format”。在编辑器中拖动帮助“?” 在该字段上的图标,以获得完整的选项列表。在运行时使用:

With TChart1.Axis.Bottom
  .Labels.ValueFormat = "#,##0.00;(#,##0.00)" 
End With

'or for datetime data

With TChart1.Axis.Bottom
  .Labels.DateTimeFormat = "dd/mmm/yy" 'Datetime
End With
MultiLine标签

轴标签可以显示为多行文本而不是单行文本。使用回车符ascii字符(#13)分隔行,例

//Add the Series labels in this way and apply 'Marks' as Axis labelling style
  TChart1.Series(0).Add 1234, "New"+chr$(13)+"cars", vbRed
  TChart1.Series(0).Add 2000, "Old"+chr$(13)+"bicycles", vbBlue 

DateTime标签的示例: 以下将在两行文本中显示底轴标签,一行显示月份和日期,第二行显示年份: 2月28日3月1日... 1999 1999 ..

TChart1.Series(0).AddXY DateValue("28,2,1999"), 100, "", clTeeColor
TChart1.Series(0).AddXY DateValue("1,3,1999"), 200, "", clTeeColor
TChart1.Series(0).AddXY DateValue("2,3,1999"), 150, "", clTeeColor
TChart1.Series(0).XValues.DateTime = True
TChart1.Axis.Bottom.Labels.DateTimeFormat = "mm/dd hh:mm" 'space 

如果将Labels.MultiLine属性设置为True,则轴将自动将标签拆分为找到空格的行。

TChart1.Axis.Bottom.Labels.MultiLine = True

将标签分为两部分:

'mm / dd'代表第二行 'hh:mm'代表第二行

在运行时,您始终可以使用OnGetAxisLabel事件以编程方式将标签拆分为行:

Private Sub TChart1_OnAfterDraw()
  TChart1.Axis.Left.Labels.TeeSplitInLines LabelText, " "
End Sub

全局“TeeSplitInLines”过程将“LabelText”中的所有空格转换为行分隔符(返回)。 轴标签。角度属性(标度旋转角度为0度,90度,180度或270度)也可用于多线轴标签。

自定义轴标签

可以使用Axis事件获得更多标签控件。事件允许您激活/停用/更改任何单个Axis标签。以下示例修改每个Label,将文本短语放在点索引值的前面。

'set LabelStyle to 'Mark' with the TChart editor or use:-
TChart1.Axis.Bottom.Labels.Style = talMark

'OnGetaxisLabel event
Private Sub TChart1_OnGetAxisLabel(ByVal aAxis As Long, ByVal SeriesIndex As Long, ByVal ValueIndex As Long, LabelText As String)
 If aAxis = atBottom Then
   LabelText = "Period " + Str(ValueIndex)
 End If
End Sub

可以使用自定义文本和格式在特定位置修改轴标签,而无需使用TeeChart事件,从而可以更轻松地在ASP方案中修改服务器端。

Private Sub Form_Load()
Dim v As Variant
  v = Array(200, 0, 123, 300, 260, -100, 650, 400)
  TChart1.AddSeries scLine
  TChart1.Series(0).AddArray 8, v
  AddCustomLabels
End Sub

Private Sub AddCustomLabels()
  TChart1.Axis.Left.Labels.Clear
  TChart1.Axis.Left.Labels.Add 123, "Hello"
  TChart1.Axis.Left.Labels.Item(0).Font.Size = 16
    
  TChart1.Axis.Left.Labels.Add 466, "Good" & Chr(13) & "Bye"
  TChart1.Axis.Left.Labels.Item(1).Transparent = False

  TChart1.Axis.Left.Labels.Add 300, ""
  
  TChart1.Axis.Left.Labels.Add -100, ""
  With TChart1.Axis.Left.Labels.Item(3)
    .Transparent = False
    .Transparency = 50
    .Color = vbBlue
  End With
End Sub
对数标签

正常对数标签可以通过以下方式设置:

With TChart1.Axis.Left
 .Logarithmic = True
 .Increment = 0 ' the default
 .SetMinMax 0, 10000
 .Labels.ValueFormat = "#e+0" ' exponential format
End With

标签将根据对数基数(默认为10)进行设置,因此,在此情况下,标签为1,10,100,1000,10000。

Ticks和Minor

teechart

有3种刻度类型和2种类型的网格。您可以更改每个刻度和网格类型的长度,宽度和颜色。可以通过«Ticks»选项卡对Ticks及其关联的Grid和Inner Ticks进行更改; 可以通过«Minor»选项卡更改Minor Ticks及其关联的Grid。

With TChart1.Axis.Bottom
  .TickLength = 7
  .Ticks.Color = vbGreen
  .MinorTickCount = 10 'change number of minorticks between (major) Ticks
End With

轴位置

轴具有修改每个轴所在位置的属性。在此示例中,轴移动了图表宽度的50%,因此它显示在图表中心:

TChart1.Axis.Left.PositionPercent = 50

购买TeeChart Pro AciveX正版授权,请点击“咨询在线客服”哟!