離散グラフを描画するために使用するコードは次のとおりです。
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);
}