takahiro_takahiro
@takahiro_takahiro

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

グラフ描写の更新について

グラフ描写の更新について

Windows フォームアプリケーション(.NET Framework)でグラフを表示するアプリを作っています(言語はC#)。試しに,下記のようなグラフを作ってみました。
・button1を押下するとYAxisの値が1秒間に1ずつ増え,その様子がcolumnグラフに反映される。
 YAxisが6カウントしたところで,カウントを0に戻し再び同じ処理を行う。
上記を実行すると,YAxisのカウント自体はうまく行われているようなのですが,グラフ表示がリセットされません。グラフ表示もカウントと同じようにリセットしたいのですがどのような処理を入れればよいでしょうか?

発生している問題・エラー

左下のテキストBOXはYAxisの数値を表示。
image.png

該当するソースコード

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;

namespace graphdisplay_practice2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        
       
        
        int YAxis = 0;
        public void button1_Click(object sender, EventArgs e)
        {
            timer1.Start();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            Chart(YAxis);
        }

        public void Chart(int Loop)
        {
            textBox1.Text = YAxis.ToString();
            chart1.Series[0].Points.Add(new DataPoint(1, YAxis));

            //Loop++;
            YAxis++;
            if (YAxis > 6)
            {
                YAxis = 0;
                chart1.Series[0].Points.Add(new DataPoint(1, 0));
            }
            else
            {
                return;
            }
        }

    }
}
end

自分で試したこと

46行目の「chart1.Series[0].Points.Add(new DataPoint(1, 0));」にてグラフの描写を無理矢理リセットするようコードを書いてみましたが,うまくいきませんでした。

0

1Answer

小手先の解決策提案
 chart1.Series.Clear()でも出来ないか?

抜本的な問題
 データバインドさせるべき
 chart1.DataSource
 

0Like

Your answer might help someone💌