ZedGraph — добавление пороговой линии

Это может быть просто, но я не могу понять это. У меня есть линейный график для каждого из счетчиков производительности ОС (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;

person Sunit    schedule 14.05.2011    source источник


Ответы (1)


Вы можете нарисовать на графике простую красную линию, добавив 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);
person PeskyGnat    schedule 16.05.2011