如何在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个步骤,以便在轴上得到整数值?
答案 0 :(得分:1)
我到目前为止找到的最好的是设置固定界限:
示例:
// 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);
setFixedBounds (int axe, double min, double max)
出于某种原因,这导致网格正确地为我排队。
答案 1 :(得分:0)
此示例对于固定缩放和动态更新非常有用:
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但不适用于8.
frame.setContentPane(plot1)
在java 8的情况下给出错误,至今仍然不知道,如何解决这个兼容性问题。