chart 有没有办法设置曲线不同的值范围不同的颜色?
通过下面的方法试了,没有达到想要的效果,需要实现的是 if (data.S11 > -18) 大于-18的Yellow,小于的红色。
float previousX, previousY;
int sequentialIncrement, sequentialDecrement;
private void Series_SymbolRendered(object sender, RenderSymbolEventArgs e)
{
if (e.Index > 0)
{
Color lineColor;
DataItem data = (DataItem)e.Item;
if (data.S11 > -18)
{
lineColor = Color.Yellow;
}
else
{
lineColor = Color.Red;
}
e.Engine.SetStroke(new SolidBrush(lineColor));
e.Engine.SetStrokeThickness(0.5);
e.Engine.DrawLine(previousX, previousY, e.Point.X, e.Point.Y);
}
previousX = e.Point.X;
previousY = e.Point.Y;
}
例如附件的事例,我想设置50值以上的曲线红色,以下的绿色。怎么实现?
本帖最后由 Richard.Ma 于 2022-11-28 12:27 编辑
请参考附件中的代码
最终效果,大于50的点,以及该点两端的线是红色,你也可以根据自己的业务逻辑修改
有没有办法设置两个点同时达到条件时才改变线的颜色?
修改代码就行,具体可以跟你你自己的业务需要,这里只是展示自定义绘制的方法
还有就是这个线宽在分辨率低的时候线比较粗,比我实际画的线粗好多,一直没有找到方法改变。
要改变自己绘制的线条粗细,只需要更改DrawLine时Pen的线条粗细就行,可以改任意宽度
要改变series本身绘制的线条宽度,可以通过样式直接设置,extraSerie.Style.StrokeWidth = 1;
如下图,红色是后绘制的,绿色是自动绘制的,都改变了粗细
extraSerie.Style.StrokeWidth = 1;线粗我设置这个可以改变了。
已经处理好了。
好的,你问到的绘图区域可以这样设置边框和背景
flexChart1.PlotStyle.FillColor = Color.LightYellow;
flexChart1.PlotStyle.StrokeColor = Color.Red;
flexChart1.PlotStyle.StrokeWidth = 3;
有其他问题,欢迎发新帖咨询
页:
[1]