有人知道,是否可以在JavaFX ScatterChart
对象中隐藏轴?或者任何人都可以想到一个简单的解决方法?我没有在ScatterChart对象的文档中找到与此问题相关的任何内容。
不幸的是,它们在各种图形中都有点刺激,其中轴的值本身并不具有信息性(例如距离配置)。
注意:遗憾的是,将scale的visibility属性设置为false的最简单的解决方案并没有产生我所渴望的结果(实际上它根本没有显示效果)。
答案 0 :(得分:5)
当您说“隐藏轴”时,我假设您的意思是隐藏所有刻度线并勾选标签。如果你的意思不同,请告诉我。
第一步是隐藏刻度标签 - 这非常简单:
xAxis.setTickLabelsVisible(false);
yAxis.setTickLabelsVisible(false);
第二步是隐藏刻度线和所有与刻度线一起的整齐图形内容(如背景颜色)。我发现这样做的最好方法是通过CSS。因此,您需要创建一个CSS文件(我创建了一个名为test.css
并将其放在项目的基本文件夹中)并加载它。加载它可以这样做:
sc.getStylesheets().add("test.css");
(其中sc
是ScatterChart
对象)
这是我用来删除与刻度线相关的所有视觉效果的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.2和modena.css for Java 8在网络上找到说明。