Files
ch.psi.plot/ch.psi.plot/tmp/xyz/StaticMatrixPlotter.java

56 lines
1.6 KiB
Java

package ch.psi.plot.xyz;
import ch.psi.plot.EventActionListener;
import ch.psi.plot.xyz.JFreeMatrixPlot;
import ch.psi.plot.xyz.JFreeMatrixPlotMetadata;
import ch.psi.plot.xyz.MatrixPlotData;
public class StaticMatrixPlotter {
public static void convert(double[][] data, MatrixPlotData matrixPlotData){
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data[0].length; j++) {
matrixPlotData.addData(matrixPlotData.getXValueBinned(i, j), matrixPlotData.getYValueBinned(i, j), data[i][j]);
}
}
}
public static void plot(String name, double minX, double maxX, double minY, double maxY, double minZ, double maxZ, final double[][] data){
JFreeMatrixPlotMetadata md = new JFreeMatrixPlotMetadata();
md.setNumberOfBinsX(data.length);
md.setNumberOfBinsY(data[0].length);
md.setMinX(minX);
md.setMaxX(maxX);
md.setMinY(minY);
md.setMaxY(maxY);
md.setMinValue(minZ);
md.setMaxValue(maxZ);
final MatrixPlotData matrixPlotData = new MatrixPlotData(md);
convert(data, matrixPlotData);
JFreeMatrixPlot plot = new JFreeMatrixPlot(name, matrixPlotData);
plot.plot();
plot.adaptColorMapScale();
class LocalEventActionListener implements EventActionListener{
@Override
public void performAction(Actions action) {
convert(data, matrixPlotData);
}
}
plot.addEventActionListener(new LocalEventActionListener());
}
public static void plot(String name, double[][] data){
plot(name, 0.0, (double)data.length, 0.0, (double)data[0].length, 0.0, 100.0, data );
}
public static void plot(double[][] data){
plot("test matrix plot", 0.0, data.length, 0.0, data[0].length, 0.0, 100.0, data );
}
}