ChartDirector 绘制曲线图

菜鸟ing 发布于 2015/04/01 16:08
阅读 859
收藏 0

在用 ChartDirector  绘制曲线时如何来控制X轴的数据显示,我在用时X会随着数据的多少来随意的显示,

可能我说的不够准确和详细,现在附上代码望大神们能够帮助小弟:

 sqlStr1 = "SELECT DISTINCT P_NAME FROM"+ "("+sql+orderBy+")"
    list1 = querySql(sqlStr1)


    count = 0
    
    viewer = ChartViewer()
    
    chart = XYChart(1380, 550)
    
    chart.setPlotArea(55, 65, 940, 190, 0xffffff, -1, 0xc0c0c0, 0xc0c0c0, -1)
   
    chart.addLegend(50, 30, false, "宋体", 12).setBackground(Chart::Transparent)
    
    chart.addTitle("近两周OEE 汇总趋势图", "宋体", 18)
  
    chart.yAxis().setTitle("数量", "宋体", 12)
    
    chart.yAxis().setWidth(2);
    
    chart.xAxis().setTitle("时间", "宋体", 12)
    
    chart.xAxis().setWidth(1)
  
    vectorHexs = vector()
     for(i=0; i<list1.size(); i++) {
          P_NAME = list1.elementAt(i)[0]
          sqlStr = sql +"AND P_NAME = '" +P_NAME+"' " + "AND ROWNUM <= 15" + orderBy
          list = querySql(sqlStr)
          if(list!=null && list.size()>0) {
                    dataY = createArray(list.size())
                    dataX = createArray(list.size())
                    dataZ = createArray(list.size())
              
                    for(j=0; j<list.size(); j++) {
                        dataX[j] = date(list.elementAt(j)[3],"yyyy-MM")                               
                        dataY[j] = stringToDouble(list.elementAt(j)[1])
                        dataZ[j] = list.elementAt(j)[0]
                   
                    }                      
                    hex = getRandomColor(vectorHexs)
                    vectorHexs.add(hex)
                    layer = chart.addLineLayer(dataY, hex, "OEE :"+P_NAME) 
                    layer.setXData(dataX)
                    layer.getDataSet(0).setDataSymbol(Chart::SquareSymbol, 9)
                    for(j=0; j<list.size(); j++) {
                        layer.addCustomDataLabel(0, j, dataY[j]+"", "Arial Bold")
                    }
                    layer.setLineWidth(2)
                }
             }   
 viewer.setImage(chart.makeImage())
 viewer.setImageMap(chart.getHTMLImageMap("clickable", "", "title='[{dataSetName}] Pressure = {x} Pa, Temperature = {value} C'"))
    
    picturebox.setImage(viewer.getIcon())

下面附了一张图 希望能清楚一点  表达我的问题

数据我想显示近两周的 我在取数据时只取了最近的15条数据,在这15条数据中时间可能不连续,但是底下的时间会把没数据的日期也显示出来,怎样能够不让他显示没有数据的时间呢,求大神指点。。。

加载中
返回顶部
顶部