我想知道,是否可以在 zedgraph 中创建垂直标记? 我想渲染所有图表点并将垂直标记作为当前位置的指示符。
答案 0 :(得分:4)
在之前的项目中,我使用以下代码来获得这种效果。
int i = myPane.AddYAxis("");
myPane.YAxisList[i].Color = Color.Orange;
myPane.YAxisList[i].Scale.IsVisible = false;
myPane.YAxisList[i].MajorTic.IsAllTics = false;
myPane.YAxisList[i].MinorTic.IsAllTics = false;
myPane.YAxisList[i].Cross = pointOnXAxisThatIWantToMark;
在这种情况下,我添加了两个轴来标记我的图表上的某些限制。
答案 1 :(得分:0)
您可以将曲线的SymbolType
设置为SymbolType.VDash
。
例如,要设置LineItem
的符号,您可以直接在构造函数中执行此操作(在下面的源代码中为curve1
),也可以在将其分配给曲线(curve2
)。
此代码:
var curve1 = new LineItem(null, new[] { 0.1, 0.5, 0.9 },
new[] { 0.8, 0.3, 0.1 }, Color.Blue, SymbolType.VDash);
zedGraphControl1.GraphPane.CurveList.Add(curve1);
var curve2 = new LineItem(String.Empty)
{
Points = new PointPairList(
new[] { 0.1, 0.5, 0.9 }, new[] { 0.2, 0.5, 0.9 }),
Color = Color.Red,
Symbol = new Symbol(SymbolType.VDash, Color.Black)
{ Size = 20f, Border = new Border(Color.Black, 6f)}
};
zedGraphControl1.GraphPane.CurveList.Add(curve2);
生成以下图表: