2012-10-22 19 views
5

I wykreśl dane za pomocą jqPlot, używając logAxisRenderer, aby uzyskać dwie osie logarytmiczne.Zmiana skali osi za pomocą LogAxisRenderer

Wszystko jest w porządku z wyjątkiem dwóch problemów:

  1. jqPlot stwarza wiele pustej przestrzeni pomiędzy 0 a 1.

  2. Istnieją dwa zera na osi x, ponieważ ja sformatować liczby do "%" i "(jeden dla 0,0 i jeden dla 0,5).

Próbowałem użyć min: 1 i max: 100000, aby ukryć puste miejsce i zera. Ale to nie zadziałało. Wynikowy wykres nie ma linii, a wszystkie etykiety osi X znajdują się w tym samym miejscu po lewej stronie osi.

Oto kod używam do stworzenia tej działki:

$.jqplot(divId, [ line ], { 
    title : title, 
    series:[{showMarker:false}], 
    axes : { 
     xaxis : { 
      label:'Users', 
      renderer : $.jqplot.LogAxisRenderer, 
      tickOptions:{ 
       tickDistribution: "power", 
       formatString: "%'i" 
      }, 
      labelRenderer: $.jqplot.CanvasAxisLabelRenderer, 
     }, 
     yaxis : { 
      label:'Frequency', 
      renderer : $.jqplot.LogAxisRenderer, 
      tickOptions:{ 
       tickDistribution:"power", 
       formatString: "%'i" 
      }, 
      labelRenderer: $.jqplot.CanvasAxisLabelRenderer, 
     }, 
    }, 
}); 

Odpowiedz

2

Można użyć siły kleszcze, aby rozwiązać ten problem:

$.jqplot(divId, [ line ], { 
    title : title, 
    series:[{showMarker:false}], 
    axes : { 
     xaxis : { 
      label:'Users', 
      renderer : $.jqplot.LogAxisRenderer, 
      ticks: [1, 10, 100, 1000, 10000], 
      tickOptions:{ 
       tickDistribution: "power", 
       formatString: "%'i" 
      }, 
      labelRenderer: $.jqplot.CanvasAxisLabelRenderer, 
     }, 
     // ... 
    }, 
}); 

To naprawdę nie rozwiązuje problemu w sposób ogólny , ale pomaga. Dla mnie (jqPlot 1.0.4r1121) ustawienie "min: 1" powoduje zachowanie, które opisałeś. Ustawienia zarówno "min: 1", jak i "max: 10000" działają dla mnie, ale nie ustawiają podzielonych mocy, ale nawet rozstawionych.

Powiązane problemy