๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
android

MPAndroidChart ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ด์šฉํ•˜์—ฌ bar chart ๋งŒ๋“ค๊ธฐ

by liz_devel 2021. 7. 6.

 

https://github.com/PhilJay/MPAndroidChart

 

PhilJay/MPAndroidChart

A powerful ๐Ÿš€ Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations. - PhilJay/MPAndroidChart

github.com

์œ„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ๋‚ด ํ”„๋กœ์ ํŠธ์— bar chart๋ฅผ ์ ์šฉํ•ด๋ณด์ž

 

 

 

1. maven { url "https://jitpack.io" } ๋ฅผ build.gradle(project)์— ๋„ฃ๋Š”๋‹ค.

llprojects {
    repositories {
        maven { url "https://jitpack.io" }
        google()
        jcenter()
    }
}

 

2. build.gradle(module)์— ์ฐจํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋„ฃ๊ณ  sync now ํ•œ๋‹ค.

implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0-alpha' // ์ฐจํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

 

3. xml ํŒŒ์ผ

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

 

4. class ํŒŒ์ผ

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        BarChart barChart = findViewById(R.id.chart);

        ArrayList<BarEntry> visitors = new ArrayList<>();
        visitors.add(new BarEntry(2014,420));
        visitors.add(new BarEntry(2015,470));
        visitors.add(new BarEntry(2016,302));
        visitors.add(new BarEntry(2017,405));
        visitors.add(new BarEntry(2018,139));
        visitors.add(new BarEntry(2019,290));

        BarDataSet barDataSet = new BarDataSet(visitors,"visitors");
        barDataSet.setColors(ColorTemplate.PASTEL_COLORS);
        barDataSet.setValueTextColor(Color.BLACK);
        barDataSet.setValueTextSize(16f);

        BarData barData = new BarData(barDataSet);

        barChart.setFitBars(true);
        barChart.setData(barData);
        barChart.getDescription().setText("์˜ˆ์‹œ");
        barChart.animateY(2000);


    }

}

 

 

 

 

์ด๋ ‡๊ฒŒ ์„ธํŒ…์ด ๋˜์—ˆ๋‹ค๋ฉด ์ด์ œ ๋‚ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋งž๊ฒŒ ์ปค์Šคํ…€ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

์• ๋ฎฌ๋ ˆ์ดํ„ฐ ์‹คํ–‰์‹œํ‚ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜์˜จ๋‹ค.

 

 

 

x์ขŒํ‘œ๊ฐ€ ์ƒ๋‹จ์— ์žˆ๋Š” ๊ฒŒ ์‹ซ๋‹ค๋ฉด ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

barChart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM);

 

 

 

๋ฐ˜์‘ํ˜•