diff -r 939e768ae868 modules/controls/src/main/java/javafx/scene/chart/LineChart.java --- a/modules/controls/src/main/java/javafx/scene/chart/LineChart.java Mon Nov 04 09:51:02 2013 -0800 +++ b/modules/controls/src/main/java/javafx/scene/chart/LineChart.java Mon Nov 04 15:34:56 2013 -0800 @@ -153,6 +153,32 @@ // -------------- METHODS ------------------------------------------------------------------------------------------ + /** @inheritDoc */ + @Override protected void updateAxisRange() { + final Axis xa = getXAxis(); + final Axis ya = getYAxis(); + List xData = null; + List yData = null; + if(xa.isAutoRanging()) xData = new ArrayList(); + if(ya.isAutoRanging()) yData = new ArrayList(); + if(xData != null || yData != null) { + for(Series series : getData()) { + for(Data data: series.getData()) { + if(xData != null) xData.add(data.getXValue()); + if(yData != null) yData.add(data.getYValue()); + } + } + // RT-32838 No need to invalidate range if there is one data item - whose value is zero. + if(xData != null && !(xData.size() == 1 && getXAxis().toNumericValue(xData.get(0)) == 0)) { + xa.invalidateRange(xData); + } + if(yData != null && !(yData.size() == 1 && getYAxis().toNumericValue(yData.get(0)) == 0)) { + ya.invalidateRange(yData); + } + + } + } + @Override protected void dataItemAdded(final Series series, int itemIndex, final Data item) { final Node symbol = createSymbol(series, getData().indexOf(series), item, itemIndex); if (shouldAnimate()) {