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

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

TeeChart.Net v2013.4操作界面

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

操作环境:

系统:Windows 7(64位)

控件版本:TeeChart.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;
}

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


原文地址:http://www.evget.com/zh-CN/Info/catalog/19422.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值