是否有一个看起来像PieChart而不是圈子的图表,数字应该显示在水平栏中?
在PieChart中,我们在Circle中显示数字。但是如何在单条(水平)中显示它们?
任何人都可以在这里帮忙吗?
我尝试更新我的代码以使用horizontalbarchar并获得下面的图表。但是图表中的值显示错误,我也不想显示其他以红色标记的参数。有人可以帮助我。
我的布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.github.mikephil.charting.charts.HorizontalBarChart
android:id="@+id/chart1"
android:layout_width="match_parent"
android:layout_height="100dp"
android:background="@android:color/white" />
</RelativeLayout>
我的代码:
super.onCreate(savedInstanceState);
setContentView(R.layout.horizontal_seekbar_layout);
mChart = findViewById(R.id.chart1);
ArrayList<BarEntry> values=new ArrayList<>();
values.add(new BarEntry(0,new float[]{5,3,1}));
BarDataSet set1=new BarDataSet(values,"Summary");
//set1.setDrawIcons(false);
set1.setStackLabels(new String[]{"Passed","Failed","Skipped"});
ArrayList<Integer> colors=new ArrayList<Integer>();
colors.add(Color.GREEN);
colors.add(Color.RED);
colors.add(Color.GRAY);
set1.setColors(colors);
set1.setValueFormatter(new DecValueFormatter());
BarData data=new BarData(set1);
mChart.setData(data);
// mChart.setFitBars(true);
mChart.invalidate();
答案 0 :(得分:1)
可以使用mp android图表的堆积条形图来完成。请按照以下示例执行此操作:
ArrayList<BarEntry> barEntries = new ArrayList<BarEntry>();
barEntries.add(new BarEntry(0, new float[]{2,4,5,3}));
BarDataSet barDataSet = new BarDataSet(barEntries, "Stacked Bars");
barDataSet.setAxisDependency(YAxis.AxisDependency.LEFT);
barDataSet.setHighlightEnabled(true);
barDataSet.setHighLightColor(Color.RED);
barDataSet.setColors(getColors(4,Color.RED,Color.BLUE,Color.GREEN,Color.CYAN));
barDataSet.setStackLabels(new String[]{"Bottom","Top","Left","Right"});
BarData barData = new BarData(barDataSet);
barData.setValueTextSize(defaultValueTextSize);
barData.setValueTextColor(getColor("primaryDark"));
barChart.setDrawValueAboveBar(false); // add this line to show values inside bars
barChart.getAxisLeft().setAxisMinimum(0);
barChart.getXAxis().setPosition(XAxis.XAxisPosition.BOTH_SIDED);
barChart.animateY(1000);
barChart.setData(barData);
这是垂直条只是使用这个库的水平条形图,你很高兴与伙伴一起去。快乐编码:)