2

離散グラフを描画するために使用するコードは次のとおりです。

private void DrawHartleyGraph(double [] values, ZedGraphControl zed)
        {
            GraphPane pane = zed.GraphPane;
            pane.CurveList.Clear();
            pane.XAxis.Title.Text = "ν";
            pane.YAxis.Title.Text = "H(ν)";
            pane.Title.Text = "ДПХ";
            PointPairList list = new PointPairList();
            for (int i = 0; i < values.Length ; i++)
            {
                list.Add((double)i, values[i]);
            }
            LineItem myCurve = pane.AddCurve("H(ν) - ДПХ", list, Color.Blue, SymbolType.Circle);
            myCurve.Line.IsVisible = false;
            myCurve.Symbol.Fill.Color = Color.Blue;
            myCurve.Symbol.Fill.Type = FillType.Solid;
            myCurve.Symbol.Size = 4;
            pane.XAxis.Scale.Min = 0;
            pane.XAxis.Scale.Max = numOfCountsN;
            pane.YAxis.Scale.Min = values.Min();
            pane.YAxis.Scale.Max = values.Max();
            pane.IsBoundedRanges = true;
            zed.AxisChange();
            zed.Invalidate();
        }

私はこのような写真を持っています: 離散グラフ

関数の値を表す、X 軸から点で終わる垂直線を描画するにはどうすればよいですか?


解決済み

これが見つかった決定です。for-cycle を次のように変更する必要があります。

for (int i = 0; i < values.Length ; i++)
{
    list.Add((double)i, values[i]);
    LineObj vertLine = new LineObj(Color.Red, i, 0,
          i, values[i]);
    pane.GraphObjList.Add(vertLine);
}
4

0 に答える 0