因客户需求加一条虚线:
看了下前辈的代码,并没有添加虚线的代码:
private void loadChar(String[][] ChartData, String[] ChartIndex, String[] linename, JPanel jPanel, int num) {
jPanel.removeAll();
//生成ChartDirector
ChartDirectorYmPanel demo = new ChartDirectorYmPanel();
demo.setData(ChartData);
demo.setLabels(ChartIndex);
demo.setLineName(linename);
demo.setYTitle("负荷");
demo.setXTitle("日期/时间 【"+linename[0]+"】");
demo.setTitle("");
if(num>1){
demo.setLabelStep(24);
}else{
demo.setLabelStep(1);
}
demo.setLineType("0");//0:普通曲线;1:带区间的曲线
demo.createChart(jPanel);
}
只能去源码里面改了:
c = new XYChart(PanelWidth, PanelHeight);
//c.setRoundedFrame();//边界角圆化
//c.setBackground(14080479);
c.setDefaultFonts("宋体 Bold");
//设置曲线标题
c.addTitle(myTitle, "宋体", 12);
//Y轴标签
c.yAxis().setTitle(myYTitle, "宋体 Bold", 10);
//X轴标签
c.xAxis().setTitle(myXTitle, "宋体 Bold", 10).setFontColor(xColor);//0xff0000
// 设置X轴刻度
c.xAxis().setLabels(labels);
// for (String label : labels) {
// if (label.length()>2) {
// c.xAxis().addMark(24,0xff0000);
// }
// }
for (int i = 0; i < labels.length; i++) {
String label = labels[i];
if (label.length()>2) {
//c.xAxis().addMark(24,0xff0000);//给下标位置添加一条实线
c.xAxis().addMark(i+24,c.dashLineColor(0xff0000, Chart.DotDashLine));//将实线变成虚线
//http://www.360doc.com/content/13/0301/16/10893884_268682047.shtml 参考网站
}
}