事例公開 | 2018 年 7 月 13 日 |
---|---|
ソリューション | LightningChart XY チャート機能 折れ線グラフ |
東北大学 (中国) 学生である Pengkun Zhao 氏は、C# で電気炉温度制御ソフトウェアをデザインしていました。Zhao 氏は、プロのプログラマーではありませんでしたが、C# によるプログラミングに対して非常に興味を持っており、オープン ソースのソリューションを利用することを決断しました。
このプロジェクトで必要となったのは、温度データをリアルタイムに描画できるチャート コントロールでした。異なるフォーラムで勧められたさまざまなコントロールを試しましたが、期待通りの結果を得ることができませんでした。完璧なチャート コントロールを探し続けた結果、最終的に LightningChart .NET に出会いました。
最初に、チャートの最終レンダリング状態をお見せします。これを参考に、プロジェクトへの適用性の可否をご判断ください。
図 1. LightningChart .NET を使用した電気炉温度制御ソフトウェアのチャート
LightningChart .NET の 1 つの強みは、チャートにズームインまたはズームアウトすることで、データの詳細を観察できることです。
図 2. [図 1] のチャートをズームアウトした様子
LightningChart .NET の非常にパワフルな機能と素晴らしい性能により、理想的なチャートを生成できました。
— 東北大学 (中国) 学生 Pengkun Zhao 氏チャート生成に使用したコードは以下になります。
using System; using System.Collections. Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; // 参照セットを追加 using Arction.WinForms.Charting; using Arction.WinForms.Charting.SeriesXY; namespace WindowsFormsApplicatiopn5 { public partial class Form1:Form { public Form1() { InitializeComponent(); } // 線系列の描画メソッド private void PaintLine() { DataBaseOpe ope = new DataBaseOpe(); // プロパティを無効にして、カラーの速度を向上 lightningChartUltimate1.Dock = DockStyle.Fill; // 線系列を追加 PointLineSeries pls = new PointLineSeriesss(lightningChartUltimate1.ViewXY,lightningChartUltimate1.ViewXY.XAxes[0],lightningChartUltimate1.ViewXY.YAxes[0]); // 表示点 pls.PointsVisible = false; SeriesPoint[] aPoints = new SeriesPoint[1000]; for (int iPoint = 0; iPoint < ope.GetXmax() + 1; iPoint++) { aPoints[iPoint].X = (double)iPoint; aPoints[iPoint].Y = ope.GetYvalue(iPoint); } // 線系列へデータを割り当て pls.Points = aPoints; // lightningChartUltimate1.ViewXY.PointLineSeries.Add(pls); // グラフの描画を許可 lightningChartUltimate1.EndUpdate(); } private void buttonGO_Click(object sender, EventArgs e) { DataBaseOpe ope = new DataBaseOpe(); PIDdeal pid = new PIDdeal(); // LightningChart を初期化 lightningChartUltimate1.ViewXY.PointLineSeries.Clear(); // データを初期化 ope.ClearDataBase(); //PID 変数を初期化 pid.PIDinit(); pid.SetValue = double.Parse(textBoxSetValue.Text); double p = double.Parse(textBoxKp.Text); double i = double.Parse(textBoxKi.Text); double d = double.Parse(textBoxKd.Text); for(int j = 0;j < 1000;j++) { ope.AddData(j, pid.PIDcontrol(pid.SetValue, p, i, d)); } PaintLine(); } } }
LightningChart .NET は驚くほど便利な機能を備えており、高度で高速な 2D (XY) および 3D チャートの生成は 5 つ星の機能です。Zhao 氏が使用した上記の簡単な機能に加え、LightningChart .NET は、以下のように多くのパワフルな機能を備えています。
LightningChart .NET は、開発者によるさまざまなデータ視覚化のタスクの実装を助けるため、おおよそ 200 におよぶチャート サンプルを備えています。しかし、Zhao 氏は、これほど高精度な .NET コンポーネントに関する情報を探すことは簡単ではなかったと語ります。
大学生として、膨大な時間を掛けて学校のプロジェクト用のソリューションを探しますが、幸運にも LightningChart .NET に出会うことができました。さらに多くのプロの開発者がこのコンポーネントを使用し、私と同じ立場である学生向けにコーディング エクスペリエンスの共有が普及していくことを期待しています。
— Zhao 氏