如何设置JFREECHART横坐标刻度的长短

nixzhaihaome 2007-12-19 03:17:29
现在的问题是所有的横坐标刻度长度都是一样,我想每隔5个短一点的刻度,出来一个长一点刻度,怎么设置
...全文
1107 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
t69lizhen 2011-06-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 nixzhaihaome 的回复:]
谢谢留意,已搞定!
[/Quote]
请问你是如何搞定的,我也遇到这样的问题了,请问你可以讲讲吗?
benben002 2008-05-07
  • 打赏
  • 举报
回复
怎么搞定的?说说,我也遇到这个问题了!?!!?!
nixzhaihaome 2007-12-19
  • 打赏
  • 举报
回复
谢谢留意,已搞定!
nixzhaihaome 2007-12-19
  • 打赏
  • 举报
回复
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi

package demo;

import java.awt.Color;
import java.awt.Dimension;
import java.text.SimpleDateFormat;
import javax.swing.JPanel;
import org.jfree.chart.*;
import org.jfree.chart.axis.PeriodAxis;
import org.jfree.chart.axis.PeriodAxisLabelInfo;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.data.time.*;
import org.jfree.data.xy.XYDataset;
import org.jfree.ui.*;

public class PeriodAxisDemo1 extends ApplicationFrame
{

static Class class$org$jfree$data$time$Year; /* synthetic field */
static Class class$org$jfree$data$time$Month; /* synthetic field */

public PeriodAxisDemo1(String s)
{
super(s);
XYDataset xydataset = createDataset();
JFreeChart jfreechart = createChart(xydataset);
ChartPanel chartpanel = new ChartPanel(jfreechart);
chartpanel.setPreferredSize(new Dimension(500, 270));
chartpanel.setMouseZoomable(true, false);
setContentPane(chartpanel);
}

private static JFreeChart createChart(XYDataset xydataset)
{
JFreeChart jfreechart = ChartFactory.createTimeSeriesChart("Legal & General Unit Trust Prices", "Date", "Price Per Unit", xydataset, true, true, false);
jfreechart.setBackgroundPaint(Color.white);
XYPlot xyplot = (XYPlot)jfreechart.getPlot();
xyplot.setBackgroundPaint(Color.lightGray);
xyplot.setDomainGridlinePaint(Color.white);
xyplot.setRangeGridlinePaint(Color.white);
xyplot.setAxisOffset(new RectangleInsets(5D, 5D, 5D, 5D));
xyplot.setDomainCrosshairVisible(true);
xyplot.setRangeCrosshairVisible(true);
org.jfree.chart.renderer.xy.XYItemRenderer xyitemrenderer = xyplot.getRenderer();
if(xyitemrenderer instanceof XYLineAndShapeRenderer)
{
XYLineAndShapeRenderer xylineandshaperenderer = (XYLineAndShapeRenderer)xyitemrenderer;
xylineandshaperenderer.setShapesVisible(true);
xylineandshaperenderer.setShapesFilled(true);
xylineandshaperenderer.setItemLabelsVisible(true);
}
PeriodAxis periodaxis = new PeriodAxis("Date");
periodaxis.setAutoRangeTimePeriodClass(class$org$jfree$data$time$Year != null ? class$org$jfree$data$time$Year : (class$org$jfree$data$time$Year = class$("org.jfree.data.time.Year")));
periodaxis.setMajorTickTimePeriodClass(class$org$jfree$data$time$Year != null ? class$org$jfree$data$time$Year : (class$org$jfree$data$time$Year = class$("org.jfree.data.time.Year")));
periodaxis.setTickMarkOutsideLength(0.0F);
PeriodAxisLabelInfo aperiodaxislabelinfo[] = new PeriodAxisLabelInfo[2];
aperiodaxislabelinfo[0] = new PeriodAxisLabelInfo(class$org$jfree$data$time$Month != null ? class$org$jfree$data$time$Month : (class$org$jfree$data$time$Month = class$("org.jfree.data.time.Month")), new SimpleDateFormat("MMM"));
aperiodaxislabelinfo[1] = new PeriodAxisLabelInfo(class$org$jfree$data$time$Year != null ? class$org$jfree$data$time$Year : (class$org$jfree$data$time$Year = class$("org.jfree.data.time.Year")), new SimpleDateFormat("yyyy"));
periodaxis.setLabelInfo(aperiodaxislabelinfo);
xyplot.setDomainAxis(periodaxis);
return jfreechart;
}

private static XYDataset createDataset()
{
TimeSeries timeseries = new TimeSeries("L&G European Index Trust", class$org$jfree$data$time$Month != null ? class$org$jfree$data$time$Month : (class$org$jfree$data$time$Month = class$("org.jfree.data.time.Month")));
timeseries.add(new Month(2, 2001), 181.80000000000001D);
timeseries.add(new Month(3, 2001), 167.30000000000001D);
timeseries.add(new Month(4, 2001), 153.80000000000001D);
timeseries.add(new Month(5, 2001), 167.59999999999999D);
timeseries.add(new Month(6, 2001), 158.80000000000001D);
timeseries.add(new Month(7, 2001), 148.30000000000001D);
timeseries.add(new Month(8, 2001), 153.90000000000001D);
timeseries.add(new Month(9, 2001), 142.69999999999999D);
timeseries.add(new Month(10, 2001), 123.2D);
timeseries.add(new Month(11, 2001), 131.80000000000001D);
timeseries.add(new Month(12, 2001), 139.59999999999999D);
timeseries.add(new Month(1, 2002), 142.90000000000001D);
timeseries.add(new Month(2, 2002), 138.69999999999999D);
timeseries.add(new Month(3, 2002), 137.30000000000001D);
timeseries.add(new Month(4, 2002), 143.90000000000001D);
timeseries.add(new Month(5, 2002), 139.80000000000001D);
timeseries.add(new Month(6, 2002), 137D);
timeseries.add(new Month(7, 2002), 132.80000000000001D);
TimeSeries timeseries1 = new TimeSeries("L&G UK Index Trust", class$org$jfree$data$time$Month != null ? class$org$jfree$data$time$Month : (class$org$jfree$data$time$Month = class$("org.jfree.data.time.Month")));
timeseries1.add(new Month(2, 2001), 129.59999999999999D);
timeseries1.add(new Month(3, 2001), 123.2D);
timeseries1.add(new Month(4, 2001), 117.2D);
timeseries1.add(new Month(5, 2001), 124.09999999999999D);
timeseries1.add(new Month(6, 2001), 122.59999999999999D);
timeseries1.add(new Month(7, 2001), 119.2D);
timeseries1.add(new Month(8, 2001), 116.5D);
timeseries1.add(new Month(9, 2001), 112.7D);
timeseries1.add(new Month(10, 2001), 101.5D);
timeseries1.add(new Month(11, 2001), 106.09999999999999D);
timeseries1.add(new Month(12, 2001), 110.3D);
timeseries1.add(new Month(1, 2002), 111.7D);
timeseries1.add(new Month(2, 2002), 111D);
timeseries1.add(new Month(3, 2002), 109.59999999999999D);
timeseries1.add(new Month(4, 2002), 113.2D);
timeseries1.add(new Month(5, 2002), 111.59999999999999D);
timeseries1.add(new Month(6, 2002), 108.8D);
timeseries1.add(new Month(7, 2002), 101.59999999999999D);
TimeSeriesCollection timeseriescollection = new TimeSeriesCollection();
timeseriescollection.addSeries(timeseries);
timeseriescollection.addSeries(timeseries1);
timeseriescollection.setDomainIsPointsInTime(true);
timeseriescollection.setXPosition(TimePeriodAnchor.MIDDLE);
return timeseriescollection;
}

public static JPanel createDemoPanel()
{
JFreeChart jfreechart = createChart(createDataset());
return new ChartPanel(jfreechart);
}

public static void main(String args[])
{
PeriodAxisDemo1 periodaxisdemo1 = new PeriodAxisDemo1("Period Axis Demo");
periodaxisdemo1.pack();
RefineryUtilities.centerFrameOnScreen(periodaxisdemo1);
periodaxisdemo1.setVisible(true);
}

static Class class$(String s)
{
try {
return Class.forName(s);
} catch (ClassNotFoundException e) {
return null;
}
}
}


怎么样能让段代码里的月份不间隔输出,就是一个月份就接着一个月份
nixzhaihaome 2007-12-19
  • 打赏
  • 举报
回复
我是查了很多文档和例子,没有说到间隔长度设置的,只有一个PeriodAxis 类有点相似.
xql80329 2007-12-19
  • 打赏
  • 举报
回复
看 它的文档,开源东西 你也可以自己改他的东西.
象你的问题 勤快点 BAIDU 一下也容易找
nixzhaihaome 2007-12-19
  • 打赏
  • 举报
回复
难道就没有一个人遇到过这样的问题吗..
nixzhaihaome 2007-12-19
  • 打赏
  • 举报
回复
顶一下.

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧