是否有人使用JFreeChart开源库来绘制xy图?
有人可以发布一个如何使用程序生成的x和y值动态创建xy图的示例吗?
我在哪里可以获得有关如何使用JFreeChart开发应用程序的turorial doc或类似的东西?
提前致谢..
这是我使用Java的第一个月,所以我提前为我的愚蠢问题道歉.我正在尝试使用Jfreechart制作一个简单的程序.我想在散点图上显示我的2D数组.这是代码:
package myappthatusesjfreechart;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.general.DefaultPieDataset;
public class MyAppThatUsesJFreeChart {
public static void main(String[] args) {
// create a dataset...
int[][] a2 = new int[10][5];
// print array in rectangular form
for (int r = 0; r < a2.length; r++) {
for (int c = 0; c < a2[r].length; c++) {
System.out.print(" " + a2[r][c]);
}
System.out.println("");
}
// create a chart...
JFreeChart chart = ChartFactory.createScatterPlot(
"Scatter Plot", // chart title
"X", // …
Run Code Online (Sandbox Code Playgroud) 如何在图表鼠标上生成工具提示JFreeChart
?我试过这个:
chartPanel.setToolTipText("this is the string");
Run Code Online (Sandbox Code Playgroud)
但这不起作用.我以前应该做点什么吗?像这样的东西:
chartPanel.createToolTip().
Run Code Online (Sandbox Code Playgroud)
我在chartMouseMoved
事件中调用这些方法.
我用JFreeChart创建了一个温度计图表,但我想改变温度计中的水银颜色.我怎样才能做到这一点?到目前为止,这是我的代码; 请说明更改此代码的位置:
final DefaultValueDataset dataset = new DefaultValueDataset(new Double(10));
// create the chart...
final ThermometerPlot plot = new ThermometerPlot(dataset);
final JFreeChart chart = new JFreeChart("Thermometer Demo 2", // chart title
JFreeChart.DEFAULT_TITLE_FONT,
plot, // plot
false); // include legend
chart.setBackgroundPaint(new Color(241,250,224));
plot.setMercuryPaint();
final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setUpperBound(50);
Run Code Online (Sandbox Code Playgroud) 我设法绘制了线性图。以下是代码:
private JPanel createGraph() {
JPanel panel = new JPanel();
XYSeries series = new XYSeries("MyGraph");
series.add(0, 1);
series.add(1, 2);
series.add(2, 5);
series.add(7, 8);
series.add(9, 10);
XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(series);
JFreeChart chart = ChartFactory.createXYLineChart(
"XY Chart",
"x-axis",
"y-axis",
dataset,
PlotOrientation.VERTICAL,
true,
true,
false
);
ChartPanel chartPanel = new ChartPanel(chart);
panel.add(chartPanel);
return panel;
}
Run Code Online (Sandbox Code Playgroud)
但是,它不是平滑的曲线,而是直线。请问如何使它平滑?
我需要在JFreechart中的Timeseries上获得A钻石形状,但我无法做到.有人可以指导一下代码应该添加到下面的代码中以实现Diamond形状点以及如何更改线条的颜色?
(该程序使用rs和stmt以及从DB派生的其他东西,并在其他地方定义.该程序现在正常工作,唯一的问题是它看起来非常无聊.)
TimeSeries s1 = new TimeSeries("Technology", Day.class);
TimeSeries s2 = new TimeSeries("Entertainment", Day.class);
TimeSeries s3 = new TimeSeries("Soap", Day.class);
TimeSeries s4 = new TimeSeries("Music", Day.class);
TimeSeries s5 = new TimeSeries("Native", Day.class);
TimeSeries s6 = new TimeSeries("Speciality", Day.class);
TimeSeries s7 = new TimeSeries("Science", Day.class);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date plotdate;
if (!(combo_individualid.getModel().getSize() == 0)) {
String sql = ""
+ "SELECT * "
+ "FROM `customerbasetag` "
+ "WHERE `individual_idindividual` =? ";
try {
stmt = conn.prepareStatement(sql);
stmt.setString(1, combo_individualid.getSelectedItem().toString()); …
Run Code Online (Sandbox Code Playgroud) 对于JavaFX2应用程序,我必须显示不同类型的图表.我使用jfreeChart创建图表和代码如下:
public static JFreeChart generatePieChart() {
DefaultPieDataset dataSet = new DefaultPieDataset();
dataSet.setValue("China", 25);
dataSet.setValue("India", 25);
dataSet.setValue("United States", 50);
JFreeChart chart = ChartFactory.createPieChart(
"World Population by countries", dataSet, true, true, false);
return chart;
}
Run Code Online (Sandbox Code Playgroud)
这会返回一个图表对象.如何将其与我的JavaFx节点(如HBox等)集成?
我想为x轴设置不同的刻度标签格式
.
11月1日然后时间格式应该是小时..
是否可以使用jFreeChart TimePeriodValues
和TimePeriodValuesCollection
数据集.
我最近发现JFreeChart用于生成简单的饼图.基本上我想显示带有标签值(以百分比表示)的馅饼,但它只显示没有值的标签名称.
这是我的代码:
package testPie;
// Import the Swing classes
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
// Import the JFreeChart classes
import org.jfree.chart.*;
import org.jfree.chart.plot.*;
import org.jfree.data.*;
import org.jfree.data.general.*;
public class First extends JPanel
{
// Holds the data
private DefaultPieDataset dataset = new DefaultPieDataset();
// Create a set of charts
private JFreeChart chart1;
private JFreeChart chart2;
private JFreeChart chart3;
private JFreeChart chart4;
// Create a set of panels that can show charts
private ChartPanel panel1;
private ChartPanel panel2;
private ChartPanel …
Run Code Online (Sandbox Code Playgroud) 在Matlab中绘图非常简单明了.例如:
figure('Position_',[100,80,1000,600])
plot(x,y1,'-.or','MarkerSize',0.2,'MarkerFaceColor','r','LineWidth',2)
xlabel('Matrix1')
ylabel('Matrix2')
grid on
hold on
axis([-1,1,0,var1*1.2])
plot(x,y2,'-k','MarkerSize',0.5,'MarkerFaceColor','k','LineWidth',4)
title('My plot')
figuresdir = 'dir';
saveas(gcf,strcat(figuresdir, 'plotimage'), 'bmp');
Run Code Online (Sandbox Code Playgroud)
然而,我发现在Java中进行绘图更加困难,我必须使用JMathPlot或JFreeChart这样的包.但是,我发现很难合并绘图并使用这些包将它们打印到文件中.
有没有一种简单的方法可以在Java中使用(大约)与Matlab相同的语法来绘制图表?