2009-12-29 12 views
17

में बार की चौड़ाई बरचार्ट में बार की चौड़ाई समायोजित करने का कोई तरीका है?Jfreechart

मैं अपना कोड निम्न कोड के साथ बनाता हूं।

final JFreeChart chart = ChartFactory.createBarChart("Report", // chart title 
       "Date", // domain axis label 
       "Number", // range axis label 
       dataset, // data 
       PlotOrientation.VERTICAL, // orientation 
       true, // include legend 
       true, // tooltips? 
       false // URLs? 
       ); 

उत्तर

5

डेव गिल्बर्ट (JFreeChart परियोजना नेता)

बार चौड़ाई के अनुसार स्वचालित रूप से गणना कर रहे हैं और चार्ट या साजिश चौड़ाई और अपने डेटासेट में मदों की संख्या पर निर्भर करेगा।

चर्चा here देखें।

8

आप बार की चौड़ाई को सीधे निर्दिष्ट नहीं कर सकते हैं, लेकिन कुछ विशेषताएं हैं जिन्हें चौड़ाई को प्रभावित किया जा सकता है। तुम्हें पता है, lowerMargin पर एक नज़र रखना चाहिए upperMargin और categoryMargin विशेषताओं CategoryAxis या itemMargin BarRenderer में विशेषता के आधार पर परिभाषित किया।

उदाहरण के लिए:

BarRenderer renderer = (BarRenderer) chart.getCategoryPlot().getRenderer(); 
    renderer.setItemMargin(.1); 

डबल setItemMargin(double percent) में निर्दिष्ट है कि एक ही श्रेणी के सलाखों के बीच अंतरिक्ष के लिए उपयोग किया जाएगा श्रेणी अक्ष की कुल लंबाई का प्रतिशत (डिफ़ॉल्ट है .2 या 20%)। यह मान छोटा है, सलाखों जितना बड़ा होगा।

16

आप बार की अधिकतम चौड़ाई भी सेट कर सकते हैं। यह उपयोगी है यदि आपके पास विस्तृत चार्ट है लेकिन कभी-कभी केवल एक या दो डेटा पॉइंट होते हैं और आप नहीं चाहते कि एक बड़ा वसा बार पूरे क्षेत्र को उठाए।

CategoryPlot categoryPlot = chart.getCategoryPlot(); 
BarRenderer br = (BarRenderer) categoryPlot.getRenderer(); 
br.setMaximumBarWidth(.35); // set maximum width to 35% of chart 
+0

धन्यवाद! एक इलाज किया। – Buffalo

5

सकारात्मक हाशिए और शून्य का उपयोग कर कोई परिणाम नहीं मिलने के बाद, मैं itemMargin के लिए ऋणात्मक संख्याओं का उपयोग कर देखने के लिए क्या होगा की कोशिश की। सलाखों को मोटा होना शुरू हो गया। मुझे नहीं पता कि यह अनुशंसा की जाती है, हालांकि, यदि पर्याप्त जगह उपलब्ध नहीं है तो आप ओवरलैप प्राप्त करेंगे।

BarRenderer renderer = (BarRenderer) chart.getCategoryPlot().getRenderer(); 
renderer.setItemMargin(-2); 
+0

शानदार। मुझे एक ही समस्या फिर से मिल रही है और मैं सेटमैक्सिमबार्डविड्थ के साथ कुछ हासिल नहीं कर सका, यह चाल है। धन्यवाद। – Buffalo

+0

वही मामला है !! बहुत बहुत धन्यवाद .. यह चाल है .. –

संबंधित मुद्दे