📄 defaultcontourdataset.java
字号:
* @return The z range.
*/
public Range getZValueRange(Range x, Range y) {
double minX = x.getLowerBound();
double minY = y.getLowerBound();
double maxX = x.getUpperBound();
double maxY = y.getUpperBound();
double zMin = 1.e20;
double zMax = -1.e20;
for (int k = 0; k < this.zValues.length; k++) {
if (this.xValues[k].doubleValue() >= minX
&& this.xValues[k].doubleValue() <= maxX
&& this.yValues[k].doubleValue() >= minY
&& this.yValues[k].doubleValue() <= maxY) {
if (this.zValues[k] != null) {
zMin = Math.min(zMin, this.zValues[k].doubleValue());
zMax = Math.max(zMax, this.zValues[k].doubleValue());
}
}
}
return new Range(zMin, zMax);
}
/**
* Returns the minimum z-value.
*
* @param minX the minimum x value.
* @param minY the minimum y value.
* @param maxX the maximum x value.
* @param maxY the maximum y value.
*
* @return The minimum z-value.
*/
public double getMinZValue(double minX,
double minY,
double maxX,
double maxY) {
double zMin = 1.e20;
for (int k = 0; k < this.zValues.length; k++) {
if (this.zValues[k] != null) {
zMin = Math.min(zMin, this.zValues[k].doubleValue());
}
}
return zMin;
}
/**
* Returns the number of series.
* <P>
* Required by XYDataset interface (this will always return 1)
*
* @return 1.
*/
public int getSeriesCount() {
return 1;
}
/**
* Returns the name of the specified series.
*
* Method provided to satisfy the XYDataset interface implementation
*
* @param series must be zero.
*
* @return The series name.
*/
public Comparable getSeriesKey(int series) {
if (series > 0) {
throw new IllegalArgumentException("Only one series for contour");
}
return this.seriesKey;
}
/**
* Returns the index of the xvalues.
*
* @return The x values.
*/
public int[] getXIndices() {
return this.xIndex;
}
/**
* Returns the x values.
*
* @return The x values.
*/
public Number[] getXValues() {
return this.xValues;
}
/**
* Returns the x value for the specified series and index (zero-based
* indices). Required by the {@link XYDataset}.
*
* @param series must be zero;
* @param item the item index (zero-based).
*
* @return The x value.
*/
public Number getX(int series, int item) {
if (series > 0) {
throw new IllegalArgumentException("Only one series for contour");
}
return this.xValues[item];
}
/**
* Returns an x value.
*
* @param item the item index (zero-based).
*
* @return The X value.
*/
public Number getXValue(int item) {
return this.xValues[item];
}
/**
* Returns a Number array containing all y values.
*
* @return The Y values.
*/
public Number[] getYValues() {
return this.yValues;
}
/**
* Returns the y value for the specified series and index (zero-based
* indices). Required by the {@link XYDataset}.
*
* @param series the series index (must be zero for this dataset).
* @param item the item index (zero-based).
*
* @return The Y value.
*/
public Number getY(int series, int item) {
if (series > 0) {
throw new IllegalArgumentException("Only one series for contour");
}
return this.yValues[item];
}
/**
* Returns a Number array containing all z values.
*
* @return The Z values.
*/
public Number[] getZValues() {
return this.zValues;
}
/**
* Returns the z value for the specified series and index (zero-based
* indices). Required by the {@link XYDataset}
*
* @param series the series index (must be zero for this dataset).
* @param item the item index (zero-based).
*
* @return The Z value.
*/
public Number getZ(int series, int item) {
if (series > 0) {
throw new IllegalArgumentException("Only one series for contour");
}
return this.zValues[item];
}
/**
* Returns an int array contain the index into the x values.
*
* @return The X values.
*/
public int[] indexX() {
int[] index = new int[this.xValues.length];
for (int k = 0; k < index.length; k++) {
index[k] = indexX(k);
}
return index;
}
/**
* Given index k, returns the column index containing k.
*
* @param k index of interest.
*
* @return The column index.
*/
public int indexX(int k) {
int i = Arrays.binarySearch(this.xIndex, k);
if (i >= 0) {
return i;
}
else {
return -1 * i - 2;
}
}
/**
* Given index k, return the row index containing k.
*
* @param k index of interest.
*
* @return The row index.
*/
public int indexY(int k) { // this may be obsolete (not used anywhere)
return (k / this.xValues.length);
}
/**
* Given column and row indices, returns the k index.
*
* @param i index of along x-axis.
* @param j index of along y-axis.
*
* @return The Z index.
*/
public int indexZ(int i, int j) {
return this.xValues.length * j + i;
}
/**
* Returns true if axis are dates.
*
* @param axisNumber The axis where 0-x, 1-y, and 2-z.
*
* @return A boolean.
*/
public boolean isDateAxis(int axisNumber) {
if (axisNumber < 0 || axisNumber > 2) {
return false; // bad axisNumber
}
return this.dateAxis[axisNumber];
}
/**
* Sets the names of the series in the data source.
*
* @param seriesKeys the keys of the series in the data source.
*/
public void setSeriesKeys(Comparable[] seriesKeys) {
if (seriesKeys.length > 1) {
throw new IllegalArgumentException(
"Contours only support one series"
);
}
this.seriesKey = seriesKeys[0];
fireDatasetChanged();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -