我创建一个包含多个频段作为类别轴的条形图。 我想要做的就是展示这些频段的可视分组:
例如:
频率X1〜频率X2 =波段Y(因此域轴具有用于类别X1,X1.1,X1.2直到X2值)频率X3〜X4频率波段= Z(X3,X3.1 ..... X4)
我想要做的是带Y和乐队中的Z图形显示标记。 需要注意的是基于我可能得到的数据集,并不是所有的类别可能存在。 比方说,为第1例中,我得到了值x1到X1.6等乐队标志是从X1至X1.6
我希望我可以解释我的要求。 这是可能的JFreeChart的? 如果是这样,我怎么可能去实现呢?
只是为了澄清多一点, 这里有一个画面 ,我想实现的东西:
做你的乐队相当于分类? 如果他们这样做,你可以使用一个CategoryMarker
CategoryMarker marker = new CategoryMarker("Category 3");
marker.setLabel("Band Y");
marker.setPaint(Color.red);
marker.setOutlinePaint(Color.red);
marker.setAlpha(0.5f);
marker.setLabelAnchor(RectangleAnchor.TOP);
marker.setLabelTextAnchor(TextAnchor.TOP_CENTER);
marker.setLabelOffsetType(LengthAdjustmentType.CONTRACT);
plot.addDomainMarker(marker, Layer.BACKGROUND);
我不能工作了如何建立一座耗资-CategoryMarker,但你可以通过调整创造一些similer ItemMargin
和CategoryMargin
以及额外的CategoryMarkers
{
CategoryMarker marker = new CategoryMarker("Category 2");
marker.setLabel("Band X");
marker.setLabelAnchor(RectangleAnchor.TOP);
marker.setLabelTextAnchor(TextAnchor.TOP_CENTER);
marker.setLabelOffsetType(LengthAdjustmentType.CONTRACT);
plot.addDomainMarker(marker, Layer.BACKGROUND);
}
{
CategoryMarker marker = new CategoryMarker("Category 3");
plot.addDomainMarker(marker, Layer.BACKGROUND);
}
renderer.setItemMargin(0.0);
CategoryAxis axis = plot.getDomainAxis();
axis.setCategoryMargin(0);
}
您可以创建一个方法来添加多个标记如
private void addMarkers(List<Comparable> keys){
...
更正确的解决方案可能是写自己的执行渲染和accociated代码