3

私は jasperreports を使用しており、折れ線グラフの x 軸ラベルを超えて追加のデータを表示しようとしていますが、いくつかの問題に直面しています。表示したい値はフィールドに保存されます。その値は水平に印刷する必要があり、チャートの相関する x 軸ラベルを正確に超えている必要があります。また、x 軸ラベルの数は、選択したレポート期間に応じて動的に変更できます (ただし、ラベルの下に印刷されるフィールド値と常に同じ数です)。X 軸に 4 つのラベルがあるグラフの例を次に示します。

チャートがどのように見えるかの例

すべての要件を達成するための場所はありますか?

4

2 に答える 2

1

私はついにそれを行う方法を考え出しました。画像は私の解決策を示しています。今回はBAR CHARTでやってみましたが、もちろんLINE CHARTでもOKです。仕様に合わせて棒グラフを悪用しました。静的テキスト要素「Additional Data」の下に、表示したいフィールド データを含む別の棒グラフを、カテゴリ式の値として配置します。それ以外はすべて隠されています (たとえば、背景色を指定するなど)。軸とラベルを非表示にし、レポート要素のサイズを「50」に縮小しました。カテゴリ軸の目盛りラベルが消えるため、小さくすることはできないようです。注意が必要なのは、カテゴリ式の値が重複しないようにすることです。これらは 1 つのラベルに統合されるためです。比較可能なインターフェースを実装する新しいクラスを実装することでこれを修正し、同じ toString() 表現で異なる ID を持つオブジェクトを作成できるようにしました。私はこれがハックであることを知っていますが、少なくともうまくいくようで、私が望んでいたように見えます. 誰かがより良い解決策を持っている場合は、それについて教えてください。

表示されるのは実際には 2 つの棒グラフですが、1 つのほとんどの要素が非表示になっています

于 2013-03-27T13:19:23.417 に答える
0

同じ問題が発生しましたが、解決策が見つかりませんでした。値を表示できる折れ線グラフの下に表形式のレポートを作成できます。折れ線グラフにマウスオーバープロパティを追加できます。

それ以外の場合は、同じクエリで新しい表形式のレポートを作成し、このレポートを折れ線グラフでハイパーリンクします。ユーザーが値も表示するかどうかを決定し、データポイントを表示する場合は、レポートをドリルダウンできます。

于 2013-03-19T06:26:37.863 に答える