Tag: chart

JavaFX:如何动态反序列化创建区域图系列?

我使用区域图中的列表动态添加系列。 我想打开这个系列。 我需要这个,因为我想在db中保存Area Chart系列数据。 当app执行时,它是这样的: 用户可以通过填写文本字段并单击“添加”按钮来添加系列: 我想要的是当用户点击“保存”按钮时,它应该将已添加的系列转换为数据,这样我就可以将其存储在数据库中。 但是我尝试过它并没有给我准确的数据。 根据聊天系列我想得到这样的输出: Series 0 Employees: 5 Series 0 Start: 1 Series 0 End: 7 Series 1 Employees: 3 Series 1 Start: 9 Series 1 End: 12 但是我得到了这个: Series 0 Employees: 5 Series 0 Start: 1 Series 0 End: 5 Series 1 Employees: 3 Series 1 Start: 10 Series […]

快速绘制多个图形的时间问题

在下面的代码中,我正在进行一项实验,我需要每秒绘制几乎10个图形(时间间隔100),共计50个。但是当我将时间间隔TIME INTERVAL (120行向下)从200毫秒减少时到100毫秒,代码引发了下面的exception。 我已经厌倦了invokeLater等,但我无法解决这个问题。 我在这里粘贴了生成下图的整个代码。 请看看,让我知道该怎么做。 提前致谢 Exception in thread “AWT-EventQueue-0” java.lang.IllegalArgumentException: Series index out of bounds at org.jfree.data.xy.XYSeriesCollection.getSeries(XYSeriesCollection.java:261) at org.jfree.data.xy.XYSeriesCollection.getSeriesKey(XYSeriesCollection.java:303) at org.jfree.chart.labels.AbstractXYItemLabelGenerator.createItemArray(AbstractXYItemLabelGenerator.java:268) at org.jfree.chart.labels.AbstractXYItemLabelGenerator.generateLabelString(AbstractXYItemLabelGenerator.java:238) at org.jfree.chart.labels.StandardXYToolTipGenerator.generateToolTip(StandardXYToolTipGenerator.java:165) at org.jfree.chart.renderer.xy.AbstractXYItemRenderer.addEntity(AbstractXYItemRenderer.java:1747) at org.jfree.chart.renderer.xy.XYLineAndShapeRenderer.drawSecondaryPass(XYLineAndShapeRenderer.java:1196) at org.jfree.chart.renderer.xy.XYLineAndShapeRenderer.drawItem(XYLineAndShapeRenderer.java:918) at org.jfree.chart.plot.XYPlot.render(XYPlot.java:3776) at org.jfree.chart.plot.XYPlot.draw(XYPlot.java:3337) at org.jfree.chart.JFreeChart.draw(JFreeChart.java:1226) at org.jfree.chart.ChartPanel.paintComponent(ChartPanel.java:1612) at javax.swing.JComponent.paint(JComponent.java:1054) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5221) at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1508) at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1439) at javax.swing.RepaintManager.paint(RepaintManager.java:1236) at javax.swing.JComponent._paintImmediately(JComponent.java:5169) at javax.swing.JComponent.paintImmediately(JComponent.java:4980) […]

在XYJfree图表中自定义条形颜色

如何用不同颜色绘制不同的条形图,我尝试使用渲染器,这是我的示例代码: public IntervalXYDataset createDataset() throws InterruptedException { parseFile(); final XYSeries series = new XYSeries(“Analysis”); int i=0; while(parsedArray[i]!=0) { series.add(xaxisArray[i], yaxisArray[i]); i++; } final XYSeriesCollection dataset = new XYSeriesCollection(series); dataset.setIntervalWidth(0.15);//set width here return dataset; } 这就是我绘制图形的方式: public className (final String title) throws InterruptedException { super(title); IntervalXYDataset dataset = createDataset(); JFreeChart chart = createChart(dataset); final ChartPanel chartPanel […]

在JFreeChart中制作自定义环形图表

我目前正在使用itext-pdf生成PDF。 除此之外,我还使用JFreeChart在其上创建图表。 我创建了一个爆炸效果的圆环图,它看起来像这样。 但是我想创建一个看起来更像这样的圆环图。 我希望某些作品脱颖而出,但不能完全脱离甜甜圈图表。 我非常感谢如何实现这一目标。 这是我目前的代码: import java.awt.Color; import java.awt.Graphics2D; import java.awt.geom.Rectangle2D; import java.io.FileOutputStream; import java.io.IOException; import java.text.DecimalFormat; import java.util.Locale; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.chart.labels.StandardPieSectionLabelGenerator; import org.jfree.chart.plot.PiePlotState; import org.jfree.chart.plot.RingPlot; import org.jfree.data.general.DefaultPieDataset; import org.jfree.ui.RectangleInsets; import com.itextpdf.awt.DefaultFontMapper; import com.itextpdf.text.BaseColor; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Element; import com.itextpdf.text.Font; import com.itextpdf.text.PageSize; import com.itextpdf.text.Phrase; import com.itextpdf.text.pdf.BaseFont; import com.itextpdf.text.pdf.ColumnText; […]

JFreeChart将一个点连接到所有其他点

是否可以在JFreeChart中将一个点连接到所有其他点 它应该如何看起来 所以所有的点都连接到X点 chart.setBackgroundPaint(Color.white); final XYPlot plot = chart.getXYPlot(); plot.setBackgroundPaint(Color.lightGray); plot.setDomainGridlinePaint(Color.white); plot.setRangeGridlinePaint(Color.white); Shape cross = ShapeUtilities.createDiagonalCross(3, 1); Shape somehing = ShapeUtilities.createDiamond(4); final XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); renderer.setSeriesLinesVisible(0, false); renderer.setSeriesLinesVisible(1, false); renderer.setSeriesLinesVisible(2, false); renderer.setSeriesLinesVisible(3, false); renderer.setSeriesShape(0, cross); renderer.setSeriesShape(1, somehing); renderer.setSeriesShape(2, somehing); renderer.setSeriesShape(3, somehing); renderer.setSeriesPaint(0, Color.RED); renderer.setSeriesPaint(1, Color.BLUE); renderer.setSeriesPaint(2, Color.YELLOW); renderer.setSeriesPaint(2, Color.green); plot.setRenderer(renderer); plot.setBackgroundPaint(Color.BLACK); // change […]

如何将散点图与折线图组合以显示回归线? JavaFX的

我创建了一个包含两组数据的散点图; 第一组是实际数据(x =年和y =便士),第二组产生相同的点但是对于回归线。 然而,我遇到的问题是两组数据都显示为散点。 我想将第一组显示为散点,并将第二组设置在同一图表上,但显示为一条线。 我已经参与了很长一段时间,但我无法想办法做到这一点。 散点图代码显示在oracle上; http://docs.oracle.com/javafx/2/charts/scatter-chart.htm 例如,我一直在尝试这样做: final ScatterChart sc = new ScatterChart(xAxis,yAxis); final LineChart lc = new LineChart(xAxis,yAxis); XYChart.Series series1 = new XYChart.Series(); series1.setName(“Equities”); series1.getData().add(new XYChart.Data(4.2, 193.2)); series1.getData().add(new XYChart.Data(2.8, 33.6)); XYChart.Series series2 = new XYChart.Series(); series2.setName(“Mutual funds”); series2.getData().add(new XYChart.Data(5.2, 229.2)); series2.getData().add(new XYChart.Data(2.4, 37.6)); sc.getData().addAll(series1); lc.getData(0.addAll(series2); Scene scene = new Scene(sc, 500, […]

Java JFreeChart类别步骤图水平(图像到解释)

我需要以下类型的图表: 它应该是一个“steped”折线图,在垂直轴上有类别,如下所示: 我找到了这个类别步骤图的例子,但它的方向不适合我的目的。 http://www.jfree.org/jfreechart/api/javadoc/org/jfree/chart/renderer/category/CategoryStepRenderer.html 到目前为止我所做的就是这个,但是你可以看到红线不适合图表的方向(应该是水平的): 相应的代码: DefaultCategoryDataset ds = new DefaultCategoryDataset(); // create dataset for (int k = 0; k < ffCount; k++) { StateSignal ss1 = (StateSignal) this.ffDSet.getFframes().get(k).getSignals().get(i); ds.setValue((double) k + 1, ss1.getName(), ss1.getStates().get(0).getStatus()); } CategoryStepRenderer categorysteprenderer = new CategoryStepRenderer(false); categorysteprenderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); CategoryAxis categoryaxis = new CategoryAxis("Category"); NumberAxis numberaxis = new NumberAxis("Value"); CategoryPlot categoryplot […]