2012-12-12 28 views
3

在我的lineChart(primefaces 3.4)中,xaxis有很多dateTimes lables並且它重疊,有沒有什麼辦法可以防止xaxis中的重疊? 當lineChart我使用擴展屬性(與jqplot函數),我可以申請autosacle軸 INT值值標籤從1..n將代替dateTime標籤! 這裏是我的示例代碼:如何在primefaces中自動縮放lineChart的xaxis 3.4

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" />        

回答

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 
     } 
+0

由於標籤的數量實在是太多了و標籤旋轉將不會解決這個問題,應該法令他們鑑於**不改變日期時間價值爲int值**在x軸。謝謝你 – Mehdi

+0

你可以嘗試玩角度,將其設置爲90或-90 ... – Daniel

+0

我發佈了另一個代碼片段。使用'DateAxisRenderer'與'autoscale' ...看看它...它在這個頁面上的第二個例子http://www.jqplot.com/deploy/dist/examples/axisLabelsRotatedText.html – Daniel

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>