- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 jfree 图表 - StackedAreaChart 中遇到问题。
问题是我想显示一个正值和另一个负值。正值在 2011 年结束,负值从 2012 年开始。但在堆积面积图中,它在比例尺上重叠了一段距离。请参阅图片了解问题和所需的解决方案。
有人知道解决这个问题的方法吗?任何帮助将不胜感激。
最佳答案
尝试使用 TimeTableXYDataset
来保存系列数据,并使用第二个 StackedXYAreaRenderer
来显示底片。这可能会解决您的问题:
import java.io.File;
import java.io.IOException;
import java.text.FieldPosition;
import java.text.NumberFormat;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.StackedXYAreaRenderer;
import org.jfree.data.time.TimeTableXYDataset;
import org.jfree.data.time.Year;
import org.jfree.data.xy.TableXYDataset;
public class StackedAreaChart2 {
public StackedAreaChart2() {
TimeTableXYDataset[] dataset = createDataset();
createChart(dataset);
}
public TimeTableXYDataset[] createDataset() {
TimeTableXYDataset dataSet1 = new TimeTableXYDataset();
dataSet1.add(new Year(2001), 1.0,"Series1");
dataSet1.add(new Year(2002), 2.0,"Series1");
dataSet1.add(new Year(2003),3.0,"Series1");
dataSet1.add(new Year(2004),4.0,"Series1");
dataSet1.add(new Year(2005),5.0,"Series1");
dataSet1.add(new Year(2006),0,"Series1");
dataSet1.add(new Year(2001), 6.0,"Series2");
dataSet1.add(new Year(2002),3.0,"Series2");
dataSet1.add(new Year(2003),4.0,"Series2");
dataSet1.add(new Year(2004),3.0,"Series2");
dataSet1.add(new Year(2005),9.0,"Series2");
dataSet1.add(new Year(2006),0,"Series2");
TimeTableXYDataset dataSet2 = new TimeTableXYDataset();
dataSet2.add(new Year(2006),-2,"Series3");
dataSet2.add(new Year(2007),-3,"Series3");
dataSet2.add(new Year(2008),-4,"Series3");
return new TimeTableXYDataset[] {dataSet1,dataSet2};
}
public JFreeChart createChart(TableXYDataset[] dataset) {
final JFreeChart chart = ChartFactory.createStackedXYAreaChart("","","",dataset[0],PlotOrientation.VERTICAL,true,true,false);
XYPlot plot = (XYPlot) chart.getPlot();
StackedXYAreaRenderer renderer2 = new StackedXYAreaRenderer();
plot.setDataset(1, dataset[1]);
plot.setRenderer(1, renderer2);
NumberAxis axis = (NumberAxis) plot.getDomainAxis();
axis.setNumberFormatOverride(new NumberFormat(){
@Override
public StringBuffer format(double number, StringBuffer toAppendTo, FieldPosition pos) {
SimpleDateFormat format = new SimpleDateFormat("YYYY");
return toAppendTo.append(format.format(new Date((long) number)));
}
@Override
public StringBuffer format(long number, StringBuffer toAppendTo, FieldPosition pos) {
return new StringBuffer(String.format("%s", number));
}
@Override
public Number parse(String source, ParsePosition parsePosition) {
return null;
}
});
return chart;
}
public void saveChart(JFreeChart chart, String fileLocation) {
String fileName = fileLocation;
try {
ChartUtilities.saveChartAsPNG(new File(fileName), chart, 1000, 600);
} catch (IOException e) {
e.printStackTrace();
System.err.println("Problem occurred creating chart.");
}
}
public static void main(final String[] args) {
final StackedAreaChart2 demo = new StackedAreaChart2();
TableXYDataset[] categoryDataset = demo.createDataset();
JFreeChart chart = demo.createChart(categoryDataset);
String fileLocation = "StackAreaChart.png";
demo.saveChart(chart, fileLocation);
System.out.println("Pie Chart has been created successfully");
System.out.println("Chart has been saved to: " + fileLocation);
}
}
关于java - Jfree : Stacked Area Chart overlap at zero values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13028415/
所以我正在做一个Java作业,我必须创建一个矩形类,该类在一个绘制重叠矩形的程序中使用,并且在矩形重叠的地方,用新的颜色绘制一个新的矩形。我添加了硬件描述的链接,因为我认为让您查看它比我试图解释它更容
如何将两个重叠的 div 加上第三个 div 放在那些重叠的 div 的右侧(但第三个 div 没有一直 float )? I overlap id=two. I overlap id=one. I
我需要你的帮助,我有一个问题(见图),我假设有两个数组,每个数组都包含不同长度和实际值的间隔,我需要找出我如何有效地重叠这些间隔。 我对想法、论文理论或具体算法持开放态度,它们会让我找到出路! 我猜想
尝试编写一个从聚合数据返回气泡图的函数。 我将“agg”中的 data.frame 列传递给它。 aggs2 9) } ##order data.frame by mean agg1 <
我正在使用 d3.js 以这种方式生成一些直接位于彼此上方的矩形: var greenRed = d3.select(".green-red").append("svg") .attr("he
我正在尝试创建一个库,它提供一个简单的链表实现以及该链表的一些概括,例如堆栈和队列,所有这些都基于基本链表。 问题是,我希望拥有具有自己的“私有(private)”函数的不同类型,这样您就不会使用“s
我使用 AJAX 和 JQuery 从 MySQL 数据库中提取数据,基本上使用以下内容: function getCard(card, lineNr, linedisplay, type){ var
如何在 SQL OVERLAPS 中包含开始日期和结束日期? 喜欢=。怎么办? 因为在我看来 OVERLAPS 只检查两者之间的范围,但是例如: 日期 2001 年 1 月 1 日 - 2001 年
我在使用在 Google Web Fonts 上找到的字体时遇到了一些问题. 正如您在下面发布的图片中看到的,当我使用 Firefox 时,“Versus”中的大写 V 与“e”重叠。尽管当我使用 C
题目地址:https://leetcode.com/problems/image-overlap/description/ 题目描述 Twoimages A and B are given, re
题目地址:https://leetcode.com/problems/rectangle-overlap/description/ 题目描述: Arectangle is represented
在我们的测试环境中,我们的 solr 搜索引擎一直存在许多问题。我们在 4.6 版、单分片、4 个节点上有一个 solr 云设置。我们看到领导节点上的 CPU 水平线达到 100% 几个小时,然后服务
我正在做一个 excel 任务,我必须找出是否有重叠的日期。 在我的 excel 工作表中有 startDate(column D) 和 EndDate(comun E) 的列,由此我必须确定是否存在
在这张图片中,一个全景项目的内容渗透到前一个项目上: 如何在 Expression Blend/with XAML 中执行此操作? 这是我目前的 XAML:
我已经以编程方式创建了一个 iPhone UI,但我只是不知道如何调整 View ,以免它被 TabBar 重叠。这是所有权层次结构: -AppDelegate UITabBarController
我正在使用 wxMaxima 16.12.0 (Maxima 5.39.0),当我尝试打印输出时,出现重叠文本。 这是一个例子(请忽略命令不正确的事实) 第一张图片 有时也会发生在 print和 pr
我尝试为 javascript 添加一些语法高亮到 vim,但我一直遇到一个问题:当字符已经高亮时,它们似乎被所有其他正则表达式完全忽略。 例如,我尝试为函数的参数列表添加语法高亮显示。在创建正确的
我有五个 ImageView(ImageButton),我想将其显示在一行上,但是当我在小型设备上时,我的最后一个图像被裁剪了? 我该如何修复它? 有没有办法检测屏幕宽度? |一个 |乙| C | d
我尝试为 javascript 添加一些语法高亮到 vim,但我一直遇到一个问题:当字符已经高亮时,它们似乎被所有其他正则表达式完全忽略。 例如,我尝试为函数的参数列表添加语法高亮显示。在创建正确的
我将用数学解释,这是我正在努力为以下内容编写 Scheme 代码的转换: (f '(a b c) '(d e f)) = '(ad (+ bd ae) (+ cd be af) (+ ce bf) c
我是一名优秀的程序员,十分优秀!