Tag: jfreechart

使用JFreeChart散点图有没有一种方法来细分数据集样式?

我正在使用JFreeChart来呈现一个有数千个数据点的散点图。 我通过附加一个合适的XYLineAndShapeRendererper到每个数据集来控制每个ScatterPlotDataset的外观/样式; 例如。 数据集1中的点显示为圆形,数据集2中的点显示为正方形。 我希望用户能够为每个数据集中的每个点dynamic地分配一个子样式; 例如。 如果数据集是书籍,那么用户可能希望使小说的颜色变为蓝色而不使用小说的红色。 有没有办法做到这一点,而不是为每个子风格定义一个新的数据集? 顺便说一句,我用XYPlot carting,但我可以切换到另一个图表types,如果有必要。 先谢谢你。

X,Y轴-JfreeChart的设置范围

有关如何设置X轴和Y轴范围的任何build议。 我的“X轴”范围是从“0.00到1.00”,相差“0.05”。 我的意思是0.00 0.05 0.10 0.15 ….. 0.90 0.95 1.00 我的“Y轴”范围是从“0.0到1.0”,相差“0.1”。 我的意思是0.0 0.1 0.2 0.3 0.4 ……… 0.9 1.0 我试图这样做,但它不反映在图表上; 我不知道如何将它应用到ChartFactory.createScatterPlot() 。 final NumberAxis domainAxis = new NumberAxis("X-Axis"); domainAxis.setRange(0.00,1.00); domainAxis.setTickUnit(new NumberTickUnit(0.1)); final NumberAxis rangeAxis = new NumberAxis("Y-Axis"); rangeAxis.setRange(0.0,1.0); rangeAxis.setTickUnit(new NumberTickUnit(0.05)); public JPanel createDemoPanel() { XYDataset dataset1 = samplexydataset2(); JFreeChart jfreechart = ChartFactory.createScatterPlot("Scatter Plot Demo", "X", […]

如何在JFreeChart中的数轴的域上旋转刻度标记?

就像在下面的例子中所做的那样,我希望图表域上的刻度标记旋转45度,如下图所示: http : //left.subtree.org/2007/08/14/rotate -labels-jfreechart的/ 不同的是,我想在一个数字轴的散点图上做这个。 我无法在NumberAxis类中find与setCategoryLabelPositions()等效的内容。

JFreechart在图表上绘制弧线

我有2个问题 1)我正在尝试使用形状注释在XY图上绘制一条弧线。 我使用XYLine注释来绘制一条线,我希望弧开始在线结束的地方。 我有一些与参数有关的问题。我想弧的高度为17,宽度为44,并从图的点(3.0,17)开始(这是线的终点)。 但下面的代码不起作用。 有人可以告诉我什么是错的代码? Arc2D.Double arc = new Arc2D.Double(3.0, 16.9, 44.0, 17.04, 180.0, 180.0, Arc2D.OPEN ); plot.addAnnotation(new XYShapeAnnotation(arc, new BasicStroke(2.0f), Color.white)); XYLineAnnotation a1 = new XYLineAnnotation(3.0, 0.0, 3.0, 16.9, new BasicStroke(2.0f), Color.white); 2)如何在极坐标图上绘制类似的graphics? 谢谢

如何为域和范围轴JFreeChart设置相同的比例

我想创build类似于极点/零点图的极点/零点图 。 它是显示IIR和FIR滤波器的性能,如稳定性,types… 我的问题是:如何为两个轴设置相同的比例(不是范围)? 我使用ScatterPlot绘制图表。 JFreeChart chart = ChartFactory.createScatterPlot("Pole/zero plot", // chart // title "real", // x axis label "imaginary", // y axis label result, // data PlotOrientation.VERTICAL, true, // include legend true, // tooltips false // urls ); XYPlot plot = (XYPlot) chart.getPlot(); plot.setDomainGridlinesVisible(true); plot.setRangeGridlinesVisible(true); plot.setRangeGridlinePaint(Color.black); plot.setDomainGridlinePaint(Color.black); XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer(); renderer.setBaseItemLabelsVisible(true); renderer.setBaseItemLabelsVisible(true, […]

有没有可能在JFreeChart中将图例添加到图中?

我试图在散点图下面的图中添加一个图例,如下所示。 任何人都知道这是可能的吗? 之前: 后:

使用JfreeChartdynamic添加点到XYSeries

我在添加点到XYSeries时遇到问题。 我有两个class。 一个是Sample (它有一个main方法),另一个类是JfreeChart (它有JfreeChart代码)。 在我的Sample类中,我有一个二维数组sample[row][2] ,最初有10行,然后我需要调用JfreeChart类,并将它们添加到XYSeries并显示散点图。 我设法做到这一点,但下一次我调用Jfreechart类我的arrays有25行。 我需要将这些值添加到XYSeries并将它们绘制在散点图上,散点图应显示不同颜色的前10行值,然后使用不同的颜色显示25行值…然后继续。 任何人都可以提供一些build议或例子? class Sample { public static void main(String args[]) { System.out.print("(X,Y) Paired Values"); double[][] sample = new double[row][2]; for (int g = 0; g < sampe.length; g++) { for (int h = 0; h < 2; h++) { System.out.print("" + sample[g][h] + ","); } } JfreeChart […]

Java – 如何在鼠标按键释放后接收点坐标(JFreeChart)

我用JFreeChart写了一个简单的抛物线图。 我得到graphics点坐标,当按下鼠标button时,我也想获得graphics点坐标,当鼠标button释放。 但是,鼠标按下时, chartMouseMoved不工作。 如何解决我的问题,获得鼠标button释放后的graphics坐标? 这是我的代码: package parabolademo; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartMouseEvent; import org.jfree.chart.ChartMouseListener; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.chart.entity.ChartEntity; import org.jfree.chart.entity.XYItemEntity; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.plot.XYPlot; import org.jfree.data.function.Function2D; import org.jfree.data.function.PolynomialFunction2D; import org.jfree.data.general.DatasetUtilities; import org.jfree.data.xy.XYDataset; import org.jfree.ui.ApplicationFrame; import org.jfree.ui.RefineryUtilities; public class ParabolaDemo extends ApplicationFrame { /* * @param […]

JFreechart烛台图上拖动的怪异行为

这是这个问题的后续问题 。 会发生什么是以下几点: 当我启动图表并拖动图表时,发生了一些奇怪的事情:在一定的时间间隔内,似乎每隔7个时期,烛台就越来越小,直到它们只是一个条纹。 然后,当我拖得更远时,又变得更粗,直到它们再次变成正常大小。 这似乎每7个时期就会发生一次。 这种现象的一个例子显示在以下3张照片上: 下面的代码将显示我的意思。 只需编译并运行它。 然后按住CTRL ,并用鼠标在graphics上单击并按住。 现在尝试将graphics拖动到右侧或左侧。 经过一定的“拖拉距离”后,你会发现这个错误。 我的问题:如何防止/解决这个问题? 码: import org.jfree.chart.*; import org.jfree.chart.axis.*; import org.jfree.chart.plot.XYPlot; import org.jfree.chart.renderer.xy.CandlestickRenderer; import org.jfree.data.xy.*; import javax.swing.*; import java.awt.*; import java.io.*; import java.net.URL; import java.text.*; import java.util.*; import java.util.List; public class CandlestickDemo2 extends JFrame { public CandlestickDemo2(String stockSymbol) { super("CandlestickDemo"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); DateAxis domainAxis = new […]

使用JPanel将ChartPanel添加到JTabbedPane

我想将JFreeChart添加到JPanel ,然后将JPanel添加到JTabbedPane 。 我设法在JFrame上显示JFreeChart ,但我想添加JFreeChart作为JTabbedPane的第4个选项卡。 代码显示图表: public class Chart extends javax.swing.JPanel { private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { JPanel jPanel1 = new JPanel(); DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.setValue(60, "Marks", "Student 1"); dataset.setValue(40, "Marks", "Student 2"); dataset.setValue(90, "Marks", "Student 3"); dataset.setValue(50, "Marks", "Student 4"); dataset.setValue(70, "Marks", "Student 5"); dataset.setValue(30, "Marks", "Student 6"); JFreeChart chart = ChartFactory.createBarChart( […]