2

私は MPAndroidChart を使用するのが初めてで、この問題に悩まされています。値を使用して PieChart を描画し、スライスの 1 つを強調表示すると、他のスライスの色が消えます。これは、スライスを選択する前の円グラフです (アカウントを作成したばかりなので、写真を投稿できません):

http://s27.postimg.org/6ijte280j/Screenshot_2015_03_09_11_27_19.png

これは、下のスライス ("Ruben") を選択したときの円グラフです。

http://s7.postimg.org/60bwczpyz/Screenshot_2015_03_09_11_27_33.png

スライス "Ruben" が強調表示され、もう一方の背景が消えます。

これは、pieChart を作成するメソッドです。

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);

    setContentView(R.layout.activity_display_pie_chart);

    mChart = (PieChart) findViewById(R.id.chart1);
    mChart.setHoleColorTransparent(true);

    mChart.setHoleRadius(60f);

    mChart.setDrawCenterText(true);

    mChart.setDrawHoleEnabled(true);

    mChart.setRotationAngle(0);

    mChart.setRotationEnabled(true);

     mChart.setOnChartValueSelectedListener(this);

     mChart.setCenterText("Test Graph");

     ArrayList<Entry> yVals1 = new ArrayList<Entry>();

     yVals1.add(new Entry((float) 20.0, yVals1.size()-1));
     yVals1.add(new Entry((float) 30.0, yVals1.size()-1));

     ArrayList<String> xVals = new ArrayList<String>();

     xVals.add("Ruben");
     xVals.add("Claudio");

     PieDataSet dataSet = new PieDataSet(yVals1, "Idades Porlande");
     dataSet.setSliceSpace(3f);

     PieData data = new PieData(xVals, dataSet);
     mChart.setData(data);
    }

皆さんは何が問題だと思いますか?

よろしく。

4

1 に答える 1

4

問題は以下の行にあります

 yVals1.add(new Entry((float) 20.0, yVals1.size()-1));
 yVals1.add(new Entry((float) 30.0, yVals1.size()-1));

ここで、コンストラクター Entry(float val, int xIndex) で、xIndex は 0,1,2.. から始まります。

したがって、指定したインデックス値を変更してください。

yVals1.add(new Entry((float) 20.0, 0));
yVals1.add(new Entry((float) 30.0, 1));
于 2015-03-09T12:28:27.010 に答える