我创建了一个XYChart
数值不同的值(例如温度和压力),所以我想在我的图表旁边画出我自己的轴。要执行以下操作,我必须取消显示 YAxis,我应该怎么做?
问问题
5894 次
3 回答
8
通过使用一个技巧:图表需要 Y 轴保持原位,以便它知道在哪里呈现您的内容。但是,您可以隐藏它。使用以下代码隐藏刻度标签并将轴的不透明度设置为 0:
chart.getYAxis().setTickLabelsVisible(false);
chart.getYAxis().setOpacity(0);
轴仍将存在,但未显示。
于 2013-06-29T09:43:28.167 回答
2
我发现如果我使用以下代码隐藏图表:
chart.getXAxis().setTickLabelsVisible(false);
chart.getXAxis().setTickMarkVisible(false);
((Path)chart.getXAxis().lookup(".axis-minor-tick-mark")).setVisible(false);
然后我在底部的空白空间减少了约 10 像素。如果空间对您的应用程序来说是一个问题,那么您可以使用 css 偏移来纠正它。此解决方案可能具有更多可预测的偏移量。
于 2014-06-09T18:10:58.093 回答
1
已解决:我让它为垂直堆叠的两个图表共享一个共同的x轴:
创建两个图表,每个图表都有自己相同的 x 轴对象副本,设置相同的上限和下限(可选通过绑定)。
然后像这样在第二个图表中隐藏 x 轴:
chart = new LineChart<Number,Number>(xaxis2,yaxis2) { {// hide xAxis in constructor, since not public getChartChildren().remove(getXAxis()); // not getPlotChildren() } };
您需要将 y 轴的宽度设置为相同,例如
int w = 60; yaxis.setMaxWidth(w); yaxis.setMinWidth(w); yaxis.setPrefWidth(w); yaxis2.setMaxWidth(w); yaxis2.setMinWidth(w); yaxis2.setPrefWidth(w);
于 2016-06-15T15:47:11.957 回答