JavaFX のラインチャートをズームするサンプルを以前紹介しましたが、ズームの具合がよくありませんでした。確かにズームはできますが、マウスで指定した矩形の領域が正確に拡大されていません。どうやら座標計算が正確では無いようです。手軽にチャートのズームができる方法で気に入っていたので、じっくり調べて修正しました。いや、どうしてもズーム機能を使う目的があったため、なんとか実用に耐えうるレベルまで修正する必要があった、というのが現実です。
動作環境は次の通りです。
- OS: Fedora 23 x86_64
- jdk1.8.0_77-1.8.0_77-fcs.x86_64 (Oracle)
- IDE: NetBeans IDE 8.1
まず最初に実行例を示します。
ソースは、もともと参考にした GitHub Gist のサイト [1] を fork して、修正を加えましたので、それを埋め込みました [2]。最初の LineChartZoomable.java が、LineChart クラスを継承して、ズーム機能を加えたクラス、その下の LineChartZoomableTest.java は、LineChartZoomable クラスを利用したサンプルです。なお、このクラスは、StackPane で最初の配置を行う必要があります。
参考サイト
- Example of a LineChart that can be zoomed via mouse.
- LineChartZoomable class that can be zoomed via mouse.
にほんブログ村
0 件のコメント:
コメントを投稿