Beispiel #1
0
        void UpdatePowerMonitorChart()
        {
            var chart = FindViewById <LineChart>(Resource.Id.lineChart);


            Entry[] values = new Entry[powerHistory.values.Length];

            for (int i = 0; i < values.Count(); i++)
            {
                values[i] = new Entry(i, powerHistory.values[i]);
            }

            LineDataSet set1;

            if (chart.Data != null &&
                chart.Data.DataSetCount > 0)
            {
                set1        = (LineDataSet)chart.Data.GetDataSetByIndex(0);
                set1.Values = values;
                chart.Data.NotifyDataChanged();
                chart.NotifyDataSetChanged();
            }
            else
            {
                // create a dataset and give it a type
                set1 = new LineDataSet(values, "Power Usage");

                set1.SetMode(LineDataSet.Mode.CubicBezier);
                set1.CubicIntensity = 0.2f;
                set1.SetDrawFilled(true);
                set1.SetDrawCircles(false);
                set1.LineWidth = 1.6f;
                //set1.CircleRadius = 4f;
                //set1.SetCircleColor(Color.White);
                set1.HighLightColor = Color.Rgb(244, 117, 117);
                set1.Color          = Color.ParseColor("#68B9C0");
                set1.FillColor      = Color.ParseColor("#68B9C0");
                set1.FillAlpha      = 100;
                set1.SetDrawHorizontalHighlightIndicator(false);
                set1.SetDrawVerticalHighlightIndicator(false);
                //    set1.FillFormatter = new IFillFormatter() {
                //    public float getFillLinePosition(ILineDataSet dataSet, LineDataProvider dataProvider)
                //    {
                //        return chart.getAxisLeft().getAxisMinimum();
                //    }
                //};

                // create a data object with the data sets
                LineData data = new LineData(set1);
                //data.setValueTypeface(tfLight);
                data.SetValueTextSize(12f);
                data.SetDrawValues(false);

                // set data
                chart.Data = data;
            }
            chart.SetViewPortOffsets(0, 0, 0, 0);
            chart.Invalidate();
        }