【问题标题】:Loop through a series points in JFreechart循环遍历 JFreechart 中的一系列点
【发布时间】:2025-12-27 13:25:17
【问题描述】:

是否可以遍历属于 JFreechart 中的系列的点? 谢谢

【问题讨论】:

  • 是的,这在您的数据模型中应该很容易做到。

标签: loops jfreechart points series


【解决方案1】:

是的,例如带有一个 XYSeries 的 XYSeriesColleciton,其中包括简单的数字:
代码如下:

XYSeriesCollection dataSet0 = (XYSeriesCollection) plot.getDataset(0);
XYSeries series0 = dataSet0.getSeries(0);
for (Object i : series0.getItems()) {
  XYDataItem item = (XYDataItem) i;
  double x = item.getXValue();
  double y = item.getYValue();
}

【讨论】:

    【解决方案2】:

    您可以遍历任何给定图中的列和行,但正如垃圾神评论的那样:您应该在数据模型中进行循环。

    如果你坚持循环遍历这些点,你可以通过两种方式做到这一点:

    • 循环遍历行数/列数并获取行/列给定索引的值
    • 遍历行/列的键并获取给定行/列键对的值

    这是在给定系列的数据集上完成的。您应该能够使用以下方法来实现:

    int getColumnCount(); // Returns the number of columns in the table.
    int getRowCount(); // Returns the number of rows in the table.
    
    java.util.List getColumnKeys(); // Returns the column keys.
    java.util.List getRowKeys(); // Returns the row keys.
    
    java.lang.Number getValue(java.lang.Comparable rowKey, java.lang.Comparable columnKey); // Returns the value for a pair of keys.
    

    有关更多信息,请参阅 JFreeChart 文档here,或购买开发人员手册以深入了解这些类。

    【讨论】: