使用AutoRange的JFreeChart XYTextAnnotation位置

时间:2017-09-27 09:55:58

标签: java jfreechart

我有一个实时时间序列图表,我在某些事件发生时添加垂直值标记。我还想用XYTextAnnotation(也是垂直)标记这些标记。我试图在标记的右侧和顶部找到标签。但是,图表的Y轴使用AutoRange,但注释位于绝对的X,Y位置。结果是它在Y轴上移出图表并随着范围的增加而消失。如何添加标签使其相对于变化范围保持在图表上? TIA。

这是我目前的代码:

public void addMarker(String id_,String name_) {
    Functions.logger("Adding open door marker for "+id_+" "+name_,false);
    Long tod=new Date().getTime();
    ValueMarker marker=new ValueMarker(tod);
    XYTextAnnotation label=new XYTextAnnotation("Door Open: "+name_,tod-1,360);
    label.setRotationAnchor(TextAnchor.BASELINE_CENTER);
    label.setTextAnchor(TextAnchor.BASELINE_CENTER);
    label.setRotationAngle(-Math.PI/2);
    label.setPaint(Color.BLACK);
    marker.setStroke(new BasicStroke(2));
    marker.setPaint(Color.BLACK);
    chart.addDomainMarker(marker);
    chart.addAnnotation(label);
}

0 个答案:

没有答案