请教一个将jfreechat的问题 jfreechart显示非时间序列的折线图时,如果点太多,横坐标无法显示,只能看到一排密密的小点。 有没有办法只显示部分横坐标,比如每隔5个点显示一个横坐标,纵坐标不变,对应的折线图也不变 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 package com.jfree;import java.awt.Color;import java.awt.Dimension;import java.awt.Font;import java.awt.Point;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.event.MouseMotionListener;import java.awt.geom.Point2D;import java.awt.geom.Rectangle2D;import java.text.SimpleDateFormat;import javax.swing.JPanel;import org.jfree.chart.ChartFactory;import org.jfree.chart.ChartMouseEvent;import org.jfree.chart.ChartMouseListener;import org.jfree.chart.ChartPanel;import org.jfree.chart.ChartRenderingInfo;import org.jfree.chart.JFreeChart;import org.jfree.chart.axis.DateAxis;import org.jfree.chart.axis.DateTickUnit;import org.jfree.chart.axis.ValueAxis;import org.jfree.chart.entity.XYItemEntity;import org.jfree.chart.plot.XYPlot;import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;import org.jfree.chart.title.LegendTitle;import org.jfree.chart.title.TextTitle;import org.jfree.data.time.Day;import org.jfree.data.time.Hour;import org.jfree.data.time.TimeSeries;import org.jfree.data.time.TimeSeriesCollection;import org.jfree.data.xy.XYDataset;import org.jfree.ui.ApplicationFrame;import org.jfree.ui.RectangleEdge;import org.jfree.ui.RefineryUtilities;public class TimeSeriesTest extends ApplicationFrame { /** private static final long serialVersionUID = 1L; private JFreeChart chart; private ChartPanel chartPanel; public TimeSeriesTest(String str){ super(str); XYDataset localXYDataset = createDataset(); chart = createChart(localXYDataset); chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new Dimension(800, 500)); setContentPane(chartPanel); } private static XYDataset createDataset(){ Day localDay = new Day(); TimeSeries localTimeSeries1 = new TimeSeries("随机数据", Hour.class); localTimeSeries1.add(new Hour(0, localDay), 520.2D); localTimeSeries1.add(new Hour(2, localDay), 575.1D); localTimeSeries1.add(new Hour(4, localDay), 564.4D); localTimeSeries1.add(new Hour(6, localDay), 540.2D); localTimeSeries1.add(new Hour(8, localDay), 530.2D); localTimeSeries1.add(new Hour(10, localDay), 555.2D); localTimeSeries1.add(new Hour(12, localDay), 580.4D); localTimeSeries1.add(new Hour(14, localDay), 583.2D); localTimeSeries1.add(new Hour(16, localDay), 595.2D); localTimeSeries1.add(new Hour(18, localDay), 564.4D); localTimeSeries1.add(new Hour(20, localDay), 523.2D); localTimeSeries1.add(new Hour(22, localDay), 515.2D); localTimeSeries1.add(new Hour(24, localDay), 530.4D); TimeSeriesCollection localTimeSeriesCollection = new TimeSeriesCollection(); localTimeSeriesCollection.addSeries(localTimeSeries1); return localTimeSeriesCollection; } private static JFreeChart createChart(XYDataset xyDataset){ JFreeChart localChart = ChartFactory.createTimeSeriesChart("时间序列测试", "时间", "数值", xyDataset, true, true, false); TextTitle title = localChart.getTitle(); title.setFont(new Font("宋体", Font.BOLD, 24)); LegendTitle legend = localChart.getLegend(); legend.setItemFont(new Font("宋体", Font.ITALIC, 14)); XYPlot plot = (XYPlot)localChart.getPlot(); plot.setBackgroundPaint(null); // X 轴 DateAxis xAxis = (DateAxis)plot.getDomainAxis(); xAxis.setLabelFont(new Font("宋体", Font.PLAIN, 18)); xAxis.setLabelPaint(Color.BLUE); SimpleDateFormat fmt = new SimpleDateFormat("k:mm"); // X轴坐标间隔设置,本例是4小时一间隔 xAxis.setTickUnit(new DateTickUnit(DateTickUnit.HOUR, 4, fmt)); // Y 轴 ValueAxis yAxis = plot.getRangeAxis(); yAxis.setLabelFont(new Font("宋体", Font.PLAIN, 18)); yAxis.setLabelPaint(Color.BLUE); return localChart; } public static JPanel createDemoPanel(){ JFreeChart chart = createChart(createDataset()); return new ChartPanel(chart); } public static void main(String[] paramArrayOfString){ TimeSeriesTest theApp = new TimeSeriesTest("时间序列示例"); theApp.pack(); RefineryUtilities.centerFrameOnScreen(theApp); theApp.setVisible(true); }} 跪地求救 注入了,调用却为空!!! java J2EE和linux的问题 跪求eclipse.plugin.struts1.1.7的插件 一个关于列表显示的问题 关于servlet链 POI中 sheet 和 name 中文问题,高手指点 哪有struts的教程,中文英文都可! 如何获得服务器上所有已经激活的Session Beans 的远程接口的引用 XKP(低等下人) ,帮帮小弟。一个正则表达式的问题。。。。 什么是编程 值大于为此列指定的允许精度
package com.jfree;import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Point;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
import java.text.SimpleDateFormat;import javax.swing.JPanel;import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartMouseEvent;
import org.jfree.chart.ChartMouseListener;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.DateAxis;
import org.jfree.chart.axis.DateTickUnit;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.entity.XYItemEntity;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.time.Day;
import org.jfree.data.time.Hour;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.XYDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RectangleEdge;
import org.jfree.ui.RefineryUtilities;public class TimeSeriesTest extends ApplicationFrame {
/**
private static final long serialVersionUID = 1L;
private JFreeChart chart;
private ChartPanel chartPanel;
public TimeSeriesTest(String str){
super(str);
XYDataset localXYDataset = createDataset();
chart = createChart(localXYDataset);
chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new Dimension(800, 500));
setContentPane(chartPanel);
} private static XYDataset createDataset(){
Day localDay = new Day();
TimeSeries localTimeSeries1 = new TimeSeries("随机数据", Hour.class);
localTimeSeries1.add(new Hour(0, localDay), 520.2D);
localTimeSeries1.add(new Hour(2, localDay), 575.1D);
localTimeSeries1.add(new Hour(4, localDay), 564.4D);
localTimeSeries1.add(new Hour(6, localDay), 540.2D);
localTimeSeries1.add(new Hour(8, localDay), 530.2D);
localTimeSeries1.add(new Hour(10, localDay), 555.2D);
localTimeSeries1.add(new Hour(12, localDay), 580.4D);
localTimeSeries1.add(new Hour(14, localDay), 583.2D);
localTimeSeries1.add(new Hour(16, localDay), 595.2D);
localTimeSeries1.add(new Hour(18, localDay), 564.4D);
localTimeSeries1.add(new Hour(20, localDay), 523.2D);
localTimeSeries1.add(new Hour(22, localDay), 515.2D);
localTimeSeries1.add(new Hour(24, localDay), 530.4D);
TimeSeriesCollection localTimeSeriesCollection = new TimeSeriesCollection();
localTimeSeriesCollection.addSeries(localTimeSeries1); return localTimeSeriesCollection; } private static JFreeChart createChart(XYDataset xyDataset){
JFreeChart localChart = ChartFactory.createTimeSeriesChart("时间序列测试", "时间", "数值", xyDataset, true, true, false);
TextTitle title = localChart.getTitle();
title.setFont(new Font("宋体", Font.BOLD, 24));
LegendTitle legend = localChart.getLegend();
legend.setItemFont(new Font("宋体", Font.ITALIC, 14)); XYPlot plot = (XYPlot)localChart.getPlot();
plot.setBackgroundPaint(null); // X 轴
DateAxis xAxis = (DateAxis)plot.getDomainAxis();
xAxis.setLabelFont(new Font("宋体", Font.PLAIN, 18));
xAxis.setLabelPaint(Color.BLUE);
SimpleDateFormat fmt = new SimpleDateFormat("k:mm");
// X轴坐标间隔设置,本例是4小时一间隔
xAxis.setTickUnit(new DateTickUnit(DateTickUnit.HOUR, 4, fmt)); // Y 轴
ValueAxis yAxis = plot.getRangeAxis();
yAxis.setLabelFont(new Font("宋体", Font.PLAIN, 18));
yAxis.setLabelPaint(Color.BLUE); return localChart; } public static JPanel createDemoPanel(){
JFreeChart chart = createChart(createDataset());
return new ChartPanel(chart);
}
public static void main(String[] paramArrayOfString){
TimeSeriesTest theApp = new TimeSeriesTest("时间序列示例");
theApp.pack();
RefineryUtilities.centerFrameOnScreen(theApp);
theApp.setVisible(true);
}
}