Module  javafx.controls
软件包  javafx.scene.chart

Class CategoryAxis

  • All Implemented Interfaces:
    StyleableEventTarget


    public final class CategoryAxis
    extends Axis<String>
    一个轴实现,它将对字符串类别起作用,其中每个值作为轴上的唯一类别(刻度线)。
    从以下版本开始:
    JavaFX 2.0
    • 构造方法详细信息

      • CategoryAxis

        public CategoryAxis​()
        创建一个具有空列表类别的自动范围类别轴。
      • CategoryAxis

        public CategoryAxis​(ObservableList<String> categories)
        创建具有给定类别的类别轴。 这不会是自动范围的,而是按照给定的类别进行修改。
        参数
        categories - 此轴的类别列表
    • 方法详细信息

      • getStartMargin

        public final double getStartMargin​()
        获取属性startMargin的值。
        Property description:
        轴开始和第一个刻度线之间的余量
      • setStartMargin

        public final void setStartMargin​(double value)
        设置属性startMargin的值。
        Property description:
        轴开始和第一个刻度线之间的余量
      • getEndMargin

        public final double getEndMargin​()
        获取属性endMargin的值。
        Property description:
        最后一个刻度线与轴端之间的余量
      • setEndMargin

        public final void setEndMargin​(double value)
        设置属性endMargin的值。
        Property description:
        最后一个刻度线与轴端之间的余量
      • isGapStartAndEnd

        public final boolean isGapStartAndEnd​()
        获取属性gapStartAndEnd的值。
        Property description:
        如果这是真的,那么刻度之间的一半空格留在开始和结束
      • setGapStartAndEnd

        public final void setGapStartAndEnd​(boolean value)
        设置属性gapStartAndEnd的值。
        Property description:
        如果这是真的,那么刻度之间的一半空格留在开始和结束
      • setCategories

        public final void setCategories​(ObservableList<String> value)
        在此轴上绘制的类别的有序列表。 如果autoRanging为true,则会根据图表数据自动设置。 如果应用程序设置了类别,那么自动测距关闭。 如果尝试将重复条目添加到此列表中,则抛出一个IllegalArgumentException
        参数
        value - 在此轴上绘制的类别的有序列表
      • getCategorySpacing

        public final double getCategorySpacing​()
        获取属性categorySpacing的值。
        Property description:
        这是沿着这个轴线的一个类别和下一个类别之间的差距
      • getRange

        protected Object getRange​()
        被称为获取当前的轴范围。
        Specified by:
        getRangeAxis<String>
        结果
        可以传递给setRange()和calculateTickValues()的范围对象
      • setRange

        protected void setRange​(Object range,
                                boolean animate)
        调用将当前轴范围设置为给定范围。 如果isAnimating()为true,那么此方法应将范围设置为新范围。
        Specified by:
        setRange中的 Axis<String>
        参数
        range - 从autoRange()返回的范围对象
        animate - 如果真实的动画变化范围
      • autoRange

        protected Object autoRange​(double length)
        这将根据提供给invalidateRange()方法的数据计算类别。 这不能影响轴的状态,改变轴的任何属性。 应在范围对象中返回自动范围的任何结果。 如果已决定为此轴采用此范围,我们将传递给setRange()。
        Specified by:
        autoRangeAxis<String>
        参数
        length - 屏幕坐标轴的长度
        结果
        范围信息,这是依赖于实现的
      • calculateTickValues

        protected List<String> calculateTickValues​(double length,
                                                   Object range)
        计算范围内每个刻度线的所有数据值的列表
        Specified by:
        calculateTickValuesAxis<String>
        参数
        length - 显示单位轴的长度
        range - 从autoRange()返回的范围对象
        结果
        如果是给定长度,则可以沿轴线拟合的刻度线列表
      • getTickMarkLabel

        protected String getTickMarkLabel​(String value)
        获取具有给定值的刻度线的字符串标签名称
        Specified by:
        getTickMarkLabelAxis<String>
        参数
        value - 要格式化为刻度标签字符串的值
        结果
        给定值的格式化字符串
      • measureTickMarkSize

        protected Dimension2D measureTickMarkSize​(String value,
                                                  Object range)
        测量给定刻度标记值的标签尺寸。 这使用为刻度线设置的字体
        重写:
        measureTickMarkSizeAxis<String>
        参数
        value - 刻度值
        range - 计算期间使用的范围
        结果
        给定值的刻度标签的大小
      • invalidateRange

        public void invalidateRange​(List<String> data)
        数据更改时调用,范围可能不再有效。 如果isAutoRanging()返回true,则仅由图表调用。 如果我们是自动测距,它将导致布局被请求,并且自动测距在下一个布局传递中发生。
        重写:
        invalidateRangeAxis<String>
        参数
        data - 需要在此轴上绘制的所有数据的当前集合
      • getDisplayPosition

        public double getDisplayPosition​(String value)
        获取给定值的沿该轴的显示位置。 如果该值不等于任何类别,则返回Double.NaN
        Specified by:
        getDisplayPosition中的 Axis<String>
        参数
        value - 数据值计算显示位置
        结果
        显示位置或Double.NaN如果值不是其中一个类别
      • getValueForDisplay

        public String getValueForDisplay​(double displayPosition)
        获取此轴上给定显示位置的数据值。 如果轴是一个CategoryAxis,这将是最接近的值。
        Specified by:
        getValueForDisplayAxis<String>
        参数
        displayPosition - 此轴上的像素位置
        结果
        给定像素位置的最近数据值,如果不在轴上则为null;
      • isValueOnAxis

        public boolean isValueOnAxis​(String value)
        检查给定值是否在该轴上是可绘制的
        Specified by:
        isValueOnAxisAxis<String>
        参数
        value - 检查其轴上的值
        结果
        如果给定值在此轴上是可绘制的,则为true
      • toNumericValue

        public double toNumericValue​(String value)
        所有轴值必须由某些数值表示。 这将获取给定数据值的数值。
        Specified by:
        toNumericValueAxis<String>
        参数
        value - 要转换的数据值
        结果
        给定数据值的数值
      • toRealValue

        public String toRealValue​(double value)
        所有轴值必须由某些数值表示。 这将获取给定数值的数据值。
        Specified by:
        toRealValueAxis<String>
        参数
        value - 要转换的数值
        结果
        给定数值的数据值
      • getZeroPosition

        public double getZeroPosition​()
        获取沿该轴的零线的显示位置。 由于在类别Axis上没有零的概念,这总是Double.NaN。
        Specified by:
        getZeroPositionAxis<String>
        结果
        总是Double.NaN为CategoryAxis
      • getClassCssMetaData

        public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData​()
        结果
        与此类相关联的CssMetaData可能包括其类的CssMetaData。
        从以下版本开始:
        JavaFX 8.0