آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

پر کردن نمودار دایره ای

mosafer  10 سال پیش  10 سال پیش
0 0

با سلام

همونطور که از تیتر سوال مشخصه من در پر کردن نمودار دایره ایم به مشکل خوردم.

از هیچ کتابخانه اماده ای هم استفاده نکردم . من از کتابخانه سفارشی استفاده کردم.

درون برنامم که یه بازی هست من 10 بازیکن دارم و 9 عمل که اون 10 بازیکن انجام میدن.

همچنین برای هر 9 عملم یک نمودار دایره ای جداگانه دارم.

که مشخص میکنه مثلا هر 10 بازیکنم چند درصد از کل یک عمل رو انجام دادن.

حالا به طور مثال چطور برای یکی از این نمودارها داده ها رو بهش بدم که در نمودارم نشون بده

0 0
آموزش کنترل های سفارشی رو ببینید با استفاده از Canvas میشه روی ImageView رسم کرد لینک شاید با Xml هم بشه لینک (10 سال پیش)
0 0
نه کریس جان!!! من مشکلی با رسمش ندارم. حتی با داده هایی که خودم دستی بهش دادم خیلی قشنگ کار میکنه. ولی من میخوام طی یه فرآیندی و بر اساس یه سری دستورالعمل اطلاعاتو بگیره و در نمودارم نشون بده (10 سال پیش)
0 0
اگر نمودار دایره ایی شما تعداد متغیر هاش مشخصه که یک متد بزارید و بر اساس متغیر ها برای هر کدوم ترسیم کنید ، اگر تعدادشون مشخص نیست ، توی یک آرایه بفرستید و بر اساس اون آرایه برای هر Index ترسیم کنید (10 سال پیش)
0 0
خب همه این کارارو انجام دادم ولی نشد.. همونطور که بالا هم گفتم من 10 بازیکن دارم که قراره 9 عمل رو انجام بدن. حالا من برای هر عمل یه نمودار گذاشتم. ولی نمودارم پر نمیشه... (10 سال پیش)
0 0
خیلی مطمئن نیستم سوال رو فهمیدم ولی فک کنم باید یک interface برای custom controllerتون تعریف کنید بعد اون رو توی کلاس مقصد implement کنید. بعد هر مقداری رو تغییر دادین به این شکل به کلاس custom controller اطلاع بدید. (10 سال پیش)
0 0
خب میشه با کد توضیح بدین. ممنون میشم آخه چند روزیه بدجور درگیرشم. (10 سال پیش)
0 0
لینک (10 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
mosafer  10 سال پیش
0 0

بازم سلام

من با یه حلقه For انجامش دادم ولی خوب کار نمیده چون من درون این حلقه یه سری شرط دارم که براساس این شرطها مقادیری به متغیرهایی اضافه میشه که در آخر با یه فرمول ریاضی اون متغیر ها رو به درصد تبدیل کردم که در نمودارم نمایش بده..

ولی مقادیر درون شرط ها خوب اضافه نمیشن

ینی با هر بار اجرای حلقه اون متغیر ها هم اضافه میشن که انگار شرطهام درست کار نمیدن . درصورتی که در ظاهر درستن...

کد رو میذارم ببینید:

  List<Sabt_Bazi> listBazi = db.getSabt();

        for (int i = 0; i < listBazi.size(); i++) {

            for (final Sabt_Bazi m: listBazi) {

                String strply = m.Player;
                String strope = m.Operation;

                if (listBazi.get(i).Operation.equals("Pass")) {

                    //Pass یه شمارنده برای کل 
                    counterAllPass += 1;
                    
                    Log.i("counterAllPass :", "" + counterAllPass);

                    if (strply.equals("CB")) {
                        
                        // این بازیکن Pass یه شمارنده برای  
                        PassCB++;
                        Log.i("PassCB :", "" + PassCB);

                    }
                    else if (strply.equals("LB")) {
                        
                        // این بازیکن Pass یه شمارنده برای
                        PassLB++;
                        Log.i("PassLB :", "" + PassLB);

                    }
                    else if (strply.equals("RB")) {
                        
                        // این بازیکن Pass یه شمارنده برای
                        PassRB++;
                        Log.i("PassRB :", "" + PassRB);

                    }
                    else if (strply.equals("CM")) {
                        
                        // این بازیکن Pass یه شمارنده برای
                        PassCM++;
                        Log.i("PassCM :", "" + PassCM);

                    }
                    else if (strply.equals("LM")) {
                        
                        // این بازیکن Pass یه شمارنده برای
                        PassLM++;
                        Log.i("PassLM :", "" + PassLM);

                    }
                    else if (strply.equals("RM")) {
                        
                        // این بازیکن Pass یه شمارنده برای
                        PassRM++;
                        Log.i("PassRM :", "" + PassRM);

                    }
                    else if (strply.equals("CAM")) {
                        
                        // این بازیکن Pass یه شمارنده برای
                        PassCAM++;
                        Log.i("PassCAM :", "" + PassCAM);

                    }
                    else if (strply.equals("CDM")) {
                        
                        // این بازیکن Pass یه شمارنده برای
                        PassCDM++;
                        Log.i("PassCDM :", "" + PassCAM);

                    }
                    else if (strply.equals("CF")) {
                        
                        // این بازیکن Pass یه شمارنده برای
                        PassCF++;
                        Log.i("PassCF :", "" + PassCF);

                    }
                    else if (strply.equals("ST")) {
                        
                        // این بازیکن Pass یه شمارنده برای
                        PassST++;
                        Log.i("PassST :", "" + PassST);

                    }

                }

            }

            int[] dataPass = new int[10];

            String[] strDataPass = new String[10];

            try {

                //int counterAllPass = 100 * counterAllPass;

                // Log.i("jamkolopp : ", "" + counterAllPass);

                dataPass[0] = (PassCB * 100 / counterAllPass);
                dataPass[1] = (PassLB * 100 / counterAllPass);
                dataPass[2] = (PassRB * 100 / counterAllPass);
                dataPass[3] = (PassCM * 100 / counterAllPass);
                dataPass[4] = (PassLM * 100 / counterAllPass);
                dataPass[5] = (PassRM * 100 / counterAllPass);
                dataPass[6] = (PassCAM * 100 / counterAllPass);
                dataPass[7] = (PassCDM * 100 / counterAllPass);
                dataPass[8] = (PassCF * 100 / counterAllPass);
                dataPass[9] = (PassST * 100 / counterAllPass);

                strDataPass[0] = String.valueOf(dataPass[0]) + "% CB";
                strDataPass[1] = String.valueOf(dataPass[1]) + "% LB";
                strDataPass[2] = String.valueOf(dataPass[2]) + "% RB";
                strDataPass[3] = String.valueOf(dataPass[3]) + "% CM";
                strDataPass[4] = String.valueOf(dataPass[4]) + "% LM";
                strDataPass[5] = String.valueOf(dataPass[5]) + "% RM";
                strDataPass[6] = String.valueOf(dataPass[6]) + "% CAM";
                strDataPass[7] = String.valueOf(dataPass[7]) + "% CDM";
                strDataPass[8] = String.valueOf(dataPass[8]) + "% CF";
                strDataPass[9] = String.valueOf(dataPass[9]) + "% ST";

                Log.i("cb", String.valueOf(dataPass[0]) + "% CB");
                Log.i("lb", String.valueOf(dataPass[1]) + "% LB");
                Log.i("rb", String.valueOf(dataPass[2]) + "% RB");
                Log.i("cm", String.valueOf(dataPass[3]) + "% CM");
                Log.i("lm", String.valueOf(dataPass[4]) + "% LM");
                Log.i("rm", String.valueOf(dataPass[5]) + "% RM");
                Log.i("cam", String.valueOf(dataPass[6]) + "% CAM");
                Log.i("cdm", String.valueOf(dataPass[7]) + "% CDM");
                Log.i("cf", String.valueOf(dataPass[8]) + "% CF");
                Log.i("st", String.valueOf(dataPass[9]) + "% ST");

                pieChart = (PieChart) findViewById(R.id.pieChart1);

                pieChart.setData(dataPass, "H");

                pieChart.setLabels(strDataPass);

                // pieChart.invalidate();

            }
            catch (Exception ex) {}

        }

 log هامو هم میذارم که نتایج روببینید:

 

 

0 0
کسی نیست جواب بده که چرا شرط های داخلیم خوب کار نمیکنن (10 سال پیش)
0 0
کسی نیست جواب بده که چرا شرط های داخلیم خوب کار نمیکنن (10 سال پیش)
پاسخ به سوال 
mosafer  10 سال پیش
0 0

اینم log:

 06-19 21:32:44.247: I/PassLB :(1813): 1
06-19 21:32:44.247: I/PassLB :(1813): 2
06-19 21:32:44.247: I/PassCB :(1813): 1
06-19 21:32:44.247: I/PassCB :(1813): 2
06-19 21:32:44.247: I/PassLM :(1813): 1
06-19 21:32:44.247: I/PassRM :(1813): 1
06-19 21:32:44.247: I/PassRM :(1813): 2
06-19 21:32:44.247: I/PassLB :(1813): 3
06-19 21:32:44.247: I/PassCB :(1813): 3
06-19 21:32:44.247: I/PassLM :(1813): 2
06-19 21:32:44.247: I/PassCM :(1813): 1
06-19 21:32:44.247: I/PassLB :(1813): 4
06-19 21:32:44.247: I/PassCB :(1813): 4
06-19 21:32:44.257: I/PassCB :(1813): 5
06-19 21:32:44.257: I/PassLB :(1813): 5

اینم log بعدی :


06-19 21:33:30.597: I/PassLB :(1813): 6
06-19 21:33:30.597: I/PassLB :(1813): 7
06-19 21:33:30.597: I/PassCB :(1813): 6
06-19 21:33:30.597: I/PassCB :(1813): 7
06-19 21:33:30.597: I/PassLM :(1813): 3
06-19 21:33:30.597: I/PassRM :(1813): 3
06-19 21:33:30.597: I/PassRM :(1813): 4
06-19 21:33:30.597: I/PassLB :(1813): 8
06-19 21:33:30.597: I/PassCB :(1813): 8
06-19 21:33:30.597: I/PassLM :(1813): 4
06-19 21:33:30.597: I/PassCM :(1813): 2
06-19 21:33:30.597: I/PassLB :(1813): 9
06-19 21:33:30.597: I/PassCB :(1813): 9
06-19 21:33:30.597: I/PassCB :(1813): 10
06-19 21:33:30.597: I/PassLB :(1813): 10
06-19 21:33:30.597: I/PassRB :(1813): 1

همینطور تا آخر..

انگار اصلا شرطی در کار نیست..

کسی میدونه مشکل کجاس؟؟؟؟

 


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .