水平显示 MPAndroidChart PieChart
Display MPAndroidChart PieChart horizontally
是否有一个看起来像饼图而不是圆形的图表,数字应该显示在水平条中?
在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();
我得到的当前图表:
可以使用 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);
这个是竖条用的就用这个库的水平条形图,你可以和哥们一起去。快乐编码:)
是否有一个看起来像饼图而不是圆形的图表,数字应该显示在水平条中?
在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();
我得到的当前图表:
可以使用 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);
这个是竖条用的就用这个库的水平条形图,你可以和哥们一起去。快乐编码:)