java - JFree图表选择点粗细

标签 java jfreechart

我正在使用 jfree chart 以图形方式显示指标。现在我正在研究一种解决方案,它随机化 XY 折线图中的图形元素,使图形看起来更平滑。问题是我不希望随机元素获得相同的厚度作为实际值,事实上我不希望任何厚度与它们相关联。有没有一种方法可以选择性地指定点厚度。我目前正在使用 XYLineAndShapeRenderer 来渲染点厚度。

最佳答案

您可以覆盖 getItemShapeVisible()并安排它为虚假点返回 false。您可以使用 XYZDataset 的实现将决策所需的额外信息存储在您的数据模型中。

作为替代方案,请考虑 smoothing渲染之前的数据。此类过滤器通常会产生较少点,从而简化渲染。

无论哪种情况,都应避免对数据进行混淆或误导性更改。 TextTitle , 如图所示 here , 可能会澄清结果。

附录:getItemShapeVisible() 告诉正在考虑什么seriesitem。默认实现只询问 getSeriesShapesVisible()。这是一个大纲:

private static class MyRenderer extends XYLineAndShapeRenderer {

    @Override
    public boolean getItemShapeVisible(int series, int item) {
        System.out.println(series + ":" + item);
        if (item % 2 == 0) return false;
        else return super.getItemShapeVisible(series, item);
    }
}

附录:安装方法如下:

XYPlot plot = chart.getXYPlot();
MyRenderer renderer = new MyRenderer();
plot.setRenderer(renderer);

关于java - JFree图表选择点粗细,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8635163/

相关文章:

java - 理解hibernate一级缓存

java - 显示鼠标附近的鼠标坐标作为鼠标移动的提示

JFreeChart & Image

java - 此代码如何从排序数组中删除重复项?

java - JPA 在持久化对象时丢失字段

java - 我的 JFrame 不显示表盘的输出

mysql - 如何在MySQL数据库中动态生成字符串实例?

java - 在 JPanel 上显示 JFreeChart 的缩略图

java - 有没有办法获取xml文件中的Bean ID

java - 我的应用程序在开始时崩溃并给我一个强制关闭错误