⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scatterdataset.java

📁 JFreeChart开发全攻略,JFreeChart开发全攻略
💻 JAVA
字号:
package statistical;

import org.jfree.data.*;
import org.jfree.data.xy.AbstractXYDataset;
import org.jfree.data.xy.XYDataset;

/**
 * 离散图示例的数据集类.
 */
public class ScatterDataset extends AbstractXYDataset implements XYDataset,
		DomainInfo, RangeInfo {
	private static final long serialVersionUID = 1L;

	private Double xValues[][];

	private Double yValues[][];

	private int seriesCount;

	private int itemCount;

	/** Y轴的最小值. */
	private Number domainMin;

	/** Y轴的最大值. */
	private Number domainMax;
	
	/** Y轴的范围. */
	private Range domainRange;

	/** X轴的最小值. */
	private Number rangeMin;

	/** X轴的最大值. */
	private Number rangeMax;

	/** X轴的范围. */
	private Range range;

	/**
	 * 无参数的构造函数
	 */
	public ScatterDataset() {
		this(4, 40);
	}

	/**
	 * 构造函数.
	 * @param i
	 * @param j
	 */
	public ScatterDataset(int i, int j) {
		xValues = new Double[i][j];
		yValues = new Double[i][j];
		seriesCount = i;
		itemCount = j;
		double d = (1.0D / 0.0D);
		double d1 = (-1.0D / 0.0D);
		double d2 = (1.0D / 0.0D);
		double d3 = (-1.0D / 0.0D);
		for (int k = 0; k < i; k++) {
			for (int l = 0; l < j; l++) {
				double d4 = (Math.random() - 0.5D) * 200D;
				xValues[k][l] = new Double(d4);
				if (d4 < d)
					d = d4;
				if (d4 > d1)
					d1 = d4;
				double d5 = (Math.random() + 0.5D) * 6D * d4 + d4;
				yValues[k][l] = new Double(d5);
				if (d5 < d2)
					d2 = d5;
				if (d5 > d3)
					d3 = d5;
			}

		}

		domainMin = new Double(d);
		domainMax = new Double(d1);
		domainRange = new Range(d, d1);
		rangeMin = new Double(d2);
		rangeMax = new Double(d3);
		range = new Range(d2, d3);
	}

	public Number getX(int i, int j) {
		return xValues[i][j];
	}

	public Number getY(int i, int j) {
		return yValues[i][j];
	}

	public int getSeriesCount() {
		return seriesCount;
	}

	public Comparable getSeriesKey(int i) {
		return "实例" + i;
	}

	public int getItemCount(int i) {
		return itemCount;
	}

	public double getDomainLowerBound() {
		return domainMin.doubleValue();
	}

	public double getDomainLowerBound(boolean flag) {
		return domainMin.doubleValue();
	}

	public double getDomainUpperBound() {
		return domainMax.doubleValue();
	}

	public double getDomainUpperBound(boolean flag) {
		return domainMax.doubleValue();
	}

	public Range getDomainBounds() {
		return domainRange;
	}

	public Range getDomainBounds(boolean flag) {
		return domainRange;
	}

	public Range getDomainRange() {
		return domainRange;
	}

	public double getRangeLowerBound() {
		return rangeMin.doubleValue();
	}

	public double getRangeLowerBound(boolean flag) {
		return rangeMin.doubleValue();
	}

	public double getRangeUpperBound() {
		return rangeMax.doubleValue();
	}

	public double getRangeUpperBound(boolean flag) {
		return rangeMax.doubleValue();
	}

	public Range getRangeBounds(boolean flag) {
		return range;
	}

	public Range getValueRange() {
		return range;
	}

	public Number getMinimumDomainValue() {
		return domainMin;
	}

	public Number getMaximumDomainValue() {
		return domainMax;
	}

	public Number getMinimumRangeValue() {
		return domainMin;
	}

	public Number getMaximumRangeValue() {
		return domainMax;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -