如何从JFreeChart图表中删除y标签?我的y轴使用NumberAxis
。
我似乎无法在任何地方找到一个简单的方法。
我想要类似于删除图例语法:
// Remove the legend
chart.removeLegend();
请注意,我做想要在NumberAxis
中定义标题:
NumberAxis axis1 = new NumberAxis("A random title");
我根本不希望它出现在最终图表中。
答案 0 :(得分:3)
我认为您的意思是要隐藏Y轴的 tick 标签,但仍希望看到轴本身的标签。我是对的吗?
你可以这样做:
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;
}
答案 1 :(得分:0)
到目前为止,我最好的解决方案是:
axis1.setLabel(null);
但这只是覆盖原始标签(所以不是一个好的解决方案)。