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

Class XYChart<X,Y>

  • All Implemented Interfaces:
    StyleableEventTarget
    已知直接子类:
    AreaChartBarChartBubbleChartLineChartScatterChartStackedAreaChartStackedBarChart


    public abstract class XYChart<X,Y>
    extends Chart
    所有2轴图的图表基类。 它负责绘制两个轴和绘图内容。 它包含了绘图中所有内容的列表,XYChart的实现可以将节点添加到需要呈现的列表中。

    可以在数据项/符号上安装工具提示。 例如,以下代码段在第一个数据项上安装Tooltip。

       XYChart.Data item = ( XYChart.Data)series.getData().get(0); Tooltip.install(item.getNode(), new Tooltip("Symbol-0"));  
    从以下版本开始:
    JavaFX 2.0
    • 构造方法详细信息

      • XYChart

        public XYChart​(Axis<X> xAxis,
                       Axis<Y> yAxis)
        构造给定两个轴的XYChart。 添加了包括垂直和水平网格线和填充的图表绘图背景和绘图区域的初始内容。
        参数
        xAxis - 此XY图表的X轴
        yAxis - 此XY图表的Y轴
    • 方法详细信息

      • getXAxis

        public Axis<X> getXAxis​()
        获取X轴,默认情况下,它是沿着图的底部
        结果
        图表的X轴
      • getYAxis

        public Axis<Y> getYAxis​()
        获取Y轴,默认情况下它在图的左侧
        结果
        该图的Y轴
      • getVerticalGridLinesVisible

        public final boolean getVerticalGridLinesVisible​()
        指示垂直网格线是否可见。
        结果
        如果verticalGridLines可见,则为true否则为false。
        另请参见:
        verticalGridLinesVisible
      • setVerticalGridLinesVisible

        public final void setVerticalGridLinesVisible​(boolean value)
        设置属性verticalGridLinesVisible的值。
        Property description:
        如果绘制垂直网格线,则为真
      • isHorizontalGridLinesVisible

        public final boolean isHorizontalGridLinesVisible​()
        获取属性horizontalGridLinesVisible的值。
        Property description:
        如果水平网格线应绘制,则为真
      • setHorizontalGridLinesVisible

        public final void setHorizontalGridLinesVisible​(boolean value)
        设置属性horizontalGridLinesVisible的值。
        Property description:
        如果水平网格线应绘制,则为真
      • isAlternativeColumnFillVisible

        public final boolean isAlternativeColumnFillVisible​()
        获取propertyColumnFillVisible属性的值。
        Property description:
        如果为真,则替代垂直列将填充
      • setAlternativeColumnFillVisible

        public final void setAlternativeColumnFillVisible​(boolean value)
        设置propertyColumnFillVisible属性的值。
        Property description:
        如果为真,则替代垂直列将填充
      • isAlternativeRowFillVisible

        public final boolean isAlternativeRowFillVisible​()
        获取属性alternativeRowFillVisible的值。
        Property description:
        如果为真,则替代的水平行将填充
      • setAlternativeRowFillVisible

        public final void setAlternativeRowFillVisible​(boolean value)
        设置属性alternativeRowFillVisible的值。
        Property description:
        如果为真,则替代的水平行将填充
      • isVerticalZeroLineVisible

        public final boolean isVerticalZeroLineVisible​()
        获取属性verticalZeroLineVisible的值。
        Property description:
        如果这是真的并且垂直轴具有正值和负值,则在零点处将绘制另外的轴线
        Default value:
        真正
      • setVerticalZeroLineVisible

        public final void setVerticalZeroLineVisible​(boolean value)
        设置属性verticalZeroLineVisible的值。
        Property description:
        如果这是真的并且垂直轴具有正值和负值,则在零点处将绘制另外的轴线
        Default value:
        真正
      • isHorizontalZeroLineVisible

        public final boolean isHorizontalZeroLineVisible​()
        获取属性horizontalZeroLineVisible的值。
        Property description:
        如果这是真的并且横轴具有正值和负值,则在零点处将绘制另外的轴线
        Default value:
        真正
      • setHorizontalZeroLineVisible

        public final void setHorizontalZeroLineVisible​(boolean value)
        设置属性horizontalZeroLineVisible的值。
        Property description:
        如果这是真的并且横轴具有正值和负值,则在零点处将绘制另外的轴线
        Default value:
        真正
      • getPlotChildren

        protected ObservableList<Node> getPlotChildren​()
        情节中所有内容的可修改和可观察的列表。 这是XYChart的实现应该添加任何用于绘制绘图的节点。
        结果
        可观察的情节儿童列表
      • updateLegend

        protected void updateLegend​()
        每当添加或删除一个系列并且需要更新图例时,就会调用这一点
      • dataItemAdded

        protected abstract void dataItemAdded​(XYChart.Series<X,Y> series,
                                              int itemIndex,
                                              XYChart.Data<X,Y> item)
        将数据项添加到系列时调用。 这是XYChart的实现可以创建/添加新节点,以使getPlotChildren表示此数据项。 如果animated = true,他们也可以将数据添加为淡入淡出或相似。
        参数
        series - 数据项被添加到的系列
        itemIndex - 系列中新项目的索引
        item - 添加的新数据项
      • dataItemRemoved

        protected abstract void dataItemRemoved​(XYChart.Data<X,Y> item,
                                                XYChart.Series<X,Y> series)
        当数据项已从数据模型中删除但在图表上仍然可见时调用。 它仍然可见,以便您可以处理动画,以删除它在这种方法。 完成动画数据项后,您必须调用removeDataItemFromDisplay()来删除项目节点不显示在图表上。
        参数
        item - 从系列中删除的项目
        series - 该项目已被删除
      • dataItemChanged

        protected abstract void dataItemChanged​(XYChart.Data<X,Y> item)
        数据项已更改时调用,即其xValue,yValue或extraValue已更改。
        参数
        item - 已更改的数据项
      • seriesAdded

        protected abstract void seriesAdded​(XYChart.Series<X,Y> series,
                                            int seriesIndex)
        一系列已经添加到图表数据模型中。 这是XYChart的实现可以创建/添加新的节点来getPlotChildren来表示这个系列。 此外,您必须处理添加已经在系列中的任何数据项。 您可以简单地为每一个调用dataItemAdded(),或为要添加的整个系列提供一些不同的动画。
        参数
        series - 已添加的系列
        seriesIndex - 新系列的索引
      • seriesRemoved

        protected abstract void seriesRemoved​(XYChart.Series<X,Y> series)
        数据模型中已经删除了一个系列,但它仍然可以在图表上显示。 它仍然可见,以便您可以处理动画,以删除它在这种方法。 完成动画数据项后,您必须调用removeSeriesFromDisplay()从显示列表中删除该系列。
        参数
        series - 已被删除的系列
      • seriesChanged

        protected void seriesChanged​(ListChangeListener.Change<? extends XYChart.Series> c)
        当将每个原子更改作为此图表的系列列表时调用
        参数
        c - 表示系列更改的更改实例
      • updateAxisRange

        protected void updateAxisRange​()
        当范围已经无效并且我们需要更新时,这被称为。 如果轴是自动测距,那么我们编译给定轴必须绘制的所有数据的列表,并在传递该数据的轴上调用invalidateRange()。
      • layoutPlotChildren

        protected abstract void layoutPlotChildren​()
        被要求更新和布局情节儿童。 这应该包括更新表示轴和网格线顶部的图的节点的所有工作。原点是绘图区域的左上角,绘制区域可以通过获取x轴的宽度及其高度从y轴的高度。
      • layoutChartChildren

        protected final void layoutChartChildren​(double top,
                                                 double left,
                                                 double width,
                                                 double height)
        调用更新和布局从getChartChildren()
        Specified by:
        layoutChartChildrenChart
        参数
        top - 从原点的顶部偏移量,以解释图表内容上的任何填充
        left - 从原点向左偏移以计算图表内容上的任何填充
        width - 布局图表的区域的宽度
        height - 布局图表的区域的高度
      • removeSeriesFromDisplay

        protected final void removeSeriesFromDisplay​(XYChart.Series<X,Y> series)
        当您完成从图表中删除该系列的任何动画后,应从serialRemoved()中调用这个。 它将删除该系列不显示在getDisplayedSeriesIterator()返回的Iterator中。
        参数
        series - 要删除的系列
      • getDisplayedSeriesIterator

        protected final Iterator<XYChart.Series<X,Y>> getDisplayedSeriesIterator​()
        XYChart维护当前显示的所有系列的列表,其中包括所有当前系列+最近被删除的系列,它们正在被褪色(动画)过程中。 这将创建并返回该列表的迭代器。 这是XYChart在绘制数据时应该使用的实现方式。
        结果
        迭代器超过当前显示的系列
      • getCurrentDisplayedXValue

        protected final X getCurrentDisplayedXValue​(XYChart.Data<X,Y> item)
        当前显示的数据值绘制在X轴上。 这可能与xValue或不同的相同。 XYChart使用它将xValue从旧值设为新值。 这是您应该在任何自定义XYChart实现中绘制的。 一些XYChart图表实现(如LineChart)也可以使用此功能在添加或删除数据时进行动画处理。
        参数
        item - 获取当前X轴数据值的XYChart.Data项目
        结果
        当前显示的X数据值
      • getCurrentDisplayedYValue

        protected final Y getCurrentDisplayedYValue​(XYChart.Data<X,Y> item)
        当前显示的数据值绘制在Y轴上。 这可能与yValue或不同的相同。 它由XYChart用于将yValue从旧值设为新值。 这是您应该在任何自定义XYChart实现中绘制的。 一些XYChart图表实现(如LineChart)也可以使用此功能在添加或删除数据时进行动画处理。
        参数
        item - 获取当前Y轴数据值的XYChart.Data项目
        结果
        当前显示的Y数据值
      • getCurrentDisplayedExtraValue

        protected final Object getCurrentDisplayedExtraValue​(XYChart.Data<X,Y> item)
        当前显示的数据额外值。 这可能与extraValue或不同的相同。 它由XYChart用于将extraValue从旧值设为新值。 这是您应该在任何自定义XYChart实现中绘制的。
        参数
        item - 获取当前额外值的XYChart.Data项目
        结果
        当前的额外值
      • getDisplayedDataIterator

        protected final Iterator<XYChart.Data<X,Y>> getDisplayedDataIterator​(XYChart.Series<X,Y> series)
        XYChart维护当前显示的所有项目的列表,其中包括所有当前数据+最近删除的正在淡出的数据项。 这将创建并返回该列表的迭代器。 这是XYChart在绘制数据时应该使用的实现方式。
        参数
        series - 获取显示数据的系列
        结果
        从本系列中显示当前显示的项目的迭代器
      • removeDataItemFromDisplay

        protected final void removeDataItemFromDisplay​(XYChart.Series<X,Y> series,
                                                       XYChart.Data<X,Y> item)
        当您完成从图表中删除该项目的任何动画后,应从dataItemRemoved()中调用此方法。 它将从getDisplayedDataIterator()返回的Iterator中删除数据项。
        参数
        series - 要删除的系列
        item - 要从系列显示列表中删除的项目
      • getClassCssMetaData

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