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

📄 plotpanel.java

📁 用Java开发的实用数学建模程序 简单易懂 初学者可以用来学习java知识
💻 JAVA
字号:
/*
 *@(#)PlotPanel.java 2.0 2005/05/18
 *
 *清华大学 精密仪器与机械学系
 *范灿升 fancansheng@163.com
 */

package plot;

import javax.swing.*;
import java.awt.*;

import lib.Library;
import function.Function;

/**
 *该类是JPanel的子类。
 *<p>该类的主要用途是重写JPanel的paint(Graphics g)方法,用于显示数据拟合后的曲线。
 *@version 2.0, 2005/05/18
 *@author 范灿升
 *@see plot.Plotting
 *@see plot.ViewPlotFrame
 *@see function.Function
 */
public class PlotPanel extends JPanel
{
	private double[] xData,yData;
	private Function f;
	
	/**
	 *x最小值
	 */
	public double xMin;
	
	/**
	 *缩放比例,图上距离比实际距离,即double/int
	 */
	public double xScale;
	
	/**
	 *x方向的最大最小值到绘图左边界、上边界的距离(不是图形边界)
	 */
	public double xSpace;
	
	/**
	 *调用一下父类的构造方法。
	 *@param	xData	数据点的x坐标
	 *@param	yData	数据点的y坐标
	 *@param	f		因变量与自变量之间的函数关系
	 */
	public PlotPanel(double[] xData,double[] yData,Function f)
	{
		super(new FlowLayout(),true);
		this.xData=xData;
		this.yData=yData;
		this.f=f;
	}
	
	/**
	 *重写JPanel的paint(Graphics g)方法,用于显示数据拟合后的曲线。
	 *<p>方法调用的过程中会用{@link plot.Plotting}对g进行处理。
	 *@param	g	JVM传过来的Graphics类
	 */
	public void paint(Graphics g)
	{
		super.paint(g);
		Plotting plotting=new Plotting(g,Library.PLOT_WIDTH,Library.PLOT_HEIGHT,
				Library.PLOT_BACKGROUND,Library.PLOT_PERCENTAGE,Library.PLOT_LOGOHEIGHT);
		plotting.plotAll(f,xData,yData,Library.CURVE_COLOR,Library.POINT_COLOR,Library.AXIS_COLOR,Library.PLOT_RADIUS);
		
		//传递游标线计算需要用的参数
		xMin=plotting.xMin;
		xScale=plotting.xScale;
		xSpace=plotting.xSpace;
	}
}

⌨️ 快捷键说明

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