1

iReportで積み上げ棒グラフを作成しました。各バーの下の一部のラベルは、乱数が表示された後に切り捨てられます。一部のラベルには1文字の「O...」があり、他のラベルには6文字の「Safet...」があります。他の人はすべて「財務」の文字を持っています。

各バーの下にラベル全体を表示するように設定できるiReportのプロパティはありますか?他のテキスト要素が持つ「StretchWithOverflow」に似ていますか?

iReport4.5.1と4.7でも同じ動作がします。

これがその特定のチャートのXMLです。

<stackedBarChart>
                <chart>
                    <reportElement x="0" y="26" width="555" height="257"/>
                    <chartTitle/>
                    <chartSubtitle/>
                    <chartLegend position="Bottom"/>
                </chart>
                <categoryDataset>
                    <dataset>
                        <incrementWhenExpression><![CDATA[$F{Percentage}<100]]></incrementWhenExpression>
                        <datasetRun subDataset="dsSectionChart">
                            <datasetParameter name="C_ID">
                                <datasetParameterExpression><![CDATA[$P{C_ID}]]></datasetParameterExpression>
                            </datasetParameter>
                            <datasetParameter name="L_STR">
                                <datasetParameterExpression><![CDATA[$P{L_STR}]]></datasetParameterExpression>
                            </datasetParameter>
                            <datasetParameter name="START_DATE">
                                <datasetParameterExpression><![CDATA[$P{START_DATE}]]></datasetParameterExpression>
                            </datasetParameter>
                            <datasetParameter name="END_DATE">
                                <datasetParameterExpression><![CDATA[$P{END_DATE}]]></datasetParameterExpression>
                            </datasetParameter>
                        </datasetRun>
                    </dataset>
                    <categorySeries>
                        <seriesExpression><![CDATA[$V{PRIORITY_STR}]]></seriesExpression>
                        <categoryExpression><![CDATA[$F{sectionName}]]></categoryExpression>
                        <valueExpression><![CDATA[$V{R_COUNT}]]></valueExpression>
                        <labelExpression><![CDATA[$F{sectionName}]]></labelExpression>
                    </categorySeries>
                </categoryDataset>
                <barPlot isShowLabels="false" isShowTickMarks="true">
                    <plot labelRotation="0.0">
                        <seriesColor seriesOrder="0" color="#10253F"/>
                        <seriesColor seriesOrder="1" color="#558ED5"/>
                        <seriesColor seriesOrder="2" color="#C6D9F1"/>
                    </plot>
                    <itemLabel/>
                </barPlot>
            </stackedBarChart>
4

3 に答える 3

4

つまり、いいえ:ラベル全体が確実に表示されるように設定できる単純なプロパティはありません。チャート画像をレンダリングするのはJFreeChartであるため、ほとんどの場合、これは実際にはJasperReportsの質問ではなくJFreeChartの質問です。

多くの場合、最も簡単な解決策はラベルを回転させることです。これは彼らにより多くの余地を与えます。45度または90度で試して、それが許容できる解決策であるかどうかを確認してください。

動作をより正確に制御するためのチャートカスタマイザを作成することも可能です。しばらく前に、棒グラフで長いラベルを処理する例を正確にカバーするチャートカスタマイザーについての記事を書きました。それはあなたに役立つかもしれません。

于 2012-08-11T00:29:38.090 に答える
2

スタックオーバーフローは初めてです。ireportのチャートのカテゴリ軸にラベル全体(ラベルを完全に)を印刷するためのいくつかのオプションを試しました。以下のオプションで成功しました。

チャートのプロパティで「カテゴリ軸ティックラベル回転」パラメータを使用してください。回転値を指定します。値は角度で指定されることに注意してください。jrxmlは次のようになります。

<categoryAxisFormat labelRotation="45.0"></categoryAxisFormat>

于 2013-02-15T03:53:06.613 に答える
1

Jaspersoft Studioで、チャートを右クリックして[プロパティの表示]->[プロパティ]ウィンドウの[チャートプロット]タブをクリック->[カテゴリ軸ティックラベルフォント]プロパティを開く->[カテゴリ軸ティックラベル回転]入力テキストに回転角度を入力します。

于 2017-02-13T12:21:06.603 に答える