【问题标题】:TeeChart special abilitiesTeeChart 特殊能力
【发布时间】:2013-06-25 12:47:53
【问题描述】:

我有一些关于 Teechart 能力的问题,我在 TeeChart 示例中找不到。

1) 是否可以使用不同缩放的 Y 轴来做一个静态 X 轴,当图表到达窗口右侧时,将当前图表的可见部分滚动到左侧,增加其最大值允许查看图表历史的栏。 (就像在 Welcome !\Chart styles\Standard\Line(Strip)\Realtime charting 中制作的一样,但每条线都有自己的轴(轴可能有不同的比例),X 轴仅在图表达到其最右边的某个固定值时滚动值,并且能够远程绘制到 X 的任何 previos 间隔(如通过时间轴移动的时间窗口)。

2)如果第一个没问题,是否可以在图表上动态地制作一个特殊的标签(如图表上带有标签的水平线)。

3) 如果我有折线或轮廓,我可以通过在字段中移动它来更改点值吗? (例如在插值的情况下,我可以通过鼠标在图表上的给定插值点向右移动它来更改 Y 值)。有什么特殊的信息可以做到这一点吗?贝塞尔曲线控制点的问题。

【问题讨论】:

    标签: .net teechart


    【解决方案1】:
    1. 是的,您可以在图表中拥有多个自定义轴,如中所述 All Features\Welcome !\Axes 部分中的教程 4 和示例 的功能演示。对于您需要的滚动部分,我推荐 What's New?\Welcome !\New Chart 中演示的 Scroll Pager 工具 工具\ScrollPager 工具。教程和功能演示都是 可在 TeeChart 的程序组获得。

    2. 我建议将 ColorLine 工具与 Annotation 工具结合使用 这。可以在here 找到一个示例。或者你可以画 图表画布中的自定义文本,如本例所示:

      public Form1()
      {
        InitializeComponent();
        InitializeChart();
      }
      
      private Steema.TeeChart.Tools.ColorLine colorLine1;
      
      private void InitializeChart()
      {
        tChart1.Aspect.View3D = false;
      
        tChart1.Series.Add(new Steema.TeeChart.Styles.HorizBar()).FillSampleValues();
      
        colorLine1 = new Steema.TeeChart.Tools.ColorLine(tChart1.Chart);
        colorLine1.Axis = tChart1.Axes.Bottom;
        colorLine1.Value = tChart1[0].MinXValue() + (tChart1[0].MaxXValue() - tChart1[0].MinXValue()) / 2;
      
        tChart1.AfterDraw += tChart1_AfterDraw;
      }
      
      void tChart1_AfterDraw(object sender, Steema.TeeChart.Drawing.Graphics3D g)
      {
        string text = "My custom caption";
        SizeF size = g.MeasureString(g.Font, text);
      
        Rectangle rect = tChart1.Chart.ChartRect;
        int x = tChart1.Axes.Bottom.CalcPosValue(colorLine1.Value) - (int)size.Height;
        int y = rect.Top + (int)size.Width + 5;
      
        g.Font.Color = Color.Red;
      
        g.RotateLabel(x, y, text, 90);
      }
      
    3. 为此提供了 DragPoint 工具。查看所有功能\欢迎 !\Tools\Drag Point 功能演示中的示例。但是,使用 这个工具你可以改变源系列中的点, 不计算系列。多项式、等高线和贝塞尔曲线 系列/函数是根据给定的源数据计算的。你不会 能够直接修改这些计算值,您必须 修改源数据系列,以便重新计算。

    【讨论】:

    • 您好 Narcis,感谢您的回复/我还有一个问题,具有 ScrollPagerTool 的 TeeChart 的最小版本是什么?不幸的是,我可以使用的最新版本是 .NET 2010,我找不到这个工具。
    • @user2519784 它于 2012 年 1 月 3 日在 Build 4.1.2012.01030/1/2/3 中实现。您可以在版本信息页面查看:steema.com/versioninfo/net
    • 再次感谢,还有一个问题,关于初始问题的第二部分。不幸的是,这并不完全是我需要的,我需要像彩色线上的标题这样的东西,所以也许还有其他方法?
    • 如果这个标题是垂直的,那就更好了。
    • @user2519784 在这种情况下,您应该使用画布的 RotateLabel 方法在 AfterDraw 事件中手动绘制它。我将更新我的回复,其中包含一个示例。
    猜你喜欢
    • 2012-04-15
    • 2018-07-18
    • 1970-01-01
    • 2022-08-20
    • 2011-06-09
    • 1970-01-01
    • 2012-09-09
    • 2010-12-17
    • 2013-01-14
    相关资源
    最近更新 更多