我有一条带圆点的曲线.是否可以将CurveItemPoints设置为不同的填充颜色?我会明确指出不同的颜色.
这可能很简单,但我无法弄清楚.我有每个OS性能计数器的线性图(Y->值,x->时间).现在我想为一个阈值Y值添加一条直线水平线,例如红色,这样它就会在图表中显示实际数据.我已经知道每个计数器的阈值.
我该怎么做呢?
我目前这样做是为了在自己的tabPage中显示perfcounter:
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); …Run Code Online (Sandbox Code Playgroud) 我对ZedGraph有一点不同的要求.
我想在用户点击ZedGraph窗格时在ZedGraph窗格上创建曲线.此外,我在该窗格上绘制了其他图表.但我希望每当用户点击zedGraph区域时,我们就会得到用户点击的坐标,并在点击的坐标上绘制一条直线.
我已经使用FindClarestObject方法使用MouseCLick事件alren,如下所示:
private void zedGraph_RenderedTrack_MouseClick(object sender, EventArgs e)
{
MouseEventArgs xx = (MouseEventArgs)e;
object nearestObject;
int index;
this.zedGraph_RenderedTrack.GraphPane.FindNearestObject(new PointF(xx.X, xx.Y), this.CreateGraphics(), out nearestObject, out index);
if (nearestObject != null)
{
DrawALine(xx.X, Color.Red, true);
}
}
Run Code Online (Sandbox Code Playgroud)
但是使用这个,ZedGraph搜索一些曲线并找到最近的点然后绘制线但我想要在用户点击的地方绘制线.有没有办法这样做?
我正在使用 Zedgraph 创建一个股票图表应用程序。该图表有多个指标窗格。我想显示一个十字光标,它延伸到包含所有图形窗格的 Zedgraph 控件的范围。我使用以下代码和 MouseMove 事件完成了一半的工作。但是,当鼠标停止移动时,十字准线就会消失。当鼠标静止时如何保持它们显示?我的 Zedgraph 控件在下面的代码中被命名为“chtOHLC”。
#region Extended Crosshairs
private Point _mousePoint;
private void chtOHLC_MouseMove(object sender, MouseEventArgs e)
{
_mousePoint = new Point(e.X, e.Y);
chtOHLC.Refresh();
}
private void chtOHLC_Paint(object sender, PaintEventArgs e)
{
if (_mousePoint != null)
{
Graphics g = chtOHLC.CreateGraphics();
g.DrawLine(Pens.Black, 0, _mousePoint.Y, chtOHLC.Width, _mousePoint.Y);
g.DrawLine(Pens.Black, _mousePoint.X, 0, _mousePoint.X, chtOHLC.Height);
g.Dispose();
}
}
#endregion
Run Code Online (Sandbox Code Playgroud) 我有一个配置文件,看起来像这样:
Item|Size|Directory|Data
A|12|D_01|11/28/10
C|13|D_01|11/28/10
B|12|D_01|11/28/10
Back|122|D_02|11/28/10
Body|112|D_02|11/28/10
A|12|D_01|11/29/10
C|13|D_01|11/29/10
B|12|D_01|11/29/10
Back|122|D_01|11/29/10
Body|112|D_01|11/29/10
Arm|20|D_01|11/29/10
Run Code Online (Sandbox Code Playgroud)
我的 x 轴是日期,我没有问题,如果我只有静态数量的实例来组成我的 YI 会很好,但是我如何创建一个单独的堆叠条形图来自动为每个项目制作点每个目录?
所以堆叠条 1 将是 ABC、身体、背部、手臂,示例显示在 29 上,我添加了一个手臂项目。所以 28 号柱 1 有 5 分,29 号堆叠柱 2 显示 6 分。
我希望这是有道理的.. 除了如何适当地显示条形之外,我不需要任何帮助。