我创建了一个XYChart
,数值不同(例如温度和压力),所以我想在我的图表旁边绘制自己的轴。要做到以下几点我不知道YAxis,我应该怎么做?
答案 0 :(得分:6)
使用技巧:图表需要Y轴保持原位,以便知道在何处呈现您的内容。但是,你可以隐藏它。隐藏刻度标签并使用以下代码将轴的不透明度设置为0:
chart.getYAxis().setTickLabelsVisible(false);
chart.getYAxis().setOpacity(0);
轴仍然在那里,但未显示。
答案 1 :(得分:1)
我发现如果我使用以下代码隐藏图表:
chart.getXAxis().setTickLabelsVisible(false);
chart.getXAxis().setTickMarkVisible(false);
((Path)chart.getXAxis().lookup(".axis-minor-tick-mark")).setVisible(false);
然后我在底部减少约10个像素的空白区域。如果空间是您的应用程序的问题,那么您可以使用css偏移来纠正它。该解决方案可能具有更可预测的偏移。
答案 2 :(得分: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);