仪表日常应用中经常会出现面积计算的场景,因此在谱图中填充面积可以更加直观地展示对应的面积区域。
TeeChart工具箱(https://blog.csdn.net/weixin_30672295/article/details/96958684)中提供了SeriesBandTool工具,可以填充两个series间的区域,我们可以采用该工具对面积区域进行填充。
Steema.TeeChart.WPF.Tools.SeriesBandTool b = new Steema.TeeChart.WPF.Tools.SeriesBandTool(tChart.Chart);//在图中新增一个SeriesBandTool工具
b.Series = tChart.Series[1];//第一条曲线
b.Series2 = tChart.Series[0];//第二条曲线
b.Brush.Color = Colors.Blue;//填充颜色
b.Transparency = 50;//颜色透明度
示例:新建两条线段,红线横轴为0-9,黑线横轴为6-7,可以看到填充区域是两条线段的开始点到结束点。
FastLine f1 = new FastLine(tChart.Chart);
f1.LinePen.Color = Colors.Red;
f1.DrawAllPoints = false;
FastLine f2 = new FastLine(tChart.Chart);
f2.LinePen.Color = Colors.Black;
f2.DrawAllPoints = false;
for (int i = 0; i < 10; i++)
{
tChart.Series[0].Add(i, i + 1);
if(i > 5 && i < 8)
{
tChart.Series[1].Add(i, i + 2);
}
}
因此填充面积时必须要注意填充区域的开始/结束点。
在实际应用中会有在图中展示文本数据的场景,下面提供两种方式:
可以在需要展示的位置添加一个点(Points),展示点位的标记(Marks),Marks中赋值需要展示的文本信息;
Steema.TeeChart.WPF.Styles.Points p = new Points(tChart.Chart);
double x = x1;
double y = y1;
p.Add(x, y, str);//(x,y)为图中坐标,str为展示的文本
//文本格式
p.UseAxis = false;//是否使用标记坐标轴,注意:使用会造成横坐标系消失
p.Marks.Font.Color = Colors.Blue;//修改标记字体颜色.
p.Marks.Font.Size = 10;//修改标记字体大小
p.Marks.Transparent = true;//标记框体是否隐藏
p.Marks.Font.Name = "隶书";//修改标记字体
p.Marks.Visible = true;//标记是否隐藏
//点展示格式
p.Pointer.Style = Steema.TeeChart.WPF.Styles.PointerStyles.Circle;//打点样式(正方形,三角形,圆形)
p.Pointer.HorizSize = 2;//水平尺寸
p.Pointer.VertSize = 2;//竖直尺寸
p.Pointer.Visible = false;//隐藏点位
注解也是显示文本的一种方式,显示位置为像素坐标,并非图中坐标,一般固定位置使用(也可计算像素坐标调整位置)。
Steema.TeeChart.WPF.Tools.Annotation ano = new Steema.TeeChart.WPF.Tools.Annotation(tChart.Chart);
ano.Text = data.mFormulation + "\r\nR²=" + data.RSquared;//展示文本
ano.Top = 200;//距离图框上边缘像素坐标
ano.Left = 350;//距离图框左边缘像素坐标
ano.Shape.Visible = false;//是否显示边框
tChart.Axes.Bottom.Title.Text = "x(面积mV*s)";
tChart.Axes.Left.Title.Text = "y(浓度nmol/mol)";
tChart.Axes.Bottom.Title.Text = “x(面积mV*s)”;
tChart.Axes.Left.Title.Text = “y(浓度nmol/mol)”;
横纵坐标注解