EngineIT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。記事の目的JFreeChartの導入や疎通が済んでいるという前提で、今回の記事では「LineChart」(折れ線グラフ)に絞って「グラフをより綺麗に見せる為の便利テクニック」を紹介していきます。JFreeChartの導入や疎通これから実施する方は以下の記事を参考にしてみて下さい。・第一引数はシリーズの番号指定です(追加した順番に0,1,2,・・・と数字が増えていきます)・第二引数で線の太さを指定しています。「BasicStroke」の引数の数字は線の太さを表しています。・第一引数はシリーズの番号指定です(追加した順番に0,1,2,・・・と数字が増えていきます)・プロットされた点が軸から離れていたりすると、点のX値やY値が読取りにくくなるケースがあります。した不便さを解消するために利用できます。・第三引数では方角を制御しており、上の例ではTOP_CENTERなので点の上中央に値を表示し、下の例では点の下中央に表示させています。・私の場合、各点にはY軸の値を添えたかったため、第一引数には「{2」}を指定しています。・setBaseItemLabelsVisibleで表示のON/OFFを切替えています。・第一引数はシリーズの番号指定です(追加した順番に0,1,2,・・・と数字が増えていきます)・第二引数のbooleanフラグでON/OFFの指定をしています。Toolkit)のライブラリのクラスを用いています。・「CategoryPlot」クラスで表の中の表示を制御しています。・「Domain」がX軸で「Range」がY軸を表しています。・「RangeGridlinesVisible」でY軸方向のグリッド線の表示の有無を指定しています。・「RangeGridlinePaint」でY軸方向のグリッド線の色の指定しています。・「LegendTitle」クラスで凡例の表示を制御しています。・setPosition()メソッドで位置を指定できます(上下左右が指定可能。[JFreeChart型インスタンス].getLegend();legend.setPosition(RectangleEdge.LEFT);>目次にもどる(2-9)【軸】両端のマージンを削除する・CategoryAxisのインスタンスはデフォルトで自動のマージンを設定するため、もし両端の余白が不要であれば本コマンドで手動の削除を行います。・「NumberAxis」クラスで軸の表示を制御します。・軸の始点と終点を任意に指定したい時に利用できます。私の場合ランキングのグラフ等、1位が上に来るケースで使いました(※グラフの各点の数字が上端に近いケースで切れてしまう問題に対応するため、Y軸の上限をマイナスの値に設定する事で上端に余白を与えて、数字が切れないようにする)。・「CategoryLabelPositions.DOWN_90」は右方向に90度回転の意味です。・データ数が非常に多い場合に有効です。データが多いと横書きのX軸ラベルはお互いに文字が被ってしまうため、縦書きにする事で、同じX軸の幅の中により多くのラベルを表示する事ができます。対応実施前(Before)こちらがBeforeのLineChartを描画するための最小限のプログラムです。対応実施後(After)こちらがAfterのプログラムです。上記のBeforeのプログラムに対して、2章の1~11のポイントを追加しています。LineChartでX軸方向の点を間引くDefaultCategoryDataset型のデータセットの場合、Y軸は数値のためソートが可能ですが、一方のX軸は「カテゴリ」であり文字列(String型)のケースも有り得るため、原則は間引く事は出来ない仕様になっています(間引くとデータ自体の欠損が生じる可能性があるため)。X軸も数値型の軸で、値が非常に多いため間引きたいという場合は、XYSeriesCollection型のデータでXYLineChartで描く事によってX方向の間引き機能も利用できます。LineChartでX軸を日付順番でソート点を間引く時と同じ話で、DefaultCategoryDataset型のデータセットの場合はX軸方向のソートが出来ません(軸の各値が文字列の可能性もあるため)。ソートしたいという場合に考えられるアプローチとして「DefaultCategoryDataset」にsetValueで値を追加する際に「ソートされた状態で追加する」事が考えられます。値を追加する際は別のシリーズの値が交互に追加されようが、シリーズ名さえ与えていればJFreeChart側で区別が可能です。シリーズは気にせず、とにかくX軸方向でソートされた状態でデータセットを形成していけば、実際に表示した際にX軸のソートが正しく表示できるはずです。Plot型Y軸は数値だがX軸が数値でないもの(商品の売り上げ比較等)といったビジネス向けのグラフ描画に利用します。DatasetとRendererはCategory型をセットします。Plot型X軸Y軸が両方とも数値のグラフといった、数学的なグラブ描画の際に利用します。Plot型をセットします。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。EngineIT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。Reserved.Top。