简数社区

查看: 1351|回复: 0

[功能干货] LightningChart图表控件中,如何给折线图填加提供框与文本信息

[复制链接]

43

主题

54

帖子

366

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
366
发表于 2018-11-12 16:41:54 | 显示全部楼层 |阅读模式
场景: 折线图上有多条线,每个线都需要显示在Y轴上呈现例如:基本数据信息、最小值、最大值、平均值等信息;
|Signal 3................................min:1,
|..........................................max3, avg: 2
|Signal2................................min: 10,
|..........................................max:30, avg: 20
|Signal1................................min: 15,
|..........................................max:15, avg: 15

现在用LightningChart图表控件来解决这个问题。
在图表中显示每条线上的文本信息,LightningChart 提供许多的方法。除了(Annotation)外,还有SeriesEventMarkers, ChartEventMarkers, Series.Title, Axis.Title 和其它选项。具体选择那种方式,取决于您选用对图表的灵活性以及渲染速度或内存占用等情况分析。
Annotation:是用于此类项目中,是最灵活的一种方式。功能包括:
  • 多行文本
  • 各种形状
  • 填充位图
  • 屏幕或轴坐标定位
  • 自动或手动调整等
灵活性取决于最大对象的成本,因为这可能会影响内存消耗和应用程序的速度(特别是成千上万的这类对象)。以下图是以LightningChart的一种注解方法。
(Series.)SeriesEventMarkers 和(ViewXY.)ChartEventMarkers 是简单的对象。符号和标签组成。这两种方法有许多共同点,但用途有些区别。
ChartEventMarkers 更倾向于在图表上放置注释标记,位置是由屏幕坐标定义。
相比之下,SeriesEventMarkers集合(它是线系列属性)更多地附加到系列和轴上。 SeriesEventMarkers具有更多样化的定位和形状选项。
LightningChart Demo App的示例中可以找到更多的用法。Demo App属性'Properties'是在顶部的按钮,打开属性可以根据自己的喜好来修改任何属性。
无论您选择哪个对象,都需要进行一些屏幕坐标和轴值转换。
测量渲染文本的尺寸: _chart.MeasureText(Text, Font)
渲染帧后,您可以阅读有关分段高度的准确信息: _Chart.ViewXY.GetGraphSegmentInfo();// 或者YAxis.GetGraphSegmentTopAndHeight(outfSegTop, out fSegHeight);
以下方法帮助进行值与坐标之间的转换
Axis.ValueToCoord()
Axis.CoordToValue()

只需检查所有参数即可控制PX / DIP单元的使用情况.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
LightningChart 中文网论坛管理团队

我们提供:商业授权技术支持图表定制VIP服务 等相关支持服务
在线客服:2133220776(QQ,非技术,工作日 10:00 ~ 17:00)
新浪微博:https://weibo.com/jianshukeji
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回顶部 返回列表