在javafx 2.2 ScatterChart中隐藏轴

时间:2013-07-16 15:14:37

标签: graph charts javafx-2 javafx

有人知道,是否可以在JavaFX ScatterChart对象中隐藏轴?或者任何人都可以想到一个简单的解决方法?我没有在ScatterChart对象的文档中找到与此问题相关的任何内容。

不幸的是,它们在各种图形中都有点刺激,其中轴的值本身并不具有信息性(例如距离配置)。

注意:遗憾的是,将scale的visibility属性设置为false的最简单的解决方案并没有产生我所渴望的结果(实际上它根本没有显示效果)。

1 个答案:

答案 0 :(得分:5)

当您说“隐藏轴”时,我假设您的意思是隐藏所有刻度线并勾选标签。如果你的意思不同,请告诉我。

第一步是隐藏刻度标签 - 这非常简单:

xAxis.setTickLabelsVisible(false);
yAxis.setTickLabelsVisible(false);

第二步是隐藏刻度线和所有与刻度线一起的整齐图形内容(如背景颜色)。我发现这样做的最好方法是通过CSS。因此,您需要创建一个CSS文件(我创建了一个名为test.css并将其放在项目的基本文件夹中)并加载它。加载它可以这样做:

sc.getStylesheets().add("test.css");

(其中scScatterChart对象)

这是我用来删除与刻度线相关的所有视觉效果的CSS代码:

.axis-tick-mark, 
.axis-minor-tick-mark, 
.chart-vertical-grid-lines, 
.chart-horizontal-grid-lines, 
.chart-vertical-zero-line, 
.chart-horizontal-zero-line  {
    -fx-stroke: transparent;
}

.chart-alternative-row-fill, .chart-alternative-column-fill{
    -fx-fill: #f5f5f5;
}

Oracle发布了一个很棒的CSS reference for JavaFX - 但除此之外,我建议下载default CSS JavaFX uses。查看默认值有助于。您可以在“默认样式表”部分下的该链接中找到相关说明,也可以使用caspian.css for JavaFX 2.2modena.css for Java 8在网络上找到说明。