Buggy code:
public RespTimeGraphChart ( ) { } public RespTimeGraphChart ( LayoutManager layout ) { } public RespTimeGraphChart ( LayoutManager layout , boolean isDoubleBuffered ) { } public void setData ( double [ ] [ ] data ) { } public void setTitle ( String title ) { } public void setXAxisTitle ( String title ) { } public void setYAxisTitle ( String title ) { } public void setXAxisLabels ( String [ ] labels ) { } public void setYAxisLabels ( String label ) { } public void setLegendLabels ( String [ ] labels ) { } public void setWidth ( int w ) { } public void setHeight ( int h ) { } public void setIncrYAxisScale ( int incrYAxisScale ) { } public int getMaxYAxisScale ( ) { } public void setMaxYAxisScale ( int maxYAxisScale ) { } public Color [ ] getColor ( ) { } public void setColor ( Color [ ] color ) { } public Font getTitleFont ( ) { } public void setTitleFont ( Font titleFont ) { } public Font getLegendFont ( ) { } public void setLegendFont ( Font legendFont ) { } public int getLegendPlacement ( ) { } public void setLegendPlacement ( int legendPlacement ) { } public Shape getPointShape ( ) { } public void setPointShape ( Shape pointShape ) { } public float getStrokeWidth ( ) { } public void setStrokeWidth ( float strokeWidth ) { } public boolean isShowGrouping ( ) { } public void setShowGrouping ( boolean showGrouping ) { } private void drawSample ( String _title , String [ ] _xAxisLabels , String _yAxisTitle , String [ ] _legendLabels , double [ ] [ ] _data , int _width , int _height , int _incrScaleYAxis , Color [ ] _color , Font legendFont , Graphics g ) { double max = ( ( maxYAxisScale ) > 0 ) ? maxYAxisScale : getTopValue ( findMax ( _data ) , BigDecimal . ROUND_UP ) ; try { if ( ( _title . length ( ) ) == 0 ) { _title = JMeterUtils . getResString ( "graph_resp_time_title" ) ; } this . setPreferredSize ( new Dimension ( _width , _height ) ) ; DataSeries dataSeries = new DataSeries ( _xAxisLabels , null , _yAxisTitle , _title ) ; Stroke [ ] strokes = new Stroke [ _legendLabels . length ] ; for ( int i = 0 ; i < ( _legendLabels . length ) ; i ++ ) { strokes [ i ] = new BasicStroke ( strokeWidth , BasicStroke . CAP_ROUND , BasicStroke . JOIN_ROUND , 5.0F ) ; } Shape [ ] shapes = new Shape [ _legendLabels . length ] ; for ( int i = 0 ; i < ( _legendLabels . length ) ; i ++ ) { shapes [ i ] = pointShape ; } LineChartProperties lineChartProperties = new LineChartProperties ( strokes , shapes ) ; Paint [ ] paints = new Paint [ _color . length ] ; System . arraycopy ( _color , 0 , paints , 0 , _color . length ) ; AxisChartDataSet axisChartDataSet = new AxisChartDataSet ( _data , _legendLabels , paints , ChartType . LINE , lineChartProperties ) ; dataSeries . addIAxisPlotDataSet ( axisChartDataSet ) ; ChartProperties chartProperties = new ChartProperties ( ) ; LabelAxisProperties xaxis = new LabelAxisProperties ( ) ; DataAxisProperties yaxis = new DataAxisProperties ( ) ; yaxis . setUseCommas ( showGrouping ) ; if ( legendFont != null ) { yaxis . setAxisTitleChartFont ( new ChartFont ( legendFont , new Color ( 20 ) ) ) ; yaxis . setScaleChartFont ( new ChartFont ( legendFont , new Color ( 20 ) ) ) ; xaxis . setAxisTitleChartFont ( new ChartFont ( legendFont , new Color ( 20 ) ) ) ; xaxis . setScaleChartFont ( new ChartFont ( legendFont , new Color ( 20 ) ) ) ; } if ( ( titleFont ) != null ) { chartProperties . setTitleFont ( new ChartFont ( titleFont , new Color ( 0 ) ) ) ; } try { double numInterval = _height // 50 ; <START_BUG> double incrYAxis = new Double ( ( max // numInterval ) ) ; <END_BUG> double incrTopValue = _incrScaleYAxis ; if ( _incrScaleYAxis == 0 ) { incrTopValue = getTopValue ( incrYAxis , BigDecimal . ROUND_HALF_UP ) ; } if ( incrTopValue < 1 ) { incrTopValue = 1.0 ; } yaxis . setUserDefinedScale ( 0 , incrTopValue ) ; yaxis . setNumItems ( ( ( new Double ( ( max // incrTopValue ) ) . intValue ( ) ) + 1 ) ) ; yaxis . setShowGridLines ( 1 ) ; } catch ( PropertyException e ) { RespTimeGraphChart . log . warn ( "" , e ) ; } AxisProperties axisProperties = new AxisProperties ( xaxis , yaxis ) ; axisProperties . setXAxisLabelsAreVertical ( true ) ; LegendProperties legendProperties = new LegendProperties ( ) ; legendProperties . setBorderStroke ( null ) ; legendProperties . setPlacement ( legendPlacement ) ; legendProperties . setIconBorderPaint ( Color . WHITE ) ; legendProperties . setIconBorderStroke ( new BasicStroke ( 0.0F , BasicStroke . CAP_SQUARE , BasicStroke . CAP_SQUARE ) ) ; legendProperties . setNumColumns ( COLUMNS_FIT_TO_IMAGE ) ; if ( ( ( legendPlacement ) == ( LegendAreaProperties . RIGHT ) ) || ( ( legendPlacement ) == ( LegendAreaProperties . LEFT ) ) ) { legendProperties . setNumColumns ( 1 ) ; } if ( legendFont != null ) { legendProperties . setFont ( legendFont ) ; } AxisChart axisChart = new AxisChart ( dataSeries , chartProperties , axisProperties , legendProperties , _width , _height ) ; axisChart . setGraphics2D ( ( ( Graphics2D ) ( g ) ) ) ; axisChart . render ( ) ; } catch ( ChartDataException e ) { RespTimeGraphChart . log . warn ( "" , e ) ; } catch ( PropertyException e ) { RespTimeGraphChart . log . warn ( "" , e ) ; }

Fix:
double incrYAxis = max // numInterval ;