当前位置: 首页 > 知识库问答 >
问题:

Jasper条形图:无法显示标签

淳于熙云
2023-03-14

我正在努力让Jasper在图表的条形图上显示值标签。我想生成什么:

我使用Jaspersoft Studio,并在“图表绘图”选项卡中选中了“显示标签”框。出于测试目的,我使用了某种红色和紫色作为项目标签的字体颜色和背景颜色,这在条形图上应该很明显。

我的jrxml文件如下所示:

        <barPlot isShowLabels="true" isShowTickMarks="false">
            <plot backcolor="#FFFFFF" labelRotation="0.0">
                <seriesColor seriesOrder="0" color="#6D74BC"/>
            </plot>
            <itemLabel color="#E86841" backgroundColor="#C429B5">
                <font fontName="Arial" size="25" isBold="true" isItalic="true" isUnderline="true" isStrikeThrough="true"/>
            </itemLabel>
            <categoryAxisFormat labelRotation="0.0">
                <axisFormat labelColor="#000000" tickLabelColor="#6D74BC" verticalTickLabels="true" axisLineColor="#6D74BC">
                    <labelFont>
                        <font fontName="Arial" size="8"/>
                    </labelFont>
                    <tickLabelFont>
                        <font fontName="Arial" size="8"/>
                    </tickLabelFont>
                </axisFormat>
            </categoryAxisFormat>
            <valueAxisLabelExpression><![CDATA[$P{unitFact}]]></valueAxisLabelExpression>
            <valueAxisFormat>
                <axisFormat labelColor="#6D74BC" tickLabelColor="#6D74BC" verticalTickLabels="false" axisLineColor="#6D74BC">
                    <labelFont>
                        <font fontName="Arial" size="8"/>
                    </labelFont>
                    <tickLabelFont>
                        <font fontName="Arial" size="8"/>
                    </tickLabelFont>
                </axisFormat>
            </valueAxisFormat>
        </barPlot>

我还尝试使用定制器,基于一些SO问题:

@Override
public void customize(JFreeChart jFreeChart, JRChart jrChart) {
    CategoryPlot plot = (CategoryPlot)jFreeChart.getPlot();
    plot.getRenderer()
        .setBasePositiveItemLabelPosition(new ItemLabelPosition(
            ItemLabelAnchor.OUTSIDE12,
            TextAnchor.BOTTOM_CENTER));
}

我没法让它工作,我有上面的条形图,但没有110/760标签。

为了显示这些值,我应该做什么?

共有1个答案

易琛
2023-03-14

我从头开始创建了一个新的条形图,在相同的配置下一切都很好。经过一些挖掘,我发现当我第一次创建初始图表时,我把一个空白字符串作为标签的表达式,认为它是轴标签(我不想显示值轴的标签)。我解决了这个问题,第一个条形图也起了作用。浪费工作日的愚蠢方式。

 类似资料:
  • Mac OSX Netbeans JAVA 目标:21点程序…我正在尝试将扑克牌的图像图标显示在JLabel中 逻辑:我创建了一些CARD对象,用一个方法返回与之相关的imageIcon。在我的主GUI类中,如果我创建新的imageIcon来指定文件位置,它就会工作 注释掉的行工作正常,显示imageIcon图像,但是当我使用card1.getImage()方法时,图像不显示。方法很简单- 此外,

  • 我有一个这样的数据帧: 现在,我想绘制水平条形图,其中平台名称位于相应的条形图中,使其看起来像这样: 我该怎么做?

  • 我已经自定义了项目标签的位置,这样当标签不适合条内时,标签就会出现在条外,如下所示。 当文本位于条内时,如何为标签赋予不同的颜色。e、 g内部为白色文本,外部为黑色文本。我试过下面的代码,但它总是显示黑色。我希望20个显示为白色,57个和30个显示为黑色文本 注意:这是一个为贾斯珀软件工作室条形图编写的定制器类

  • 我使用Chart.js库绘制条形图,我想显示工具提示不仅在条形图悬停,而且在x轴标签悬停该条形图。我找到了用于配置的方法,但它只允许我访问当前悬停栏的数组,这是没有用的。 那个么,我怎样才能访问鼠标事件,并从那个里获取位置,将其与条形标签的位置进行比较呢?还是有别的办法? 我当前的配置: 它只打印出悬停条数据,但我坚持要想出如何扩展它以满足我需要的行为。

  • 我目前正在一个项目中使用MPAndroidChart。我正在使用带有自定义BarChartRenderer和XaxiRenderer的条形图。 我面临的问题是,我希望与高亮显示(单击)栏关联的标签与该栏的颜色相同。 有没有办法通过重写lib函数/类来做到这一点? 这是我的图表实际状态的屏幕截图(10月16日的条形图突出显示)。 这是我想要的最终结果 有人试过在MPAndroidChart上做这种事

  • 我使用MPAndroidChart条形图(分组数据集)显示两个用户的数据。它正在显示数据,但问题是,它从一开始就没有在x轴上显示数据,因此所有条形图都不可见。 阵列: 条形图: 我已经尝试了stackoverflow的答案,但没有解决我的问题。请帮助! 更新: 是否可以将标签与条形图居中?