📄 plotpanel.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 + -