1 23 24 package de.progra.charting; 25 26 import de.progra.charting.model.ChartDataModelConstraints; 27 28 34 public class Axis { 35 36 37 public final static int HORIZONTAL = 1; 38 39 40 public final static int VERTICAL = 2; 41 42 43 public final static int LOGARITHMIC = 3; 44 45 46 public final static int LINEAR = 4; 47 48 49 private int align = HORIZONTAL; 50 51 ChartDataModelConstraints constraints; 52 53 int length = Integer.MAX_VALUE; 54 55 59 public Axis(int align, ChartDataModelConstraints c) { 60 61 if(align == HORIZONTAL || align == VERTICAL) 62 this.align = align; 63 64 this.constraints = c; 65 } 66 67 70 public int getAlignment() { 71 return align; 72 } 73 74 77 public void setLength(int length) { 78 this.length = length; 79 } 80 81 84 public int getLength() { 85 return length; 86 } 87 88 96 public double getPixelForValue(double value) { 97 if(getAlignment() == Axis.VERTICAL) { 99 return (value - constraints.getMinimumValue().doubleValue()) / 100 getPointToPixelRatio(); 101 } else { 102 return (value - constraints.getMinimumColumnValue()) / 103 getPointToPixelRatio(); 104 } 105 } 106 107 111 public double getPointToPixelRatio() { 112 if(getAlignment() == Axis.VERTICAL) { 114 115 return (constraints.getMaximumValue().doubleValue() - 116 constraints.getMinimumValue().doubleValue()) / 117 length; 118 } 119 else 120 return (constraints.getMaximumColumnValue() - 121 constraints.getMinimumColumnValue()) / 122 length; 123 } 124 } 125 | Popular Tags |