C# Teechart 滑鼠移至上方 顯示資料

來源:互聯網
上載者:User

標籤:

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") + "\r\n";                    }            }            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;            }        }    }}

  

C# Teechart 滑鼠移至上方 顯示資料

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.