2

XYChart数値が異なる (たとえば、気温と圧力) を作成したので、チャートのすぐ横に独自の軸を描きたいと思います。次のことを行うには、YAxis を非表示にする必要があります。どのようにすればよいですか?

4

3 に答える 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

解決済み:縦に積み上げられた 2 つのグラフの共通のx軸を共有するためにこれを機能させました。

ここに画像の説明を入力

  1. 2 つのグラフを作成します。それぞれに x 軸オブジェクトの同一のコピーがあり、同一の上限と下限を設定します (オプションでバインディングによって)。

  2. 次に、次のように 2 番目のグラフの x 軸を非表示にします。

chart = new LineChart<Number,Number>(xaxis2,yaxis2) {
{// hide xAxis in constructor, since not public
            getChartChildren().remove(getXAxis());
            // not getPlotChildren()
      }
};
  1. 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 に答える