具有文本刻度标记值的JavaFX NumberAxis

时间:2017-04-13 07:49:38

标签: javafx charts

我正在尝试创建一个JavaFX BarChart,它使用基于Likert标度的特定文本值替换NumericAxis y轴上的数字刻度线。

例如:如果我有0到50的等级,我希望10等于"不同意",20 ="有些不同意",30 =&#34 ;中立",40 ="有点同意"并且50 ="同意"。

这可能吗?我尝试过使用setTickLabelFormatter方法,建议如下:JavaFX - tick mark label on NumberAxis。到目前为止,我已经研究了如何通过添加各种前缀和后缀来修改刻度线,但没有为文本添加特定的数值。

我会添加代码,但不要认为它与此问题相关。感谢。

1 个答案:

答案 0 :(得分:0)

不确定你尝试了什么,但这是你可以开始的。

myYAxis.setTickLabelFormatter(new StringConverter<Number>()
    {
        @Override public Number fromString(String string)
        {
            // Reverse of toString()
        }
        @Override public String toString(Number object)
        {
            int value = object.intValue();
            if (value < 0 || value > 50)
                return "";
            else if (value <= 10)
                return "Disagree";
            else if (value <= 20)
                return "Somewhat disagree";
            // Etc
        }
    });