将Maven jFree依赖项添加到现有应用程序后,我无法执行创建的jar.
我得到的唯一错误消息如下:
java -jar target/com.company.product-1.0.0-SNAPSHOT.jar
Error: Invalid or corrupt jarfile target/com. company.product-1.0.0-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)
完整pom.xml
看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion
<groupId>com.mycompany</groupId>
<artifactId>com.mycompany.test</artifactId>
<name>${project.artifactId}</name>
<version>1.0.0-SNAPSHOT</version>
<properties>
<java-version>1.7</java-version>
<org.springframework-version>3.1.1.RELEASE</org.springframework-version>
<org.springframework.data-version>1.0.3.RELEASE</org.springframework.data-version>
<org.springframework.ws-version>2.0.4.RELEASE</org.springframework.ws-version>
<org.springframework.ws.oxm-version>1.5.10</org.springframework.ws.oxm-version>
<org.aspectj-version>1.6.12</org.aspectj-version>
<org.slf4j-version>1.5.10</org.slf4j-version>
<selenium-java-version>2.25.0</selenium-java-version>
<browser-mob-version>2.0-beta-6</browser-mob-version>
</properties>
<dependencies>
<!-- Hint A: If we delete this dependency it works -->
<dependency>
<groupId>org.jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.0.14</version>
<exclusions>
<exclusion>
<artifactId>itext</artifactId>
<groupId>com.lowagie</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.3.2</version>
</dependency>
<dependency>
<groupId>de.schlichtherle.io</groupId>
<artifactId>truezip</artifactId>
<version>6.6</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>apache-log4j-extras</artifactId>
<version>1.1</version>
</dependency>
<!-- Caching …
Run Code Online (Sandbox Code Playgroud) 如何JFreeChart
在不断更新的时间序列中仅显示最新数据?
附录:此处显示了一个包含已接受答案的完整,有效的示例.另见具有两个系列的该变体.另见本Q&A有关setTimeBase()
.
我正在使用一个依赖于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)
Run Code Online (Sandbox Code Playgroud)
我已经尝试创建一个LocalizationBundle.properties文件,但是没有这样做.我已经检查了CLASSPATH,仍然没有去.
有任何想法吗?
默认情况下,我的条形图始终使用渐变颜色绘制.我只想要一个没有任何风格效果的简单颜色.
有人可以帮忙吗?
码:
final JFreeChart chart = ChartFactory.createBarChart(
"", // chart title
xLabel, // domain axis label
yLabel, // range axis label
dataset, // data
PlotOrientation.VERTICAL, // orientation
true, // include legend
false, // tooltips?
false // URLs?
);
final CategoryPlot plot = chart.getCategoryPlot();
// SOMETHING HAS TO BE DONE HERE
showChart(chart); // Simply shows the chart in a new window
Run Code Online (Sandbox Code Playgroud)
谢谢
有关如何为X轴和Y轴设置范围的任何建议.
我的"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", "Y",dataset1, PlotOrientation.VERTICAL, true, true, false);
}
Run Code Online (Sandbox Code Playgroud)
对此有任何帮助都会很棒.
我正在使用JFreeChart渲染堆积区域图表.默认情况下,图表图例在图表下方呈现,其中元素水平布局.我想这个图例出现在情节的右边,元素作为垂直列表排列.
这是可能的,如果是的话,我该怎么办?
有没有办法调整条形图中条形的宽度?
我使用以下代码创建我的图表.
final JFreeChart chart = ChartFactory.createBarChart("Report", // chart title
"Date", // domain axis label
"Number", // range axis label
dataset, // data
PlotOrientation.VERTICAL, // orientation
true, // include legend
true, // tooltips?
false // URLs?
);
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,每秒更新一次变量大约5到50次,我正在寻找一种实时绘制这种变化的连续XY图的方法.
虽然不建议将JFreeChart用于如此高的更新率,但许多用户仍然认为它适用于它们.我已经尝试使用这个演示并修改它以显示一个随机变量,但似乎一直使用100%的CPU使用率.即使我忽略了这一点,我也不希望被限制在JFreeChart的ui类来构造表单(尽管我不确定它的功能是什么).是否可以将其与Java的"表单"和下拉菜单集成?(如VB中所示)否则,我有什么其他选择吗?
编辑:我是Swing的新手,所以我把一个代码放在一起只是为了测试JFreeChart的功能(同时避免使用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 myGen = new gen();
new Thread(myGen).start();
TimeSeriesCollection dataset = new TimeSeriesCollection(ts);
JFreeChart chart = ChartFactory.createTimeSeriesChart(
"GraphTest",
"Time",
"Value",
dataset,
true,
true,
false
);
final XYPlot plot = chart.getXYPlot();
ValueAxis axis = …
Run Code Online (Sandbox Code Playgroud) 我正在构建一个Web应用程序,其界面包含一个大的散点图,以便向用户提供其数据的概述.散点图大约有200,000个点.目前我正在使用JFreeChart Java库服务器端,它可以很好地绘制绘图 - 只需要大约一秒钟来渲染它.
为了使我的应用程序更具交互性,我想切换到使用Javascript绘制图表客户端.这将允许我包括点,工具提示,可点击点等的交互式过滤.我已经尝试使用Google Charts,但这需要一个时间来渲染并使浏览器停滞不前.
有没有人知道可以处理这么大的数据集的Javascript图表库?或者我应该放弃这个想法并坚持使用JFreeChart?我不介意页面本身是否需要一段时间来加载(这是不可避免的,因为要传输大量数据)但我需要图表在合理的时间内更新以响应用户输入.
jfreechart ×10
java ×9
bar-chart ×2
dynamic ×2
charts ×1
colors ×1
graph ×1
javascript ×1
maven ×1
real-time ×1
swing ×1
time-series ×1