我正在尝试创建一个JavaFX BarChart,它使用基于Likert标度的特定文本值替换NumericAxis y轴上的数字刻度线。
例如:如果我有0到50的等级,我希望10等于"不同意",20 ="有些不同意",30 =&#34 ;中立",40 ="有点同意"并且50 ="同意"。
这可能吗?我尝试过使用setTickLabelFormatter方法,建议如下:JavaFX - tick mark label on NumberAxis。到目前为止,我已经研究了如何通过添加各种前缀和后缀来修改刻度线,但没有为文本添加特定的数值。
我会添加代码,但不要认为它与此问题相关。感谢。
答案 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
}
});