Skip to content

Instantly share code, notes, and snippets.

@yptheangel
Created May 14, 2020 15:30
Show Gist options
  • Save yptheangel/0d626bfd2f816a5bdefb59be66450ded to your computer and use it in GitHub Desktop.
Save yptheangel/0d626bfd2f816a5bdefb59be66450ded to your computer and use it in GitHub Desktop.
incomplete learning rate finder plotter
import java.awt.Color;
import java.awt.BasicStroke;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
public class Plotter extends ApplicationFrame {
public Plotter(String title, String chartTitle) {
super(title);
JFreeChart xylineChart = ChartFactory.createXYLineChart(
chartTitle,
"Learning Rate",
"Train Loss",
createDataset(),
PlotOrientation.VERTICAL,
true, true, false);
ChartPanel chartPanel = new ChartPanel(xylineChart);
// chartPanel.setPreferredSize( new java.awt.Dimension( 560 , 367 ) );
chartPanel.setPreferredSize(new java.awt.Dimension(1280, 720));
final XYPlot plot = xylineChart.getXYPlot();
XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
renderer.setSeriesPaint(0, Color.BLUE);
// renderer.setSeriesPaint(1, Color.GREEN);
// renderer.setSeriesPaint(2, Color.YELLOW);
renderer.setSeriesStroke(0, new BasicStroke(4.0f));
// renderer.setSeriesStroke(1, new BasicStroke(3.0f));
// renderer.setSeriesStroke(2, new BasicStroke(2.0f));
plot.setRenderer(renderer);
setContentPane(chartPanel);
}
public static void main(String[] args) {
Plotter chart = new Plotter("Learning Rate Finder",
"Loss Against Learning Rate");
chart.pack();
RefineryUtilities.centerFrameOnScreen(chart);
chart.setVisible(true);
}
private XYDataset createDataset() {
final XYSeries exp1 = new XYSeries("Experiment1");
exp1.add(1.0, 1.0);
exp1.add(2.0, 4.0);
exp1.add(3.0, 3.0);
final XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(exp1);
return dataset;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment