zoukankan      html  css  js  c++  java
  • C# Teechart 鼠标悬停 显示数据

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    
    namespace WindowsFormsApplication2
    {
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
                this.tChart1.Series[0].Add(1, 2);
                this.tChart1.Series[0].Add(2, 6);
                this.tChart1.Series[0].Add(6, 3);
            }
            private double xval;
            private void cursorTool1_Change(object sender, Steema.TeeChart.Tools.CursorChangeEventArgs e)
            {
                try
                {
                    xval = e.XValue;
                    tChart1.Header.Text = "";
                    for (int i = 0; i < tChart1.Series.Count; i++)
                        if (tChart1.Series[i] is Steema.TeeChart.Styles.Custom)
                        {
                            tChart1.Header.Text += tChart1.Series[i].Title + ": Y(" + e.XValue.ToString("0.00") + ")= ";
                            tChart1.Header.Text += InterpolateLineSeries(tChart1.Series[i] as Steema.TeeChart.Styles.Custom, e.XValue).ToString("0.00") + "
    ";
                        }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
    
    
    
            private double InterpolateLineSeries(Steema.TeeChart.Styles.Custom series, double xvalue)
            {
                return InterpolateLineSeries(series, series.FirstVisibleIndex, series.LastVisibleIndex, xvalue);
            }
    
            /// <summary>
            /// Calculate y=y(x) for arbitrary x. Works fine only for line series with ordered x values.
            /// </summary>
            /// <param name="series"></param>
            /// <param name="firstindex"></param>
            /// <param name="lastindex"></param>
            /// <param name="xvalue"></param>
            /// <returns>y=y(xvalue) where xvalue is arbitrary x value.</returns>
            private double InterpolateLineSeries(Steema.TeeChart.Styles.Custom series, int firstindex, int lastindex, double xvalue)
            {
                try
                {
                    int index;
                    for (index = firstindex; index <= lastindex; index++)
                    {
                        if (index == -1 || series.XValues.Value[index] > xvalue) break;
                    }
                    // safeguard
                    if (index < 1) index = 1;
                    else if (index >= series.Count) index = series.Count - 1;
                    // y=(y2-y1)/(x2-x1)*(x-x1)+y1
                    double dx = series.XValues[index] - series.XValues[index - 1];
                    double dy = series.YValues[index] - series.YValues[index - 1];
                    if (dx != 0.0) return dy * (xvalue - series.XValues[index - 1]) / dx + series.YValues[index - 1];
                    else return 0.0;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    return 0.0;
                }
            }
    
    
    
    
    
    
    
    
    
        }
    }
    

      

  • 相关阅读:
    idea执行报错NoClassDefFoundError
    git合并几个commit
    jenkins+allure+持续构建+一些配置和遇到的问题
    接口框架坑记录
    jvm-sandbox对运行中的java执行文件做插桩,故障注入
    linux 安装nogui-chrome,构造selenium运行环境
    python之pychram激活码
    python之闭包、装饰器、生成器、反射
    python之 Requests入门到实践
    Python使用xlwt模块 操作Excel文件(转载)
  • 原文地址:https://www.cnblogs.com/lierjie/p/5892426.html
Copyright © 2011-2022 走看看