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

带有文本刻度标记值的JavaFX数字轴

长孙景天
2023-03-14

我正在尝试创建一个 JavaFX 条形图,它将数值轴 y 轴上的数字刻度线替换为基于 Likert 刻度的特定文本值。

例如:如果我有一个0-50的刻度,我希望10相当于“不同意”,20=“有点不同意”,30=“中性”,40=“有点同意”,50=“同意”。

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

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

共有1个答案

赵智
2023-03-14

不知道你尝试了什么,但这是你可以开始做的。

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
        }
    });
 类似资料:
  • 我需要移动轴中所有刻度线的标签(),使文本位于其自己的刻度线和下一个刻度线的中间。 我正在使用Roland的甘特图控件(经过一些修改)和Christian Schudt的DateAxis作为我的X轴。我的目标是根据Date值绘制甘特图(忽略时间;所有时间值都被截断)。 我的甘特图对每个任务都有一个“开始日期”和“结束日期”(即在图表上,它由一个条形图表示)。 考虑一下: 我有一个从2月1日开始的任

  • 问题内容: 我想对图中的几个选定的刻度线标签进行一些修改。 例如,如果我这样做: 字体大小和刻度标签的方向已更改。 但是,如果尝试: 蜱标签不修改。另外,如果我这样做: 什么都不会打印。 这里有些奇怪。当我尝试这个: 仅打印空字符串,但图中包含标记为“ 0.0”,“ 0.5”,“ 1.0”,“ 1.5”和“ 2.0”的刻度。 问题答案: 警告:除非已设置为字符串(例如在boxplot中通常是这种情

  • 我想包括使用FXML的图标和文本按钮。 我知道在FXML中,我可以用以下代码添加图像: 但我想知道如何将其与按钮代码合并:

  • 我想在每个文本之后使用jsoup提取一个文本。有没有办法选择它? 示例代码如下: 当它完成时,它会创建自动id示例id=123

  • 我想绑定JavaFX与值。 我试过了,例如。 或 但我总是得到NullPointerException。 我怎么才能修好它?

  • 我正在从事一个JavaFX项目,使用TextField控件时遇到问题。我想将用户在每个文本字段中输入的字符限制为一个。如果将单个文本字段与侦听器一起使用,我找到了一个解决方案: 但问题是我有一个TextFields数组。你们知道如何为TextFieldArray重写这个侦听器吗? 阵列列表实现: 阵列初始化: 我使用了给定的解决方案: GamePresenter是编写侦听器的视图的演示者。在“Ga