あなたのエキスパートFXがそこを覗いています。 AreaChartの100目盛りの点に暗い線を追加する助けが必要です。JavaFXエリアチャート100%ライン
あなたは、私は、彼らは100%の生産かにいるかどうかを皆に伝えるために、シート全体に行くためにラインを必要とする100のマークであり、画像で見ることができるように。その100の位置は、任意の週から変更することができます。時には、最高値は170ではなく、おそらく150程度になるでしょう。私の現在のコードは以下の通りですが、これをテストしているだけです(正しく動作していません)。
@Override
protected void layoutPlotChildren() {
super.layoutPlotChildren();
ObservableList<Node> removeable = FXCollections.observableArrayList();
removeable.addAll(getPlotChildren().stream().filter(node -> node instanceof Line).collect(Collectors.toList()));
getPlotChildren().removeAll(removeable);
Double y = Double.valueOf(getYAxis().getValueForDisplay(100.0).toString());
System.out.println(y);
Line line = new Line();
line.setStartX(0.0);
line.setStartY(y);
line.setEndX(600.0);
line.setEndY(y);
getPlotChildren().add(line);
}
グラフの行が右の垂直位置に配置されていません(これは単なるテストにすぎません)。問題はここにあり、まさに
getYAxis().getValueForDisplay(100.0)
何が何をしているかについての好奇心
。
これはうまくいくはずですが、通常はdouble型に戻すことができるように文字列に変換するのではなく、 'double y = getYAxis()。getValueForDisplay(100.0)'を実行します。この例を[MCVE]に拡張できますか? –
getYAxis()。getValueForDisplay(100.0)は、Y型のFXオブジェクトを返します.YはAxisです(私の場合はNumberAxisです)。 (私がとにかく見た)ダブルに変換するための変換はありませんので、文字列に変換します(Yを印刷するたびにdoubleのような数字が出力されます)。そしてdoubleに変換されます。今日の仕事を辞めたときに私ができることを見ていきます。 –
ああ、私はそれを参照してください。 'getDisplayPosition'が必要です。ピクセル値をピクセル値に変換するのではなく、ピクセル座標値を軸値に変換しています。 –