81,092
社区成员
发帖
与我相关
我的任务
分享
// X軸
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);
谢谢各位的帮忙,对于这么晚结贴很抱歉domainAxis.setMinimumDate(sdf.parse(happenDate+":-1:000"));
domainAxis.setMaximumDate(sdf.parse(happenDate+":61:000"));
这两句我修改之后可以显示0秒,10秒,20秒,30秒,40秒,50秒,0秒。但是出不来60秒怎么办?
//X轴单位数据
String[] columKeys = {"0","10","20","30","40","50","60"};
//创建Dataset对象
CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columKeys, data);
//X軸
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"));