fxdmhtt 发表于 2015-12-9 21:20:00

C1chart中x轴时间不连续的处理方法?

因工作需要,X轴的时间并不是连续的,而是01:00-04:00,09:00-14:00,18:00-22:00三个时间段有数据,但是默认情况下无数据的时间段C1chart会自动拉出很长的间隔出来,保证x轴是线性的了。我不想要这种效果,我希望没有数据的时间段的空白区域隐藏掉,把有意义的数据拼接起来。请问该如何设置?(不修改数据源的情况下,因为我x轴还是需要显示真实时间)

Alice 发表于 2015-12-10 09:18:00

回复 1楼fxdmhtt的帖子

谢谢您的反馈。
根据我的理解,您需要的是显示某段范围内的数据(符合规则的),而不符合的不显示。
可以通过DataSeries的AggregateGroupSelector来设置。
详细的您可以参考随机安装示例,路径如下:

\Documents\ComponentOne Samples\WPF\C1.WPF.Chart\CS\ChartSamples\Aggregation
名为ArrgregateRange文件。

fxdmhtt 发表于 2015-12-10 10:04:00

回复 2楼Alice的帖子

不好意思,可能是我2014的版本低了,没找到这个demo。能发一份附件么?谢谢!

Alice 发表于 2015-12-10 14:46:00

回复 3楼fxdmhtt的帖子


Demo比较大。
我将关键的文件发给您。

fxdmhtt 发表于 2015-12-10 20:28:00

好像不行诶,这个委托要求返回double,可我的x轴是时间,是string。
我的需求大致是测试某几段时间内的温度,把他们拼接起来,老师能简单给个demo么?x轴是时间(几段连续,string),y轴是温度(double),x轴的min和max在这种情况(string)下该怎么设置?

Alice 发表于 2015-12-11 10:14:00

回复 5楼fxdmhtt的帖子

根据您的描述,您的数据都是和业务相关的。
我这里无法提供您的业务相关Demo,我也没有您的相关数据源做测试。

据我了解,通过Date.ToOADate();方法,就可以将时间转成double类型。

fxdmhtt 发表于 2015-12-16 20:59:00

老师,我还是未能测试成功。
不是我数据源需要过滤,数据源是稀疏的。


如图所示,中间的很大一段直线其实是无效的,那中间根本就没有数据点,我希望不要有那条直线,而直接把左右两边拼接起来。我尝试过XYDataSeries的Display属性,没能发挥作用。请老师再帮忙看看,谢谢。

Alice 发表于 2015-12-17 11:10:00

回复 7楼fxdmhtt的帖子

C1Chart有个针对多轴的分区域显示的功能,您可以尝试下。
详细的内容可以参考我们的产品博客,链接如下:
http://blog.gcpowertools.com.cn/post/2015/09/17/C1ChartWPF_PlotArea.aspx

fxdmhtt 发表于 2015-12-23 13:52:00

回复 8楼Alice的帖子

老师您好,我们头看了觉得效果很差,主要是区域交接的地方有留空隙、图例不好处理等问题。请问一下还有别的更优雅的方案吗?难道只要设置了IsTime就必然面临着没有time的区域被留空?

Alice 发表于 2015-12-23 16:37:00

回复 9楼fxdmhtt的帖子

已经将我所了解到的方案提供给您。
如果您遇到了的问题需要我们跟进,建议您提供可以重现该问题的简单Demo,我们可以帮您测试找找问题。
页: [1] 2
查看完整版本: C1chart中x轴时间不连续的处理方法?