繁体   English   中英

jFreeChart图表从NumberAxis中删除y标签

[英]jFreeChart chart remove y labels from NumberAxis

如何从JFreeChart图表中删除y标签? 我的y轴使用NumberAxis

我无法在任何地方找到一个简单的方法。

我想要一些类似于删除图例语法的东西:

    // Remove the legend
    chart.removeLegend();

请注意,我确实想在NumberAxis定义标题:

NumberAxis axis1 = new NumberAxis("A random title");

我只是不希望它出现在最终的图表中。

认为您的意思是要隐藏Y轴的刻度标签,但仍希望看到轴本身的标签。 我对么?

你可以这样做:

axis1.setTickLabelsVisible(false);

好的,如果你想:

  • 隐藏图表中的标签
  • 但仍然在NumberAxis

那么你可以使用一种解决方案,也不是完美的。 如果设置“属性标签”(带有额外字体标记属性的标签),则会绘制属性标签。 您可以将其设置为单个空格(零长度字符串不起作用 - 字体呈现代码不允许这样做)。

rangeAxis.setAttributedLabel(" ");

至少axis1.getLabel()仍将返回您的旧标签,但这是我能看到的唯一好处。

否则,您可以NumberAxis并覆盖子类中的方法drawLabel ,不执行任何操作:

protected AxisState drawLabel(String label, Graphics2D g2,
        Rectangle2D plotArea, Rectangle2D dataArea, RectangleEdge edge,
        AxisState state) {
    return state;
}

到目前为止我的最佳解决方案是

axis1.setLabel(null);

但这只是覆盖原始标签(所以不是一个很好的解决方案)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM