diff --git a/uk/ac/sanger/artemis/components/BasePlot.java b/uk/ac/sanger/artemis/components/BasePlot.java index 6503e20eb24d93b920fecaff39e9ac2199cf10a8..9d595b25bd9fb27d6e2bfbc9066dfe5e759880bf 100644 --- a/uk/ac/sanger/artemis/components/BasePlot.java +++ b/uk/ac/sanger/artemis/components/BasePlot.java @@ -985,45 +985,43 @@ public class BasePlot extends Plot if(offset < 1) offset = 0; - final int get_values_return_count = + final int nvalues = getBaseAlgorithm().getValueCount(); int xpos = getPointPosition(event.getPoint().x); - - //getXCoordinate(getWidthInBases(), - // offset, event.getPoint().x); - String tt = Integer.toString(xpos); - NumberFormat df= NumberFormat.getNumberInstance(); + NumberFormat df = NumberFormat.getNumberInstance(); df.setMaximumFractionDigits(2); - float ypos; - for(int value_index = 0; value_index < get_values_return_count; - ++value_index) - { - ypos = getYCoordinate(step_size, getWindowSize(), - offset, value_array_array[value_index], - xpos); - tt = tt + ", " + df.format(ypos); - } - + for(int i = 0; i < nvalues; ++i) + tt += ", " + df.format( + getYCoordinate(step_size, getWindowSize(), + offset, value_array_array[i], xpos)); + if(lines != null) { // if heat map display column number String plotType = lines[0].getPlotType(); if(plotType.equals(LineAttributes.PLOT_TYPES[2])) { - final int graph_height = super.getSize().height - + final int graph_height = getSize().height - getLabelHeight() - getScaleHeight() - 2; - - float hgt = ((float)graph_height/(float)lines.length); + + int hgt = graph_height/value_array_array.length; float mousePos = (float) (event.getPoint().getY()- getLabelHeight() - getScaleHeight() - 2.f ); int plotNumber = Math.round(( mousePos / hgt )+.5f); if(plotNumber < 1) plotNumber = 1; + else if(plotNumber > value_array_array.length) + plotNumber = value_array_array.length; + + if(nvalues > 5) + tt = Integer.toString(xpos)+", "+df.format( + getYCoordinate(step_size, getWindowSize(), + offset, value_array_array[plotNumber-1], xpos)); tt = "Plot number : "+plotNumber+"\n"+tt; }