如何在JFreeChart中为类别标签制作不同的字体

问题描述 投票:0回答:1

我有一个基准分数列表和一两个选定的智能手机,所以我需要突出显示这些智能手机。我已经用不同的条形颜色做到了这一点,但我还想更改智能手机名称的字体——至少将其设为粗体,但仅限于选定的智能手机,而不是整个类别标签。

What i have

绘制条形图我使用下面的代码,但我也不知道如何自定义类别标签的字体:

public class MyBarRenderer extends StackedBarRenderer {
    //BarRenderer renderer = (BarRenderer) plot.getRenderer();
    private ArrayList<Integer> selectedSmartphones;
    public MyBarRenderer (ArrayList<Integer> s) {
        selectedSmartphones = s;

        this.setSeriesPaint(0, new Color(255,133,0));
        this.setSeriesPaint(1, new Color(255,172,83));
        this.setSeriesPaint(2, new Color(211,110,0));
    }

    //renderer.setSeriesPaint(0, Color.getColor("FFAC53"));
    @Override
    public Paint getItemPaint(int series, int category) {
        if (selectedSmartphones.contains(category)) {

                switch (series) {
                    case 0:
                        return new Color(81, 189, 230);

                    case 1:
                        return new Color(7, 167, 229);

                    case 2:
                        return new Color(2, 97, 133);

                    default:
                        return Color.blue;
                }

        } else {
                switch (series) {
                    case 0:
                        return new Color(255, 133, 0);

                    case 1:
                        return new Color(255, 172, 83);

                    case 2:
                        return new Color(211, 110, 0);

                    default:
                        return Color.orange;
                }
        }
    }
}

What i need

java font-face jfreechart
1个回答
1
投票

我找到了整个星期都在寻找的答案。

CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setTickLabelFont(strMyCategory,
    new Font("Arial", Font.BOLD, 13));

其中

strMyCategory
Comparable
类型
String
)是需要加粗或使用其他字体的确切类别标签。

© www.soinside.com 2019 - 2024. All rights reserved.