如何在曲面3.4中自动调整折线图的x轴

时间:2012-12-12 12:24:45

标签: primefaces jqplot overlap linechart

在我的lineChart(primefaces 3.4)中,xaxis有许多dateTimes标签并且它重叠,有没有办法防止在xaxis中重叠? 当在lineChart中我使用extender属性(使用jqplot函数)时,我可以将自动调整应用于轴 ,但 int值将取代1..n中的标签而不是dateTime标签! 这是我的示例代码:

xhtml代码

 <script type="text/javascript" src="js/plugins/jqplot.dateAxisRenderer.min.js"> 
 <script type="text/javascript">
 function setScale() {
          this.cfg.axes ={                
                xaxis:{
                    renderer:$.jqplot.DateAxisRenderer,                    
                    autoscale : true,
                    }          
        }
</script>
<p:lineChart  value="#{chartBean.chartModel}"  extender="setSacle" xaxisAngle="-30" />                               

2 个答案:

答案 0 :(得分:1)

我想你想使用CanvasAxisTickRenderer

加入jqplot.canvasAxisTickRenderer.min.js

而不是定义

xaxis:{
    tickRenderer: $.jqplot.CanvasAxisTickRenderer,
    tickOptions: {
       angle: -30
    }
 }     

看看jqPlot示例:Rotated Axis Tick Labels | jqPlot

类似问题jqPlot - multiline ticks with angle in x-axis


Axis Labels and Rotated Text的第二个例子中取一个厕所 它使用DateAxisRendererautoscale: true

xaxis: {
      autoscale: true,
      renderer: $.jqplot.DateAxisRenderer,
      label: 'Incliment Occurrance',
      labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
      tickRenderer: $.jqplot.CanvasAxisTickRenderer,
      tickOptions: {
           angle: 15
      }

答案 1 :(得分:0)

如果有这么多数据点,使用缩放怎么样:

cursor: {
                    show: true,
                    showTooltip: false,
                    zoom: true,
                    constrainZoomTo: 'x'},

<script language="javascript" type="text/javascript" src="jquery/jqplot/plugins/jqplot.cursor.min.js"></script>