【问题标题】:JFreeChart using shifting one series by a given offset valueJFreeChart 使用给定偏移值移动一个系列
【发布时间】:2013-08-27 15:43:56
【问题描述】:

假设我有一个 org.jfree.data.xy.DefaultXYDataset 实例,并且我以这种方式向其中添加两个系列:

dataset.addSeries(name, values);
dataset.addSeries(name2, values)

如何通过 X 或 Y 偏移值移动第一个或第二个系列?

假设偏移始终 >= 0。通过“向右”移动,我的意思是每个 (x,y) 点变换到 (x + offset, y) 点。

类推“左”、“上”、“下”。

【问题讨论】:

    标签: java jfreechart


    【解决方案1】:

    DefaultXYDataset 方便访问不同系列的单个元素,但它没有暴露以这种方式操作内部数据结构所需的方法。相反,通过扩展AbstractXYDataset 来实现XYDataset 接口,如图here 所示,您可以在其中封装偏移管道。您可能还想查看SlidingXYDataset,引用here

    【讨论】:

    • 您能否提供任何简短的 sn-p 来说明“偏移管道”是什么意思。我需要一个灵活的解决方案来有效地处理大量数据。
    • 我只能猜测所说的offset是什么意思;对比here 的两个数据集建议了一个常见的用例;如果您有其他想法,请编辑您的问题以澄清。
    • 可能是setDomainPannable(true),对于example
    • 经过一些测试后,我认识到保留对值数组 (double[][]) 的引用并修改内部的值(您可以进行所需的任何转换),然后调用 chart.fireChartChanged()解决问题。但是我不确定效率如何,但如果 JFreeChart 不提供转换 API,这似乎是一个好方法。
    • 作为实现细节,addSeries() 中没有复制。
    猜你喜欢
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多