| 132 | |
| 133 | |
| 134 | float DataFile::GetAutoAxisMin(int item) { |
| 135 | float Mn, order, magnitude; |
| 136 | float min = Min[item]; |
| 137 | float max = Max[item]; |
| 138 | |
| 139 | if (max == 0.0 && min == 0.0) return(0.0); |
| 140 | |
| 141 | if (StartIdx != 0 || (EndIdx != GetNumRecords()-1)) { |
| 142 | min = Data[StartIdx][item]; |
| 143 | for (int rec=StartIdx+1; rec<=EndIdx; rec++) { |
| 144 | if (Data[rec][item] < min) min = Data[rec][item]; |
| 145 | } |
| 146 | } |
| 147 | |
| 148 | order = (int)(log10(fabs(min))); |
| 149 | magnitude = pow((double)10.0, (double)order); |
| 150 | |
| 151 | if (min > 0.0) Mn = ((int)(min / magnitude)) * magnitude; |
| 152 | else Mn = ((int)(min / magnitude) - 1) * magnitude; |
| 153 | |
| 154 | return Mn; |
| 155 | } |
| 156 | |
| 157 | |