2012-10-22 25 views
5

के साथ धुरी स्केल बदलें I jqPlot के साथ logAxisRenderer का उपयोग करके दो लॉगरिदमिक अक्ष होने के लिए डेटा प्लॉट करें।LogAxisRenderer

सब कुछ दोनों समस्याओं के अलावा ठीक है:

  1. jqPlot 0 और 1. के बीच खाली जगह का एक बहुत बनाता है

  2. के बाद से मैं स्वरूपित वहाँ, x- अक्ष पर दो शून्य हैं संख्या "%" i "(0.0 के लिए एक और 0.5 के लिए एक)।

मैंने रिक्त स्थान और शून्य को छिपाने के लिए न्यूनतम: 1 और अधिकतम: 100000 का उपयोग करने का प्रयास किया। लेकिन यह काम नहीं किया। परिणामी साजिश में कोई रेखा नहीं है और सभी एक्स-अक्ष लेबल धुरी के बाईं ओर एक ही स्थान पर हैं।

यहाँ कोड मैं इस साजिश बनाने के लिए उपयोग है:

$.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, 
     }, 
    }, 
}); 

उत्तर

2

आप बल प्रयोग कर सकते हैं इस समस्या को हल करने के लिए टिक्स:

$.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, 
     }, 
     // ... 
    }, 
}); 

यह वास्तव में एक सामान्य तरीके से आपकी समस्या का समाधान नहीं करता है , लेकिन यह मदद करता है। मेरे लिए (jqPlot 1.0.4r1121) "min: 1" सेटिंग आपके द्वारा वर्णित व्यवहार में परिणाम देती है। सेटिंग्स "न्यूनतम: 1" और "अधिकतम: 10000" मेरे लिए काम करती हैं लेकिन बिजली वितरित टिकों को सेट नहीं करती हैं बल्कि यहां तक ​​कि दूरी वाले भी सेट करती हैं।