就是上面这种图片,数据信息是每0.01秒有一个,搞了很久都没解决,第一次用Jfreechart,还不太熟悉,求帮忙!
解决方案 »
- MyEclipse编绎器的问题?
- 有关下载.rar文件的问题,急需……
- SinaEditor编辑器添加中文字体乱码
- 为什么SAVE 以后没有数据存进数据库?
- 我要做个从数据库里面调出来的数据在options里面,在struts里面怎么实现啊?
- 十万火急-JSP上传到空间的问题
- document.all()为空或不是对象
- 关于tomcat的问题!!!!!!!!!!!
- 怎样给textarea的控件赋值?
- java怎样调用外部应用程序,并传入参数
- 逆向生成Hibernate映射文件中字段中存在大小写时,查询时自动的把大小写字母中间加一个“_”,导致查询时不存在该列
- 深入探究云计算身份识别服务器开发(银行、证券行业实例)
//X轴单位数据
String[] columKeys = {"0","10","20","30","40","50","60"};
//创建Dataset对象
CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columKeys, data);
Java code
?
1234 //X轴单位数据 String[] columKeys = {"0","10","20","30","40","50","60"}; //创建Dataset对象 CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columKeys, data);
DateAxis domainAxis = (DateAxis) categoryplot.getDomainAxis();
domainAxis.setTickLabelFont(new Font("Dialog", Font.PLAIN, 10));
SimpleDateFormat formatter = new SimpleDateFormat("ss秒");
DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss:SS");
domainAxis.setAutoTickUnitSelection(false);
DateTickUnit tickUnit = new DateTickUnit(DateTickUnitType.SECOND, 10, formatter);
domainAxis.setTickUnit(tickUnit);
domainAxis.setMinimumDate(sdf.parse(happenDate+":00:000"));
domainAxis.setMaximumDate(sdf.parse(happenDate+":60:000"));
xAxis.setTickUnit(new DateTickUnit(DateTickUnit.DAY, 1,
new SimpleDateFormat("d")));这是设置x轴刻度的代码 不过我这是以天数为x轴 这里了需要你思考一下 怎么换成你要的那种方式
既然多了9秒 那就减到处理了domainAxis.setMinimumDate(sdf.parse(happenDate+":-1:000"));
domainAxis.setMaximumDate(sdf.parse(happenDate+":61:000"));这两句我修改之后可以显示0秒,10秒,20秒,30秒,40秒,50秒,0秒。但是出不来60秒怎么办?
NumberAxis domainAxis = (NumberAxis) categoryplot.getDomainAxis();
domainAxis.setTickLabelFont(new Font("", Font.PLAIN, 12));
domainAxis.setTickMarksVisible(true);// 標尺
domainAxis.setUpperMargin(0.001);
domainAxis.setLowerMargin(0);
double unitT;
if (dataXzE - dataXzS == 10) {
unitT = 1d;
} else if (dataXzE == 0) {
unitT = 10d;
} else {
unitT = (dataXzE - dataXzS) / 6d;
}
NumberTickUnit ntuT = new NumberTickUnit(unitT);
domainAxis.setTickUnit(ntuT);
谢谢各位的帮忙,对于这么晚结贴很抱歉