java jMathPlot如何设置轴栅格增量

java jMathPlot如何设置轴栅格增量,java,Java,如何在JMathPlot中设置各种内容 Plot3DPanel plot = new Plot3DPanel("SOUTH"); plot.setAxisLabels("Periods", "Confidence Level", "VaR"); plot.plotCanvas.setBackground(Color.DARK_GRAY); plot.getAxis(0).setColor(Color.WHITE); plot.getAxis(1).setColor(Color.WHITE); p

如何在JMathPlot中设置各种内容

Plot3DPanel plot = new Plot3DPanel("SOUTH");
plot.setAxisLabels("Periods", "Confidence Level", "VaR");
plot.plotCanvas.setBackground(Color.DARK_GRAY);
plot.getAxis(0).setColor(Color.WHITE);
plot.getAxis(1).setColor(Color.WHITE);
plot.getAxis(2).setColor(Color.WHITE);
plot.getAxis(0).setLabelFont(new Font("Courier", Font.BOLD, 20));
plot.getAxis(1).setLabelFont(new Font("Courier", Font.BOLD, 20));
plot.getAxis(2).setLabelFont(new Font("Courier", Font.BOLD, 20));

我在任何轴上的数据都是从1.0到10.0。如何强制网格(轴标记)有9个步骤,以便在轴上获得整数值?

目前为止,我发现最好的方法是设置固定边界:

示例:

// set the X axis to be between 0 and 10
plot.setFixedBounds(0, 0, 10);

// set the y axis to be between 0 and 20
plot.setFixedBounds(1, 0, 20);


由于某种原因,这导致网格为我正确排列。

到目前为止,我发现最好的方法是设置固定边界:

示例:

// set the X axis to be between 0 and 10
plot.setFixedBounds(0, 0, 10);

// set the y axis to be between 0 and 20
plot.setFixedBounds(1, 0, 20);


出于某种原因,这导致网格对我来说排列正确。

此示例可用于固定缩放和动态更新:

public  class MyPlot{

static public Plot2DPanel plot1;
static JFrame frame=new JFrame("a plot1 panel");

public MyPlot(){

frame.setSize(400,400);
frame.setResizable(true);
frame.setAlwaysOnTop(true);
frame.setLocation(150,150);
frame.setVisible(true);

plot1 = new Plot2DPanel();

}

// the show Method is to be used for x[] and y[] arrays loading.
public  void show(double [] x,double []y){

plot1.removeAllPlots();
plot1.addLinePlot("my plot",x,y);
plot1.setFixedBounds(0, 0, 1000);// X data range is [0,1000]
plot1.setFixedBounds(1, 0, 1000);// Y data range is [0,1000]
frame.setContentPane(plot1);
frame.repaint();
frame.setVisible(true);

}
但该代码与Oracle java 6和7配合使用效果良好,但与Oracle java 8配合使用效果不佳。

frame.setContentPane(plot1)

在java 8的情况下给出错误,至今仍不知道如何解决此兼容性问题。

此示例可用于固定缩放和动态更新:

public  class MyPlot{

static public Plot2DPanel plot1;
static JFrame frame=new JFrame("a plot1 panel");

public MyPlot(){

frame.setSize(400,400);
frame.setResizable(true);
frame.setAlwaysOnTop(true);
frame.setLocation(150,150);
frame.setVisible(true);

plot1 = new Plot2DPanel();

}

// the show Method is to be used for x[] and y[] arrays loading.
public  void show(double [] x,double []y){

plot1.removeAllPlots();
plot1.addLinePlot("my plot",x,y);
plot1.setFixedBounds(0, 0, 1000);// X data range is [0,1000]
plot1.setFixedBounds(1, 0, 1000);// Y data range is [0,1000]
frame.setContentPane(plot1);
frame.repaint();
frame.setVisible(true);

}
但该代码与Oracle java 6和7配合使用效果良好,但与Oracle java 8配合使用效果不佳。

frame.setContentPane(plot1)
在Java8的情况下给出错误,到目前为止还不知道如何解决这个兼容性问题