如何使用Prefuse创建聚类条形图?

时间:2010-11-08 05:21:15

标签: java visualization bar-chart prefuse

我可以使用Samir Talwar的代码创建单个条形图,方法是将渲染器修改为:

 vis.setRendererFactory(new RendererFactory() {
        Renderer yAxisRenderer = new AxisRenderer(Constants.RIGHT, Constants.TOP);
        Renderer xAxisRenderer = new AxisRenderer(Constants.CENTER, Constants.FAR_BOTTOM);
        Renderer barRenderer = new ShapeRenderer() {
                protected Shape getRawShape(VisualItem item) {
                        double x = item.getX();
                        double y = item.getY();
                        if (Double.isNaN(x) || Double.isInfinite(x))
                                x = getInsets().left + axisWidth + totalBarWidth / 2;
                        if (Double.isNaN(y) || Double.isInfinite(y))
                                y = 0;

                        double width = totalBarWidth / (barCount + 1) - barGap;
                        double height = getHeight() - getInsets().bottom - axisHeight - y;
                        x -= width / 2;

                        item.setFillColor(item.getStrokeColor());
                        return rectangle(x, y, width, height);
                }
        };

        public Renderer getRenderer(VisualItem item) {
                return item.isInGroup("ylab") ? yAxisRenderer :
                       item.isInGroup("xlab") ? xAxisRenderer :
                       barRenderer;
        }

无论如何,我已经尝试了创建聚类条形图的可能性,其中单个值有多个条但有困难。另外,我之所以不使用JFreechart,是因为我需要使用prefuse的过滤和搜索功能,这些功能在我的研究中对分析非常有用。

0 个答案:

没有答案