如何让TeeChart.Net自定义轴正常显示在图表区域

原创|使用教程|编辑:龚雪|2013-08-20 11:18:45.000|阅读 583 次

概述:TeeChart for .Net是一款功能全面、性能稳定的图表控件,受深受用户好评。在使用TeeChart for .Net的过程中还是会遇到各种难题。今天为大家解决TeeChart for .Net添加自定义轴的问题,如果遇到自定义轴的标签和标题都超出图表区域,比如出现在图表标题上面。应该如何解决呢?

TeeChart for .Net是一款功能全面、性能稳定的图表控件,受深受用户好评。在使用TeeChart for .Net的过程中还是会遇到各种难题。今天为大家解决TeeChart for .Net添加自定义轴的问题,如果遇到自定义轴的标签和标题都超出图表区域,比如出现在图表标题上面。应该如何解决呢?

TeeChart.Net v2013.4操作界面

大多数情况下,我们并不知道问题出在什么地方。如遇到这种情况,就只有一步一步操作,找出问题,最后再解决问题。

操作环境:

系统:Windows 7(64位)

控件版本:TeeChart for .Net v2013.4

一、设置一个不同的顶边

结果:只能在图表标题上方添加一定空间,坐标轴标签依旧在图表上方,问题没有解决。

二、修改代码,在顶部添加水平自定义轴,增加顶部边缘,重新定位图表标题

代码:

Axis customAxis;
private void InitializeChart()
{
tChart1.Aspect.View3D = false;
colorGrid1 = new ColorGrid(tChart1.Chart);
colorGrid1.FillSampleValues();
customAxis = new Axis(tChart1.Chart);
tChart1.Axes.Custom.Add(customAxis);
customAxis.Horizontal = true;
colorGrid1.HorizAxis = HorizontalAxis.Both;
colorGrid1.CustomHorizAxis = customAxis;
tChart1.Draw();
customAxis.OtherSide = true;
tChart1.Panel.MarginUnits = PanelMarginUnits.Pixels;
tChart1.Panel.MarginTop = 50;
tChart1.Header.CustomPosition = true;
tChart1.Header.Left = tChart1.Width / 2;
tChart1.Header.Top = 0;
button1.Click +=button1_Click;
}

结果:经过这样操作后,单个轴标签在图表区域显示。

三、继续添加下面代码

colorGrid1.HorizAxis = HorizontalAxis.Both;
colorGrid1.CustomHorizAxis = customAxis;

结果:图表制作顺利进行,但是按钮上的标签消失。

四、精简代码

只添加:colorGrid1.HorizAxis = HorizontalAxis.Both;

呼出customAxis.labels.Clear()工具,再添加另外的标签,新标签中仍然有许多轴标签在顶部。

五、不在使用自定义轴,而使用默认按钮坐标轴和图表顶轴

添加以下代码:

private void InitializeChart()
{
tChart1.Aspect.View3D = false;
colorGrid1 = new ColorGrid(tChart1.Chart);
colorGrid1.FillSampleValues();
colorGrid1.HorizAxis = HorizontalAxis.Both;
AddCustomLabels(tChart1.Axes.Top);
tChart1.Draw();
tChart1.Panel.MarginUnits = PanelMarginUnits.Pixels;
tChart1.Panel.MarginTop = 50;
tChart1.Header.CustomPosition = true;
tChart1.Header.Left = tChart1.Width / 2;
tChart1.Header.Top = 0;
button1.Click += button1_Click;
}
private void AddCustomLabels(Axis a)
{
a.Labels.Items.Clear();
a.Labels.Items.Add(colorGrid1.XValues[5], "Point 1");
}

TeeChart.Net默认坐标轴

六、使用辅助,分配自定义轴

用下面的代码完成操作:

Axis customAxis;
Steema.TeeChart.Styles.ColorGrid colorGrid1;
Steema.TeeChart.Styles.ColorGrid auxiliarygrid;
private void InitializeChart()
{
tChart1.Aspect.View3D = false;
colorGrid1 = new ColorGrid(tChart1.Chart);
auxiliarygrid = new ColorGrid(tChart1.Chart);
colorGrid1.FillSampleValues();
customAxis = new Axis(tChart1.Chart);
tChart1.Axes.Custom.Add(customAxis);
customAxis.Horizontal = true;

colorGrid1.HorizAxis = HorizontalAxis.Bottom;
auxiliarygrid.CustomHorizAxis = customAxis;
auxiliarygrid.ShowInLegend = false;
AddCustomLabels(customAxis);
tChart1.Draw();
customAxis.OtherSide = true;
tChart1.Panel.MarginUnits = PanelMarginUnits.Pixels;
tChart1.Panel.MarginTop = 50;
tChart1.Header.CustomPosition = true;
tChart1.Header.Left = tChart1.Width / 2;
tChart1.Header.Top = 0;
}

总结:在第四个步骤,可以看出该图表是一个系列下多自定义轴图表,所以在系列中需要分配每一个轴,由于,前面三个步骤没有如此做,导致轴标签无法全部正常显示在图表区域;第五、第六两个步骤中,移除顶轴标签,再增加了另外的标签,并对多轴进行了分配,所以轴标签显示正常。

下载最新版:TeeChart for .Net图表控件



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

文章转载自:慧都控件网

登录慧都网发表评论登录


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
TeeChart for .NET

优秀的工业4.0 WinForm图表控件,官方独家授权汉化,集功能全面、性能稳定、价格实惠等优势于一体

在线客服 在线QQ 电话咨询
400-700-1020
在线客服系统
live chat