【问题标题】:Add tooltips to a jfreechart stacked bar char with subcategories将工具提示添加到带有子类别的 jfreechart 堆叠条形图
【发布时间】:2016-05-03 05:26:38
【问题描述】:

我基于 jFreeChart StackedBarChartDemo4.java 程序开发了一个应用程序。

我修改后的演示生成的图像如下所示,但演示代码中没有尝试将工具提示添加到分段条。

那么如何为每个栏中显示的每个员工添加工具提示?

谢谢 艾略特

【问题讨论】:

    标签: java jfreechart stacked-chart


    【解决方案1】:

    将具体的CategoryToolTipGenerator 添加到您选择的渲染器中,例如:

    renderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator());
    

    默认值描述为here,但您可以覆盖generateToolTip() 并访问CategoryDataset 以显示任何内容。

    我的系列值以“技能(Emp)”的形式出现,我想将两者分开。

    作为一个具体示例,以下自定义渲染器将仅显示系列键的“Emp”部分。

    renderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator() {
        @Override
        public String generateToolTip(CategoryDataset dataset, int row, int column) {
            String s = super.generateToolTip(dataset, row, column);
            int b = s.indexOf('(', 1) + 1;
            int e = s.indexOf(')');
            return s.substring(b, e);
        }
    });
    

    【讨论】:

    • 感谢那个垃圾神——它成功了!由于我的图表使用子类别,我想知道是否有办法将系列 {0} 占位符解析为 2 个部分。我的系列值以“技能(Emp)”的形式出现,我想在工具提示中将两者分开或仅显示其中一个。
    • 您可能不得不在自定义generateToolTip() 中摆弄String::indexOf()String::substring()。如果您在此主题上发布新问题,请在此处联系我。
    • 您好垃圾神 - 抱歉我是新手 - 您是否建议我提出一个关于格式化 {0} 值的新问题?我该怎么打你 - 只是使用@trashgod?
    • @Elliot:是的,是的。如果你孤立地关注问题,你会得到更好的答案,例如您是在覆盖方法还是使用字符串方法时遇到问题。我认为工具提示是一种视图装饰,但您可能会决定更改您的模型(数据集)。另请参阅design discussion
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-03
    • 1970-01-01
    • 2013-09-15
    • 2018-05-12
    • 1970-01-01
    • 2018-11-24
    相关资源
    最近更新 更多