Tag: jfreechart

无法找到基本名称的包

我正在使用一个依赖于jfreechart的库(v 1.0.9)。 当我尝试运行.jar时,我得到: java.util.MissingResourceException: Can’t find bundle for base name org.jfree.chart.LocalizationBundle, locale en_US at java.util.ResourceBundle.throwMissingResourceException (ResourceBundle.java:1521) at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1260) at java.util.ResourceBundle.getBundle(ResourceBundle.java:962) 我已经尝试创建一个LocalizationBundle.properties文件,但是没有这样做。 我检查了CLASSPATH,仍然没有去。 有任何想法吗?

JFreeChart获取鼠标坐标

在JFreeChart中有没有办法从ChartMouseEvent确定鼠标结束的x,y坐标(在绘图空间中)? 我已经尝试使用域十字准线值,但这似乎不准确,并且滞后于实际的鼠标事件。 谢谢, 杰夫

Java中的实时图形

我有一个应用程序,每秒更新一次变量大约5至50次,我正在寻找一种实时绘制这种变化的连续XY图的方法。 虽然不建议将JFreeChart用于如此高的更新率,但许多用户仍然认为它适用于它们。 我尝试过使用这个演示并修改它以显示一个随机变量,但它似乎总是耗尽100%的CPU使用率。 即使我忽略了这一点,我也不希望被限制在JFreeChart的ui类来构造表单(虽然我不确定它的function是什么)。 是否可以将其与Java的“表单”和下拉菜单集成? (如VB中所示)否则,我有什么其他选择吗? 编辑:我是Swing的新手,所以我把一个代码放在一起只是为了测试JFreeChart的function(同时避免使用JFree的ApplicationFrame类,因为我不确定它如何适用于Swing的组合盒子和按钮)。 现在,图表正在立即更新,CPU使用率很高。 是否可以使用新的Millisecond()缓冲该值并将其更新为每秒两次? 另外,我可以在不中断JFreeChart的情况下将其他组件添加到JFrame的其余部分吗? 我该怎么办? frame.getContentPane()。add(new Button(“Click”))似乎覆盖了图形。 package graphtest; import java.util.Random; import javax.swing.JFrame; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.chart.axis.ValueAxis; import org.jfree.chart.plot.XYPlot; import org.jfree.data.time.Millisecond; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; public class Main { static TimeSeries ts = new TimeSeries(“data”, Millisecond.class); public static void main(String[] args) throws InterruptedException { gen […]

将图表添加到缓冲区

我在struts2.in中创建了web项目,我使用jfreechart绘制了一个图形,我在Action类中实现了该图形。 http://www.java2s.com/Code/Java/Chart/JFreeChartTimeSeriesDemo10withperminutedata.htm 它在单独的applet窗口中显示图形我用Google搜索并找到一种方法将此图表保存为图像,以便在我的jsp文件中我可以包含此图像。 但最后当我部署时,我必须将我的项目转换为WAR文件但是如果我将项目转换为WAR我无法访问根据用户请求更改的图像(图形)。所以我想到保存图表/图像在缓冲区或某些东西中,以便稍后在请求新图形或用户注销时将其删除。 那么你能不能就如何做到这一点给出一些想法。 提前致谢

使用JFreeChart的动态图表

我有一个100,000个样本的数组,都是双重类型。 我想显示或绘制这个数组,以便我得到一个移动的图表/图表(动态)而不是一次显示它。 谁能帮我吗。 在图ee []和y []是在一些处理之后获得的。 private byte[] FileR(String filename) { byte[] data = null; AudioInputStream ais; try { File fileIn = new File(filename); if (fileIn.exists()) { ais = AudioSystem.getAudioInputStream(fileIn); data = new byte[ais.available()]; ais.read(data); } } catch (UnsupportedAudioFileException | IOException e) { System.out.println(e.getMessage()); throw new RuntimeException(“Could not read ” + filename); } return data; […]

StackedBarChart行键未添加到DefaultCategoryDataSet

我有两个实体类:A和B. A有B实体,我有一个以下列格式定义的Map : Map<A, List 。 我想用以下代码将所有地图数据添加到DefaultCategoryDataset 。 例如,如果有5 A且每个A有4 B,我想要25个行键。 (实体编号*(每个A中的entityNumber + B实体编号)。存储A类的Row键必须是相同的宽度;存储B实体的所有其他行必须具有相同的宽度。为了成功,我给了添加A行键((double)1 /(1 + bResultList .size())时的相同值,并在添加A行键时给出较小的值((double)1 /(1 + bResultList .size()+ 6)。 DefaultCategoryDataset dataset = new DefaultCategoryDataset(); /** for each workpoint */ for (A aResult : map.keySet()) { List bResultList = map.get(aResult); dataset.addValue( (double) 1 / (1 + bResultList.size()), “WorkPoint ” + aResult.getTimeStep(), “WP […]

哪种JFreeChart最容易用于表示简单的线条和条形图

我试图在我的图表中表示的数据通常会显示沿着底部或x轴的时间戳(日期和时间),以及各种数据(将来总是简单的整数或浮点数据)显示在左轴上。 基本上它将沿着底部映射事件,并且说左边的性能。 我正在使用JFreeChart,但不幸的是,对开发人员的支持是不存在的,我不会为他们的教程付费。 直接我可以看到许多我可以使用的图表类型,这篇文章要求我使用最合适的集合和图表对象。 最初我使用XYScatterPlot去了XYDataSet,但我意识到其中一个轴必须是日期,而不是简单的整数。 所以我只看了一下TimeSeries和TimeSeriesChart对象。 但是由于某些奇怪的原因,它似乎只允许布尔值或浮点数(而不是数字轴上的整数值)。 此外,它说我的Timestamp类已被弃用(我使用的所有日期信息都存储在对象数据库中作为时间戳,存储年,月,日,小时,分钟,秒等)。 总而言之,我希望最好的集合和图表对象存储一系列将时间戳日期映射到整数值的简单图形。 干杯。

如何使用时间戳在Java中导入和绘制CSV

嗨目前我正在尝试将CS​​V文件导入Java以绘制数据,基本上,我可以成功导入但它在我的CSV中不起作用,因为它的时间格式为: HH:mm:ss MM-dd-yy 数据如下: 2016-05-15 00:00:00 0 2016-05-15 00:00:00 0 2016-05-15 00:00:00 5.44852 2016-05-15 00:00:01 0 2016-05-15 00:00:01 0 2016-05-15 00:00:01 5.26064 代码如下: import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.text.SimpleDateFormat; import org.jfree.chart.axis.DateAxis; import org.jfree.data.time.Minute; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; import org.jfree.chart.renderer.xy.StandardXYItemRenderer; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.xy.XYDataset; import org.jfree.data.xy.XYSeries; import org.jfree.data.xy.XYSeriesCollection; […]

将DefaultCategoryDataset强制转换为CategoryDataset

我正在尝试创建一个基本的条形图,当我编译它时会出现错误 线程“main”中的exceptionjava.lang.ClassCastException:org.jfree.data.category.DefaultCategoryDataset无法强制转换为org.jfree.data.CategoryDataset 这是我的代码 package barchart; import java.awt.Color; import java.awt.Dimension; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.CategoryDataset; import org.jfree.data.category.DefaultCategoryDataset; import org.jfree.ui.ApplicationFrame; public class BarChartDemo extends public BarChartDemo(final String title) { super(title); final CategoryDataset dataset = createDataset(); final JFreeChart chart = createChart(dataset); final ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new Dimension(500, 270)); setContentPane(chartPanel); } public […]

在JFreechart中使用多个渲染器

我有数据,我想表示为一个盒子和胡须图,并设置了一个类别图表来做到这一点。 但是,另外,我想添加一个折线图,显示每个数据点的平均值的累积。 现在我的代码是这样的 DefaultBoxAndWhiskerCategoryDataset dataSet = new DefaultBoxAndWhiskerCategoryDataset(); int i = 0; for (List categoryList : categoryLists) { dataSet.add(categoryList, i, “BoxAndWhiskers”); i++; } BoxAndWhiskerRenderer renderer = new BoxAndWhiskerRenderer(); double sum = 0; i = 0; DefaultCategoryDataset averageDataSet = new DefaultCategoryDataset(); for (double average : averages) { sum += average; averageDataSet.add(sum, i, “Average”); i++; } LineAndShapeRenderer […]