import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
public class JFramechart extends ApplicationFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
public JFramechart(String s) {
super(s);
setContentPane(createDemoLine());
this.pack();
RefineryUtilities.centerFrameOnScreen(this);
this.setVisible(true);
// this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
//public static void main(String[] args) {
// JFramechart fjc = new JFramechart("折线图",);
// fjc.pack();
// RefineryUtilities.centerFrameOnScreen(fjc);
// fjc.setVisible(true);
// // fjc.setDefaultCloseOperation(HIDE_ON_CLOSE);
// }
// 生成显示图表的面板
public static JPanel createDemoLine() {
JFreeChart jfreechart = createChart(createDataset());
return new ChartPanel(jfreechart);
}
// 生成图表主对象JFreeChart
public static JFreeChart createChart(DefaultCategoryDataset linedataset) {
// 定义图表对象
JFreeChart chart = ChartFactory.createLineChart("历史记录曲线", //折线图名称
"时间", // 横坐标名称
"倾角(X轴、Y轴)", // 纵坐标名称
linedataset, // 数据
PlotOrientation.VERTICAL, // 水平显示图像
true, // include legend
true, // tooltips
false // urls
);
CategoryPlot plot = chart.getCategoryPlot();
plot.setRangeGridlinesVisible(true); //是否显示格子线
plot.setBackgroundAlpha(0.3f); //设置背景透明度
NumberAxis rangeAxis = (NumberAxis)plot.getRangeAxis();
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
rangeAxis.setAutoRangeIncludesZero(true);
rangeAxis.setUpperMargin(0.20);
rangeAxis.setLabelAngle(Math.PI / 2.0);
return chart;
}
// 生成数据
public static DefaultCategoryDataset createDataset() {
DefaultCategoryDataset linedataset = new DefaultCategoryDataset();
MyData md=new MyData();
double x=md.getX();
double y=md.getX();
double t=md.getX();
draw(x,y,t,linedataset);
return linedataset;
}
public static DefaultCategoryDataset draw(double x,double y,double t,DefaultCategoryDataset linedataset){
DefaultCategoryDataset lds = new DefaultCategoryDataset();
String series1 = "倾角(X轴)";
String series2 = "倾角(Y轴)";
String series3 = "温度";
// 横轴名称(列名称)
String type1 = "1月";
String type2 = "2月";
String type3 = "3月";
String type4="4月";
lds=linedataset;
lds.addValue(4.2, series1, type1);
linedataset.addValue(x, series1, type2);
linedataset.addValue(5.2, series1, type3);
linedataset.addValue(3.9, series1, type4);
linedataset.addValue(y, series2, type1);
linedataset.addValue(5.2, series2, type2);
linedataset.addValue(7.9, series2, type3);
linedataset.addValue(t, series3, type1);
linedataset.addValue(9.2, series3, type2);
linedataset.addValue(8.9, series3, type3);
return linedataset;
}
}java绘制曲线图
最新推荐文章于 2022-09-26 00:13:05 发布
这篇博客介绍了如何使用Java的JFreeChart库来创建一个历史记录曲线图。通过创建DefaultCategoryDataset,定义图表的横纵坐标名称,设置图表样式,并填充数据,最终展示了一个包含三个系列(倾角X轴、倾角Y轴和温度)的数据图表。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
Llama Factory
模型微调
LLama-Factory
LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调
2432

被折叠的 条评论
为什么被折叠?



