. 다음은 MpAndroidChart HorizontalBarChart 사용자 지정 라벨
다음은HorizontalBarChart mChart = (HorizontalBarChart) findViewById(R.id.chart1);
mChart.setOnChartValueSelectedListener(this);
mChart.setDrawBarShadow(false);
mChart.setDrawValueAboveBar(true);
mChart.setDescription(strHeading);
mChart.setMaxVisibleValueCount(60);
mChart.setPinchZoom(false);
mChart.setDrawGridBackground(false);
XAxis xl = mChart.getXAxis();
xl.setDrawLabels(false);
YAxis yl = mChart.getAxisLeft();
yl.setDrawLabels(false);
YAxis yr = mChart.getAxisRight();
yr.setTypeface(mTfLight);
yr.setDrawAxisLine(true);
yr.setDrawGridLines(false);
setData(12, 50);
mChart.setFitBars(true);
mChart.animateY(2500);
mChart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM_INSIDE);
Legend l = mChart.getLegend();
l.setPosition(Legend.LegendPosition.ABOVE_CHART_LEFT);
l.setFormSize(8f);
l.setXEntrySpace(4f);
데이터를 결합하는 방법, 다음 코드 HorizontalBarChart를 initilizes 코드입니다
float barWidth = 9f;
float spaceForBar = 10f;
ArrayList<BarEntry> yVals1 = new ArrayList<BarEntry>();
for (int i=0 ; i< arrayChart.size(); i++){
ModelChart modelChart = arrayChart.get(i);
String aString = modelChart.getHeader();
float space = i * spaceForBar;
BarEntry eachEntry = new BarEntry(i * spaceForBar, modelChart.getValue() , modelChart.getHeader());
yVals1.add(eachEntry);
}
if (mChart.getData() != null &&
mChart.getData().getDataSetCount() > 0) {
BarDataSet set1 = (BarDataSet)mChart.getData().getDataSetByIndex(0);
set1.setValues(yVals1);
mChart.getData().notifyDataChanged();
mChart.notifyDataSetChanged();
} else {
set1 = new BarDataSet(yVals1, "A , B , C");
ArrayList<IBarDataSet> dataSets = new ArrayList<IBarDataSet>();
dataSets.add(set1);
BarData data = new BarData(dataSets);
data.setValueTextSize(10f);
data.setValueTypeface(mTfLight);
data.setBarWidth(barWidth);
mChart.setData(data);
}
은 맞춤 구성 요소입니까? –
안녕하세요, @ Yasir Ali, HorizontalBarChart를 사용했습니다. – Cloy
라이브러리 코드를 쉽게 검사 할 수는 없지만 최선을 다해 설명 드리겠습니다. 그들은 Barchart를 렌더링하는 HorizontalBarChartRenderer.java를 가지고 있으며 drawValues 메소드는이 텍스트 렌더링을 수행합니다. 할 수있는 일은이 메소드를 오버라이드 (override) 해, HorizontalBarChartRenderer 및 디폴트의 렌더러를 설정하는 HorizontalBarChart.init를 오버라이드 (override)합니다. –