2015-03-04 14 views
7

मैं MPAndroidChart लाइब्रेरी का उपयोग कर रहा हूं। बारचर्ट द्वारा डिफॉल्ट में सभी बार लंबवत (नीचे-ऊपर) हैं, इसे क्षैतिज रूप से कैसे प्रदर्शित करें?एमपी एंड्रॉइड चार्ट बार चार्ट क्षैतिज/लंबवत

+0

क्या आपने क्षैतिज-बार चार्ट की कोशिश की है? – Pooja

+0

मेरे प्रोजेक्ट के काम के अनुसार, मुझे MPAndroidChart लाइब्रेरी –

+2

का उपयोग करने की आवश्यकता है हां मैं समझता हूं। MPAndroidChart Lib में BarChart और क्षैतिज-बार चार्ट सहित कई प्रकार के चार्ट उपलब्ध हैं। मेरी समझ के अनुसार आपने बारचर्ट की कोशिश की है। तो, मैं आपको क्षैतिज-बार चार्ट का प्रयास करने के लिए कह रहा हूं। – Pooja

उत्तर

12

ओरिएंटेशन के मामले में बार-चार्ट के दो प्रकार हैं।

  • सामान्य/लंबवत बार-चार्ट (बार नीचे-नीचे जाएं), कक्षा BarChart, उदाहरण दिखता है इस तरह: enter image description here
  • क्षैतिज बार-चार्ट (बार जाना बाएं-दाएं), वर्ग HorizontalBarChart, इस तरह दिखता है:

    enter image description here

इसके अलावा, वहाँ भी तो हैं स्टैक्ड-बार (एक बार में एकाधिक मान) कहा जाता है, जिसका उपयोग दोनों क्षैतिज- और लंबवत BarChart में किया जा सकता है। स्टैक्ड बार के लिए प्रविष्टियां BarEntry कक्षा के निर्माता के माध्यम से बनाई जा सकती हैं।

// normal entry 
BarEntry normalEntry = new BarEntry(float value, int xIndex); 

// stacked entry 
BarEntry stackedEntry = new BarEntry(float [] values, int xIndex); 

इसके अलावा, सुनिश्चित करें कि आप latest-release उपयोग कर रहे हैं।

+0

धन्यवाद फिलिप जहांहोडा –

+0

यह पूरी तरह से काम करता है। एक – Amir

+0

लेबल्स (नवंबर, ओकटी, सितंबर) के लिए बाएं गुरुत्वाकर्षण (चार्ट नहीं बल्कि चार्ट शुरू करने के लिए चिपकाया गया) बनाना संभव है? – AndrewS

4

this हो सकता है किसी और

<FrameLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     tools:context="com.deals.shockingdeals.DealsFragments.HomeChartFragment"> 

    <com.github.mikephil.charting.charts.HorizontalBarChart 
     android:id="@+id/chart" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 
</FrameLayout> 

कुछ एक गतिविधि वर्ग

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState) 

     HorizontalBarChart chart = (HorizontalBarChart) findViewById(R.id.chart); 

     BarData data = new BarData(getXAxisValues(), getDataSet()); 
     chart.setData(data); 
     chart.setDescription("My Chart"); 
     chart.animateXY(2000, 2000); 
     chart.invalidate(); 

    } 

    private ArrayList<BarDataSet> getDataSet() { 
     ArrayList<BarDataSet> dataSets = null; 

     ArrayList<BarEntry> valueSet1 = new ArrayList<>(); 
     BarEntry v1e1 = new BarEntry(110.000f, 0); // Jan 
     valueSet1.add(v1e1); 
     BarEntry v1e2 = new BarEntry(40.000f, 1); // Feb 
     valueSet1.add(v1e2); 
     BarEntry v1e3 = new BarEntry(60.000f, 2); // Mar 
     valueSet1.add(v1e3); 
     BarEntry v1e4 = new BarEntry(30.000f, 3); // Apr 
     valueSet1.add(v1e4); 
     BarEntry v1e5 = new BarEntry(90.000f, 4); // May 
     valueSet1.add(v1e5); 
     BarEntry v1e6 = new BarEntry(100.000f, 5); // Jun 
     valueSet1.add(v1e6); 

     ArrayList<BarEntry> valueSet2 = new ArrayList<>(); 
     BarEntry v2e1 = new BarEntry(150.000f, 0); // Jan 
     valueSet2.add(v2e1); 
     BarEntry v2e2 = new BarEntry(90.000f, 1); // Feb 
     valueSet2.add(v2e2); 
     BarEntry v2e3 = new BarEntry(120.000f, 2); // Mar 
     valueSet2.add(v2e3); 
     BarEntry v2e4 = new BarEntry(60.000f, 3); // Apr 
     valueSet2.add(v2e4); 
     BarEntry v2e5 = new BarEntry(20.000f, 4); // May 
     valueSet2.add(v2e5); 
     BarEntry v2e6 = new BarEntry(80.000f, 5); // Jun 
     valueSet2.add(v2e6); 

     BarDataSet barDataSet1 = new BarDataSet(valueSet1, "Brand 1"); 
     barDataSet1.setColor(Color.rgb(0, 155, 0)); 
     BarDataSet barDataSet2 = new BarDataSet(valueSet2, "Brand 2"); 
     barDataSet2.setColors(ColorTemplate.COLORFUL_COLORS); 

     dataSets = new ArrayList<>(); 
     dataSets.add(barDataSet1); 
     dataSets.add(barDataSet2); 
     return dataSets; 
    } 

    private ArrayList<String> getXAxisValues() { 
     ArrayList<String> xAxis = new ArrayList<>(); 
     xAxis.add("JAN"); 
     xAxis.add("FEB"); 
     xAxis.add("MAR"); 
     xAxis.add("APR"); 
     xAxis.add("MAY"); 
     xAxis.add("JUN"); 
     return xAxis; 
    } 

में के लिए उपयोगी है और उत्पादन की तरह enter image description here

+0

हाय अमीर, क्या सामान्य चार्ट जैसे क्षैतिज चार्ट में स्क्रॉलिंग विकल्प जोड़ना संभव है। यदि संभव हो तो कृपया कुछ नमूना कोड –

-1

है क्षैतिज दिशा पहले कनेक्ट में बार चार्ट बदल रहा है के लिए नमूना - सुपरस्टोर डेटा स्रोत। ऑर्डर दिनांक आयाम को कॉलम पर खींचें। बिक्री माप को पंक्तियों में खींचें। मार्क्स कार्ड पर, ड्रॉप-डाउन सूची से बार का चयन करें।

+0

साझा करें कृपया एक कोड नमूना जोड़ें ताकि हम देख सकें कि आपका क्या मतलब है –

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