1

これは簡単かもしれませんが、私はそれを理解することができません。各 OS パフォーマンス カウンター (Y-> 値、x-> 時間) の線形グラフがあります。ここで、実際のデータとともにグラフに表示されるように、たとえば赤のしきい値 Y 値に直線の水平線を追加したいと考えています。各カウンターのしきい値は既にわかっています。

どうすればいいですか?

私は現在、独自のタブページにパフォーマンスカウンターを表示するためにこれを行っています:

Cursor = Cursors.WaitCursor;
var perfCounter = PerfDictValues.Value.First(pc => pc.Counter == counter);
var tPage = new TabPage((tabControl1.TabPages.Count + 1).ToString());
tPage.Tag = perfCounter;
tPage.Padding = new Padding { All = 8 };

var zedGraph = new ZedGraphControl();
zedGraph.Dock = DockStyle.Fill;
var graphPane = zedGraph.GraphPane;
graphPane.Title.Text = counter;
graphPane.XAxis.Title.Text = String.Format("Max: {0}, Min: {1}, Avg: {2}", perfCounter.Maxm, perfCounter.Min, perfCounter.Average);
var curve = graphPane.AddCurve(counter, perfCounter.PointList, Color.Blue, SymbolType.Diamond); //Want to add a threshold value from perfCounter.Threshold property
 graphPane.XAxis.Type = AxisType.Linear;
 graphPane.AxisChange();

 tPage.Controls.Add(zedGraph);
 tabControl1.TabPages.Add(tPage);
 tabControl1.SelectedTab = tPage;
 grpOutput.Visible = true;
4

1 に答える 1

7

LineObj を GraphObj リストに追加することで、グラフに単純な赤い線を描画できます。つまり、これは水平線を描画します。

double threshHoldY = 2;
LineObj threshHoldLine = new LineObj(
    Color.Red,
    graphPane.XAxis.Scale.Min,
    threshHoldY,
    graphPane.XAxis.Scale.Max,
    threshHoldY);
graphPane.GraphObjList.Add(threshHoldLine);
于 2011-05-16T10:12:18.770 に答える