MPAndroidChart詳細 - 設定データ

この問題は、グラフにデータを追加する方法についてです

ヒント:この問題は、書き込みに学習の自分自身の学習プロセスの純粋な方法を公式文書に従わなかった、個人が公式の文書よりも使用することがより簡単で感じる
前:MPAndroidChartは使用を詳細に説明-軸(X軸、 Y軸、ゼロライン)
次:詳細および使用--ValueFormatter MPAndroidChartインターフェースAxisValueFormatter

図折り目(複数のデータ)
//首先实例化一个 List  用来储存你的数据
List<Entry>list=new ArrayList<>();          
List<Entry>list2=new ArrayList<>(); //第二条线

//然后向List中添加数据
//其中两个参数对应的分别是   X轴   Y轴
list.add(new Entry(1,10));
list.add(new Entry(2,12));
list.add(new Entry(3,6));
//为第二条线添加数据
list2.add(new Entry(1,8));
list2.add(new Entry(2,10));
list2.add(new Entry(3,7));

//然后创建一个DataSet对象
//list是你这条线的数据  "语文" 是你对这条线的描述
LineDataSet lineDataSet=new LineDataSet(list,"语文");  
//再创建一个DataSet对象,把第二条数据添加进DataSet对象
LineDataSet lineDataSet2=new LineDataSet(list2,"数学");  

//创建Data对象
LineData lineData=new LineData(lineDataSet);//把第一个DataSet对象添加到Data
lineData.addDataSet(lineDataSet2);      //第二个
line.setData(lineData);                //setData()方法把Data传入
オーダーエントリー

X軸は、正しいデータ・シーケンスではない場合、それはあなたがソートCollections.sortを使用することができ、多少の誤差が発生することがあり

List<Entry>list=new ArrayList<>();
Collections.sort(list, new EntryXComparator());
棒グラフ

図バーとライン設定データはBarEntryエントリのリストをインスタンス化されていないときを除いて、ほぼ同じ形で、バーのさまざまな種類の

//注意<>中间是BarEntry,这是和折线图不同的
List<BarEntry>list=new ArrayList<>();

//添加数据
list.add(new BarEntry(1,7));     //其中两个数字对应的分别是   X轴   Y轴
list.add(new BarEntry(2,10));
list.add(new BarEntry(3,12));
list.add(new BarEntry(4,6));
list.add(new BarEntry(5,3));

BarDataSet barDataSet=new BarDataSet(list,"语文");   //list是你这条线的数据  "语文" 是你对这条线的描述
BarData barData=new BarData(barDataSet);
bar.setData(barData);

data.setBarWidth(0.9f);   //设置柱子的宽度
chart.setFitBars(true);   //使X轴与所有条形适配,防止两侧的柱子显示不全
バーグループ
List<BarEntry>list=new ArrayList<>();
List<BarEntry>list2=new ArrayList<>();

//为第一组添加数据
list.add(new BarEntry(1,5));
list.add(new BarEntry(2,8));
list.add(new BarEntry(3,4));

//为第二组添加数据
list2.add(new BarEntry(1,6));
list2.add(new BarEntry(2,8));
list2.add(new BarEntry(3,5));

BarDataSet barDataSet=new BarDataSet(list,"男");
barDataSet.setColor(Color.RED);    //为第一组柱子设置颜色
BarDataSet barDataSet2=new BarDataSet(list2,"女");
barDataSet2.setColor(Color.BLUE);   //为第二组柱子设置颜色
BarData barData=new BarData(barDataSet);   //加上第一组
barData.addDataSet(barDataSet2);    //加上第二组   (多组也可以用同样的方法)
barchart.setData(barData);

float groupSpace = 0.06f; //群组间的间隔
float barSpace = 0.02f; // 每一个柱状条间隔  计算时需要  *DataSet的数量  这里是2
float barWidth = 0.45f; // 每一个柱状条的宽度   计算时需要  *DataSet的数量  这里是2
// (0.02 + 0.45) * 2 + 0.06 = 1.00  保证最后总和是1就行

//重点:
barData.setBarWidth(barWidth);//柱子的宽度
//三个参数   分别代表   X轴起点     组与组之间的间隔      组内柱子的间隔
barData.groupBars(1f,groupSpace,barSpace);

XAxis xAxis = chart.getXAxis();
xAxis.setCenterAxisLabels(true);//此方法可以让X轴标签数据显示在图组的中心
積み上げ棒グラフ

バーとほぼ正常、パラメータフィル追加されたデータの異なるタイプの差分嘘
共通BarChartコントロール2つの単純なフロートパラメータは、図を積層しながら、データがフロートの配列であるY軸方向に充填されています
チャート上の高さは、このようにデータ10、20の3枚表示、全体の高さは60であります

List<BarEntry>list=new ArrayList<>();
list.add(new BarEntry(1,new float[]{10,20,30}));
パイ

パイチャートおよび他のデータビット、すなわち、最初のパラメータは、現在のデータが占める領域の大きさ、X軸、添加の順序に表示順序データなしパイの現在の領域の情報を説明するための第2のパラメータは、同じではありません決めます

List<PieEntry> list= new ArrayList<>();

list.add(new PieEntry(20, "软件设计"));
list.add(new PieEntry(30, "英语"));
list.add(new PieEntry(35, "数学"));
list.add(new PieEntry(15, "语文"));

PieDataSet pieDataSet= new PieDataSet(list, "饼图");
PieData pieData = new PieData(pieDataSet);
pieChart.setData(pieData );
データ(データセット)に配置されたカラー

色はそれほど容易にするようにデータの2つのグループを区別し、2つの方法で提供することができます

setColorを(int型カラー) 単一色を設定し、またはカラーの内側とアドオンで配列を作成します
setColors(ArrayListの色) カラーList型のコレクションを提供
setColors(INT []色) データセットにカラーデータの形で提供される新しいINT [] {R.color.redを、...}を使用することにより

サンプルコード:

lineDataSet.setColor(Color.GREEN);  //折线的颜色

List<Integer>list_color=new ArrayList<>();
list_color.add(Color.RED);
list_color.add(Color.YELLOW);
list_color.add(Color.BLUE);
lineDataSet.setColors(list_color);

lineDataSet.setColors(new int[]{Color.RED,Color.BLUE,Color.YELLOW});
发布了23 篇原创文章 · 获赞 59 · 访问量 8546

おすすめ

転載: blog.csdn.net/qq_44720366/article/details/104734117