日期:2014-05-18  浏览次数:20759 次

jfreeChart 画折线图问题,在先等,急!!!!!!!!
小弟在做项目的时候遇到了一个问题
折线图的横坐标是用年月日显示的,最后一个点的日期看不到,只能看到年和月,
比如说最后一个横坐标值本来要显示2008-08-01,但图片上只显示2008-08-0 ,后面的1看不见了
有没有什么办法可以缩进横坐标间隔,使横坐标的最后一个值完整显示


--------------------------------
以下内容为自动编辑的内容,并非楼主的发贴内容,此仅用于显示而已,并无任何其他特殊作用
楼主【huoyutu】截止到2008-08-04 21:12:18的历史汇总数据(不包括此帖):
发帖的总数量:10 发帖的总分数:320 每贴平均分数:32  
回帖的总数量:54 得分贴总数量:17 回帖的得分率:31%  
结贴的总数量:9 结贴的总分数:270  
无满意结贴数:1 无满意结贴分:50  
未结的帖子数:1 未结的总分数:50  
结贴的百分比:90.00 % 结分的百分比:84.38 %  
无满意结贴率:11.11 % 无满意结分率:18.52 %  
值得尊敬
取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=huoyutu

------解决方案--------------------
应该可以在NumberAxis属性中设置
------解决方案--------------------
[align=center]
Java code
 
折线图,有个地方可以设置的。好久没弄过这个了,找了下以前的代码,就一个生成时序图的例子了,要睡觉了,懒得找了
你可以把我的例子改下,一样,时序图其实就折线图,只不过横坐标刻度是时间而已,你可以把刻度设置为年就可以了

public class CopyOfDataToPictrueServiceImp1 implements DataToPictrueService {
  /**
* 创建JFreeChart TimeXY Chart(折线图)
*/
public static void main(String[] args) {

 
Long time1 = new java.util.GregorianCalendar().getTimeInMillis();
//创建XYDataset对象(准备数据)
XYDataset dataset = createXYDataset();
//根据Dataset 生成JFreeChart对象,以及做相应的设置
JFreeChart freeChart = createChart(dataset,"监测点日电压曲线图","时间","电压百分比");
//将JFreeChart对象输出到文件,Servlet输出流等
saveAsFile(freeChart, "D:\\lineXY.png", 700,800);
System.out.println("生成完毕");
Long time2 = new java.util.GregorianCalendar().getTimeInMillis();
System.out.println("生成所需的时间:" + (time2 - time1));
}


    // 保存为文件
public static void saveAsFile(JFreeChart chart, String outputPath,
int weight, int height) {
FileOutputStream out = null;
try {
File outFile = new File(outputPath);
if (!outFile.getParentFile().exists()) {
outFile.getParentFile().mkdirs();
}
out = new FileOutputStream(outputPath);
// 保存为PNG
ChartUtilities.writeChartAsPNG(out, chart, 500, 300);
// 保存为JPEG
// ChartUtilities.writeChartAsJPEG(out, chart, 500, 400);
out.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null) {
try {
out.close();
} catch (IOException e) {
// do nothing
}
}
}
}


  // 根据XYDataset创建JFreeChart对象
public static JFreeChart createChart(XYDataset dataset,
String titleName,String XName,String YName) {
// 创建JFreeChart对象:ChartFactory.createXYLineChart
JFreeChart jfreechart = ChartFactory.createXYLineChart(
titleName, // 标题
XName, // categoryAxisLabel (category轴,横轴,X轴标签)
YName, // valueAxisLabel(value轴,纵轴,Y轴的标签)
dataset, // XYDataset对象(准备数据)
PlotOrientation.VERTICAL,  //直方图的方向 PlotOrientation.HORIZONTAL//水平方向
true, //定义图表是否包含图例
true, //定义图表是否包含提示
true);  //定义图