コード例 #1
0
        private void UpdateChart(MeasureValues temp)
        {
            float value = 0;

            time += 1;
            value = (float)temp.Value;
            if (entries.Count > settings.NumSamples)
            {
                entries.RemoveRange(0, entries.Count - settings.NumSamples);
            }

            entries.Add(new EntryChart(time, value));
            dataSet5 = new LineDataSetXF(entries, Title)
            {
                Colors = new List <Color> {
                    Color.Green
                },
                CircleHoleColor = Color.Blue,
                CircleColors    = new List <Color> {
                    Color.Blue
                },
                CircleRadius = 1,
                DrawValues   = false,
            };

            data4 = new LineChartData(new List <ILineDataSetXF>()
            {
                dataSet5
            });
            chart.ChartData = data4;
        }
コード例 #2
0
ファイル: LineChart2.cs プロジェクト: hafewa/WeChatSimulator
 public override VertexHelper DrawLineChart(VertexHelper vh, Rect vRect, LineChartData VBasis)
 {
     vh = base.DrawLineChart(vh, vRect, VBasis);
     foreach (KeyValuePair <int, VertexStream> line in lines)
     {
         if (line.Value.vertexs.Count <= 1)
         {
             continue;
         }
         var startPos = GetPos(line.Value.vertexs[0]);
         for (int i = 1; i < line.Value.vertexs.Count; i++)
         {
             var   endPos      = GetPos(line.Value.vertexs[i]);
             var   startBottom = new Vector2(startPos.x, origin.y);
             var   endBottom   = new Vector2(endPos.x, origin.y);
             Color color1      = new Color(line.Value.color.r * 0.7f, line.Value.color.g * 0.7f, line.Value.color.b * 0.7f, 1);
             vh.AddUIVertexQuad(new UIVertex[]
             {
                 GetUIVertex(startBottom, line.Value.color),
                 GetUIVertex(startPos, color1),
                 GetUIVertex(endPos, color1),
                 GetUIVertex(endBottom, line.Value.color),
             });
             startPos = endPos;
         }
     }
     return(vh);
 }
コード例 #3
0
ファイル: LineChart.cs プロジェクト: Shupsta/Thrive
        public DatasetIcon(string name, LineChart chart, LineChartData data, bool isUsingFallbackIcon)
        {
            DataName            = name;
            this.chart          = chart;
            this.data           = data;
            IsUsingFallbackIcon = isUsingFallbackIcon;
            Expand          = true;
            RectMinSize     = new Vector2(18, 18);
            FocusMode       = FocusModeEnum.None;
            ToggleMode      = true;
            Pressed         = true;
            TextureNormal   = data.Icon;
            StretchMode     = StretchModeEnum.KeepAspectCentered;
            RectPivotOffset = RectMinSize / 2;

            // Set the default icon's color
            if (isUsingFallbackIcon)
            {
                Modulate = data.Colour;
            }

            Connect("mouse_entered", this, nameof(IconLegendMouseEnter));
            Connect("mouse_exited", this, nameof(IconLegendMouseExit));

            tween = new Tween();
            AddChild(tween);
        }
コード例 #4
0
ファイル: LineCharts.cs プロジェクト: gitgreencoder/Mandrill
        /// <summary>
        ///     Line Chart Data object.
        /// </summary>
        /// <param name="FilePath">CSV File Path.</param>
        /// <param name="Domain">Optional Domain for data set.</param>
        /// <returns name="Data">Line Chart Data</returns>
        /// <search>line, chart, data</search>
        public static LineChartData DataFromCSV(
            string FilePath,
            [DefaultArgumentAttribute("Charts.MiscNodes.GetNull()")] Domain Domain)
        {
            List <DataPoint1> dataPoints = new List <DataPoint1>();
            var csv   = new List <string[]>();
            var lines = File.ReadAllLines(FilePath);

            for (int i = 0; i < lines.Count(); i++)
            {
                string line = lines[i];
                if (i > 0)
                {
                    string dataName  = line.Split(',')[0];
                    double dataValue = Convert.ToDouble(line.Split(',')[1]);
                    dataPoints.Add(new DataPoint1 {
                        name = dataName, value = dataValue
                    });
                }
            }
            LineChartData lineData = new LineChartData();

            lineData.Data   = dataPoints;
            lineData.Domain = Domain;
            return(lineData);
        }
コード例 #5
0
        /// <summary>
        /// This is the method that actually does the work.
        /// </summary>
        /// <param name="DA">The DA object is used to retrieve from inputs and store in outputs.</param>
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            List <string> names  = new List <string>();
            List <double> values = new List <double>();

            D3jsLib.Domain domain = null;

            if (!DA.GetDataList <string>(0, names))
            {
                return;
            }
            if (!DA.GetDataList <double>(1, values))
            {
                return;
            }
            DA.GetData <D3jsLib.Domain>(2, ref domain);

            List <D3jsLib.DataPoint1> dataPoints = names.Zip(values, (x, y) => new D3jsLib.DataPoint1 {
                name = x, value = y
            }).ToList();
            LineChartData data = new LineChartData();

            data.Data   = new JavaScriptSerializer().Serialize(dataPoints);
            data.Domain = domain;

            DA.SetData(0, data);
        }
コード例 #6
0
        private void Update(MeasureValues[] ys)
        {
            float value = (float)ys[0].Value;
            float time  = (float)ys[1].Value;

            if (entries.Count > 1)
            {
                entries.RemoveRange(0, 1);
            }

            entries.Add(new EntryChart(time, value));
            dataSet = new LineDataSetXF(entries, Title)
            {
                Colors = new List <Color> {
                    Color.Green
                },
                CircleHoleColor = Color.Blue,
                CircleColors    = new List <Color> {
                    Color.Blue
                },
                CircleRadius = 4,
                DrawValues   = false,
            };

            data = new LineChartData(new List <ILineDataSetXF>()
            {
                dataSet
            });
            //chart.ChartData = data;
        }
        private void InitializeChart()
        {
            if (supportLineChart != null && supportLineChart.ChartData != null && lineChart != null)
            {
                SupportChart.OnInitializeChart(supportLineChart, lineChart);


                var data         = supportLineChart.ChartData;
                var dataSetItems = new List <LineChartDataSet>();

                foreach (var itemChild in data.IF_GetDataSet())
                {
                    var entryOriginal            = itemChild.IF_GetEntry().Select(item => new iOSCharts.ChartDataEntry(item.GetXPosition(), item.GetYPosition()));
                    LineChartDataSet lineDataSet = new LineChartDataSet(entryOriginal.ToArray(), itemChild.IF_GetTitle());
                    lineDataSet.SetColor(itemChild.IF_GetDataColor().ToUIColor());
                    lineDataSet.Mode               = (SupportChart.GetDrawLineMode(itemChild.IF_GetDrawMode()));
                    lineDataSet.CircleRadius       = itemChild.IF_GetCircleRadius();
                    lineDataSet.CircleHoleRadius   = itemChild.IF_GetCircleHoleRadius();
                    lineDataSet.DrawCirclesEnabled = (itemChild.IF_GetDrawCircle());
                    lineDataSet.DrawValuesEnabled  = (itemChild.IF_GetDrawValue());

                    var arrColor = itemChild.IF_GetCircleColors().Select(item => item.ToUIColor());
                    lineDataSet.SetCircleColor(itemChild.IF_GetCircleColor().ToUIColor());
                    dataSetItems.Add(lineDataSet);
                }

                LineChartData lineData = new LineChartData(dataSetItems.ToArray());
                lineChart.Data = lineData;
            }
        }
コード例 #8
0
        /// <summary>
        /// Przekształcenie danych o statystykach użytkownika na format wykresów
        /// </summary>
        /// <param name="data">Dane statystyczne</param>
        /// <returns>Dane w formacie dla wykresu Line Bar Chart</returns>
        public LineChartData GetSummaryTimeStatistics(IList <TimeStatistics> data)
        {
            var result = new LineChartData
            {
                Labels = data.Select(x => FormatHelper.DateFormat(x.Date)).ToList(),
                Data   = new List <SingleSerieData>
                {
                    new SingleSerieData
                    {
                        Label = MinTime,
                        Data  = data.Select(x => x.MinDuration).ToList()
                    },
                    new SingleSerieData
                    {
                        Label = AverageTime,
                        Data  = data.Select(x => x.AvgDuration).ToList()
                    },
                    new SingleSerieData
                    {
                        Label = MaxTime,
                        Data  = data.Select(x => x.MaxDuration).ToList()
                    }
                }
            };

            return(result);
        }
コード例 #9
0
    public override object Clone()
    {
        var result = new LineChartData();

        ClonePropertiesTo(result);

        result.LineWidth = LineWidth;

        return(result);
    }
コード例 #10
0
 public virtual VertexHelper DrawLineChart(VertexHelper vh, Rect vRect, LineChartData vBasis)
 {
     this.basis = vBasis;
     lines      = vBasis.Lines;
     this.rect  = vRect;
     size       = rect.size;
     origin     = new Vector2(-size.x / 2.0f, -size.y / 2.0f);
     vh         = DrawMesh(vh);
     vh         = DrawAxis(vh);
     return(vh);
 }
コード例 #11
0
 public override VertexHelper DrawLineChart(VertexHelper vh, Rect vRect, LineChartData VBasis)
 {
     vh = base.DrawLineChart(vh, vRect, VBasis);
     foreach (KeyValuePair <int, VertexStream> line in lines)
     {
         if (line.Value.vertexs.Count <= 1)
         {
             continue;
         }
         var        startPos   = GetPos(line.Value.vertexs[0]);
         UIVertex[] oldVertexs = new UIVertex[] { };
         for (int i = 1; i < line.Value.vertexs.Count; i++)
         {
             var   endPos      = GetPos(line.Value.vertexs[i]);
             var   startBottom = new Vector2(startPos.x, origin.y);
             var   endBottom   = new Vector2(endPos.x, origin.y);
             Color color       = new Color(line.Value.color.r, line.Value.color.g, line.Value.color.b, 0.6f);
             vh.AddUIVertexQuad(new UIVertex[]
             {
                 GetUIVertex(startBottom, line.Value.color),
                 GetUIVertex(startPos, color),
                 GetUIVertex(endPos, color),
                 GetUIVertex(endBottom, line.Value.color),
             });
             var newVertexs = GetQuad(startPos, endPos, Color.red, 1.0f);
             if (oldVertexs.Length.Equals(0))
             {
                 oldVertexs = newVertexs;
             }
             // 补足缺陷
             else
             {
                 vh.AddUIVertexQuad(new UIVertex[]
                 {
                     oldVertexs[1],
                     newVertexs[1],
                     oldVertexs[2],
                     newVertexs[0]
                 });
                 vh.AddUIVertexQuad(new UIVertex[]
                 {
                     newVertexs[0],
                     oldVertexs[1],
                     newVertexs[3],
                     oldVertexs[2]
                 });
                 oldVertexs = newVertexs;
             }
             vh.AddUIVertexQuad(newVertexs);
             startPos = endPos;
         }
     }
     return(vh);
 }
コード例 #12
0
        /// <summary>
        /// Gets the data for line chart.
        /// </summary>
        /// <returns></returns>
        public static LineChartData GetDataForLineChart()
        {
            LineChartData chartData = new LineChartData();

            chartData.columnNameToSeries.Add("Categories", new List <string>((new string[] { "Cat1", "Cat2", "Cat3", "Cat4", "Cat5", "Cat6", "Cat7", "Cat8", "Cat9" })));
            chartData.columnNameToSeries.Add("Events", new List <string>((new string[] { "10", "20", "30", "40", "50", "60", "70", "80", "90" })));
            chartData.columnNameToSeries.Add("Attendees", new List <string>((new string[] { "200", "250", "150", "170", "300", "140", "450", "50", "70" })));
            chartData.columnNameToSeries.Add("Courses", new List <string>((new string[] { "100", "250", "230", "220", "320", "140", "550", "150", "370" })));
            chartData.columnNameToSeries.Add("Feedback", new List <string>((new string[] { "10", "120", "30", "140", "50", "160", "17", "8", "90" })));

            return(chartData);
        }
コード例 #13
0
        private void GenYieldData(LineChartUnitType lineChartUnitType)
        {
            var okCounts = new Dictionary <string, int>();
            List <DateTimePair> dateTimePairs;
            var dateFormat = lineChartUnitType == LineChartUnitType.Day ? "yy-MM-dd" : "MM-dd-HH";

            // Gen line chart data measured by day
            if (lineChartUnitType == LineChartUnitType.Day)
            {
                // Partition timespan into bins by day
                var firstDay  = DatabaseBuffer.MinDate.Date;
                var lastDay   = (DatabaseBuffer.MaxDate.Date + TimeSpan.FromDays(1)).Date;
                var totalDays = (lastDay - firstDay).Days;
                dateTimePairs = DateTimeHelper.GetDateTimePairs(firstDay, lastDay, totalDays);
            }
            else
            {
                var firstHour  = DatabaseBuffer.MinDate.Date + TimeSpan.FromHours(DatabaseBuffer.MinDate.Hour);
                var lastHour   = DatabaseBuffer.MaxDate.Date + TimeSpan.FromHours(DatabaseBuffer.MaxDate.Hour + 1);
                var totalHours = (lastHour - firstHour).Hours;
                dateTimePairs = DateTimeHelper.GetDateTimePairs(firstHour, lastHour, totalHours);
            }

            foreach (var dateTimePair in dateTimePairs)
            {
                okCounts[dateTimePair.FromDateTime.ToString(dateFormat)] = 0;
            }

            foreach (var collection in DatabaseBuffer.FaiCollectionBuffers)
            {
                if (collection.Result == "OK")
                {
                    okCounts[collection.InspectionTime.ToString(dateFormat)]++;
                }
            }

            var yieldData = new Dictionary <string, double>();

            foreach (var key in okCounts.Keys)
            {
                var yieldNumber = okCounts[key] / ProductionSeriesData.Data[key] * 100;
                yieldData[key] = yieldNumber;
            }

            YieldSeriesData = new LineChartData()
            {
                Data     = yieldData,
                UnitType = lineChartUnitType
            };
        }
コード例 #14
0
ファイル: LineCharts.cs プロジェクト: gitgreencoder/Mandrill
        /// <summary>
        ///     Line Chart Data object.
        /// </summary>
        /// <param name="Names">Name property for each value.</param>
        /// <param name="Values">Numerical value.</param>
        /// <param name="Domain">Optional domain for data set.</param>
        /// <returns name="Data">Line Chart Data.</returns>
        /// <search>data</search>
        public static LineChartData Data(
            List <string> Names,
            List <double> Values,
            [DefaultArgument("Charts.MiscNodes.GetNull()")] Domain Domain)
        {
            List <DataPoint1> dataPoints = Names.Zip(Values, (x, y) => new DataPoint1 {
                name = x, value = y
            }).ToList();
            LineChartData lineData = new LineChartData();

            lineData.Data   = dataPoints;
            lineData.Domain = Domain;
            return(lineData);
        }
コード例 #15
0
        /// <summary>
        /// Przekształcenie szczegółowych statystyk słownika
        /// </summary>
        /// <param name="data">Szczegółowe statystyki słownika</param>
        /// <returns>Dane w formacie dla wykresu Line Chart</returns>
        public LineChartData GetDetailsStatisticsForDictionary(IList <TranslationStatistics> data)
        {
            var result = new LineChartData
            {
                Labels = data.Select(x => x.Word).ToList(),
                Data   = new List <SingleSerieData>
                {
                    new SingleSerieData
                    {
                        Label = WordName,
                        Data  = data.Select(x => x.ProcentOfCorrectAnswers).ToList()
                    }
                }
            };

            return(result);
        }
コード例 #16
0
        /// <summary>
        /// This is the method that actually does the work.
        /// </summary>
        /// <param name="DA">The DA object is used to retrieve from inputs and store in outputs.</param>
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            LineChartData  data  = null;
            LineChartStyle style = null;

            if (!DA.GetData <LineChartData>(0, ref data))
            {
                return;
            }
            if (!DA.GetData <LineChartStyle>(1, ref style))
            {
                return;
            }

            d3LineChart chart = new d3LineChart(data, style);

            DA.SetData(0, chart);
        }
コード例 #17
0
ファイル: LineChart.cs プロジェクト: Shupsta/Thrive
        public DataLine(LineChartData data, bool isDefault, float widthMultiplier = 1)
        {
            this.data = data;
            Default   = isDefault;

            Width        = data.LineWidth * widthMultiplier;
            DefaultColor = data.Colour;
            dataColour   = data.Colour;
            Texture      = GD.Load <Texture>("res://assets/textures/gui/bevel/line.png");
            TextureMode  = LineTextureMode.Stretch;

            tween = new Tween();
            AddChild(tween);

            // Antialiasing is turned off as it's a bit unreliable currently.
            // In the meantime we use a workaround by assigning a texture with transparent 1-pixel border
            // on top and bottom to emulate some antialiasing.
        }
コード例 #18
0
        public string ZhuJiangNewTownInOutPassengerFlow()
        {
            var data = new LineChartData[]
            {
                new LineChartData
                {
                    Name       = "进站",
                    DataModels = GeneratePassengerFlow().Where(dic => dic.Key <= DateTime.Now).Select(dic => new DateValueModel(dic.Key, dic.Value))
                },
                new LineChartData
                {
                    Name       = "出站",
                    DataModels = GeneratePassengerFlow().Where(dic => dic.Key <= DateTime.Now).Select(dic => new DateValueModel(dic.Key, dic.Value))
                },
            };

            return(JsonConvert.SerializeObject(data));
        }
コード例 #19
0
        private LineChartUnitType GenProductivityData()
        {
// Determine unit type of line chart
            var lineChartUnitType = DatabaseBuffer.TotalDays >= 1 ? LineChartUnitType.Day : LineChartUnitType.Hour;
            List <DateTimePair> dateTimePairs;
            var dateFormat = lineChartUnitType == LineChartUnitType.Day ? "yy-MM-dd" : "MM-dd-HH";
            var bins       = new Dictionary <string, double>();


            // Gen line chart data measured by day
            if (lineChartUnitType == LineChartUnitType.Day)
            {
                // Partition timespan into bins by day
                var firstDay  = DatabaseBuffer.MinDate.Date;
                var lastDay   = (DatabaseBuffer.MaxDate.Date + TimeSpan.FromDays(1)).Date;
                var totalDays = (lastDay - firstDay).Days;
                dateTimePairs = DateTimeHelper.GetDateTimePairs(firstDay, lastDay, totalDays);
            }
            else
            {
                var firstHour  = DatabaseBuffer.MinDate.Date + TimeSpan.FromHours(DatabaseBuffer.MinDate.Hour);
                var lastHour   = DatabaseBuffer.MaxDate.Date + TimeSpan.FromHours(DatabaseBuffer.MaxDate.Hour + 1);
                var totalHours = (lastHour - firstHour).Hours;
                dateTimePairs = DateTimeHelper.GetDateTimePairs(firstHour, lastHour, totalHours);
            }

            foreach (var dateTimePair in dateTimePairs)
            {
                bins[dateTimePair.FromDateTime.ToString(dateFormat)] = 0;
            }

            foreach (var collection in DatabaseBuffer.FaiCollectionBuffers)
            {
                bins[collection.InspectionTime.ToString(dateFormat)]++;
            }

            ProductionSeriesData = new LineChartData()
            {
                Data     = bins,
                UnitType = lineChartUnitType
            };

            return(lineChartUnitType);
        }
コード例 #20
0
        /// <summary>
        /// This is the method that actually does the work.
        /// </summary>
        /// <param name="DA">The DA object is used to retrieve from inputs and store in outputs.</param>
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            string filePath = null;

            D3jsLib.Domain domain = null;

            if (!DA.GetData <string>(0, ref filePath))
            {
                return;
            }
            DA.GetData <D3jsLib.Domain>(1, ref domain);

            LineChartData data = new LineChartData();

            data.Data   = new JavaScriptSerializer().Serialize(ChartsUtilities.Data1FromCSV(filePath));
            data.Domain = domain;

            DA.SetData(0, data);
        }
コード例 #21
0
ファイル: LineChart1.cs プロジェクト: hafewa/WeChatSimulator
 public override VertexHelper DrawLineChart(VertexHelper vh, Rect vRect, LineChartData VBasis)
 {
     vh = base.DrawLineChart(vh, vRect, VBasis);
     foreach (KeyValuePair <int, VertexStream> line in lines)
     {
         if (line.Value.vertexs.Count <= 1)
         {
             continue;
         }
         var        startPos   = GetPos(line.Value.vertexs[0]);
         UIVertex[] oldVertexs = new UIVertex[] { };
         for (int i = 1; i < line.Value.vertexs.Count; i++)
         {
             var endPos     = GetPos(line.Value.vertexs[i]);
             var newVertexs = GetQuad(startPos, endPos, line.Value.color);
             if (oldVertexs.Length.Equals(0))
             {
                 oldVertexs = newVertexs;
             }
             else
             {
                 vh.AddUIVertexQuad(new UIVertex[]
                 {
                     oldVertexs[1],
                     newVertexs[1],
                     oldVertexs[2],
                     newVertexs[0]
                 });
                 vh.AddUIVertexQuad(new UIVertex[]
                 {
                     newVertexs[0],
                     oldVertexs[1],
                     newVertexs[3],
                     oldVertexs[2]
                 });
                 oldVertexs = newVertexs;
             }
             vh.AddUIVertexQuad(newVertexs);
             startPos = endPos;
         }
     }
     return(vh);
 }
コード例 #22
0
        protected override void ProcessRecord()
        {
            var data = new LineChartData
            {
                Legend = Legend,
                Color  = Color
            };

            if (Points != null)
            {
                foreach (var point in Points)
                {
                    data.Points.Add(point);
                }
            }

            SetControlProps(data);

            WriteObject(data);
        }
コード例 #23
0
        void Initialize()
        {
            BackgroundColor = UIColor.Red;
            lcv             = new LineChartView();

            ChartDataEntry[] cde       = new ChartDataEntry[10];
            string           labelName = "";

            LineChartDataSet lcds = new LineChartDataSet(cde, labelName);

            LineChartData lcd = new LineChartData();

            lcd.AddDataSet(lcds);

            lcv.Add(this);
            lcv.Data = lcd;



            lcv.SetNeedsDisplay();
        }
コード例 #24
0
        public void LoadLineChart()
        {
            if (LineChartData == null)
            {
                LineChartData = new SeriesCollection();
            }
            LineChartData.Clear();
            if (topic == 3)
            {
                View.yAxis.Title = "עלות כספית";
            }
            else
            {
                View.yAxis.Title = "כמויות";
            }

            ChartValues <double> chartValues = new ChartValues <double>();

            Labels = new ObservableCollection <string>();

            foreach (var n in slice)
            {
                chartValues.Add(n.Value);
            }

            LineChartData.Add
            (
                new LineSeries
            {
                Values = chartValues,
                Title  = " "
            }
            );

            foreach (var n in slice)
            {
                Labels.Add(n.Key);
            }
            YFormatter = value => value.ToString();
        }
コード例 #25
0
        /// <summary>
        /// Przekształcenie danych o statystykach użytkownika na format wykresów
        /// </summary>
        /// <param name="data">Dane statystyczne</param>
        /// <returns>Dane w formacie dla wykresu Line Bar Chart</returns>
        public LineChartData GetSummaryStatistics(IList <Statistics> data)
        {
            var result = new LineChartData
            {
                Labels = data.Select(x => FormatHelper.DateFormat(x.Date)).ToList(),
                Data   = new List <SingleSerieData>
                {
                    new SingleSerieData
                    {
                        Label = NumberOfCorrectAnswers,
                        Data  = data.Select(x => x.CorrectAnswers).ToList()
                    },
                    new SingleSerieData
                    {
                        Label = NumberOfWrongAnswers,
                        Data  = data.Select(x => x.WrongAnswers).ToList()
                    }
                }
            };

            return(result);
        }
コード例 #26
0
        /// <summary>
        ///     Line Chart Data object.
        /// </summary>
        /// <param name="FilePath">CSV File Path.</param>
        /// <param name="Domain">Optional Domain for data set.</param>
        /// <returns name="Data">Line Chart Data</returns>
        /// <search>line, chart, data</search>
        public static LineChartData DataFromCSV(
            object FilePath,
            [DefaultArgumentAttribute("Charts.MiscNodes.GetNull()")] Domain Domain)
        {
            // get full path to file as string
            // if File.FromPath is used it returns FileInfo class
            string _filePath = "";

            try
            {
                _filePath = (string)FilePath;
            }
            catch
            {
                _filePath = ((FileInfo)FilePath).FullName;
            }

            LineChartData lineData = new LineChartData();

            lineData.Data   = new JavaScriptSerializer().Serialize(ChartsUtilities.Data1FromCSV(_filePath));
            lineData.Domain = Domain;
            return(lineData);
        }
コード例 #27
0
        public LineChartPage()
        {
            InitializeComponent();

            var entries  = new List <EntryChart>();
            var entries2 = new List <EntryChart>();
            var labels   = new List <string>();

            var random = new Random();

            for (int i = 0; i < 7; i++)
            {
                entries.Add(new EntryChart(i, random.Next(1000, 50000)));
                entries2.Add(new EntryChart(i, random.Next(1000, 50000)));
                labels.Add("Entry" + i);
            }

            var FontFamily = "";

            switch (Device.RuntimePlatform)
            {
            case Device.iOS:
                FontFamily = "Pacifico-Regular";
                break;

            case Device.Android:
                FontFamily = "Fonts/Pacifico-Regular.ttf";
                break;

            default:
                break;
            }
            var dataSet4 = new LineDataSetXF(entries, "Line DataSet 1")
            {
                CircleRadius     = 10,
                CircleHoleRadius = 4f,
                CircleColors     = new List <Color>()
                {
                    Color.Accent, Color.Red, Color.Bisque, Color.Gray, Color.Green, Color.Chocolate, Color.Black
                },
                CircleHoleColor = Color.Green,
                ValueColors     = new List <Color>()
                {
                    Color.Accent, Color.Red, Color.Bisque, Color.Gray, Color.Green, Color.Chocolate, Color.Black
                },
                Mode            = LineDataSetMode.CUBIC_BEZIER,
                ValueFormatter  = new CustomDataSetValueFormatter(),
                ValueFontFamily = FontFamily
            };

            Xamarin.Forms.OnPlatform <string> onPlatform = (Xamarin.Forms.OnPlatform <string>)Application.Current.Resources["PacificoRegular"];
            var xxx = onPlatform.Default;

            var dataSet5 = new LineDataSetXF(entries2, "Line DataSet 2")
            {
                Colors = new List <Color> {
                    Color.Green
                },
                CircleHoleColor = Color.Blue,
                CircleColors    = new List <Color> {
                    Color.Blue
                },
                CircleRadius = 3,
                DrawValues   = false,
            };

            var data4 = new LineChartData(new List <ILineDataSetXF>()
            {
                dataSet4, dataSet5
            });

            chart.ChartData              = data4;
            chart.DescriptionChart.Text  = "Test label chart description";
            chart.AxisLeft.DrawGridLines = false;
            chart.AxisLeft.DrawAxisLine  = true;
            chart.AxisLeft.Enabled       = true;

            chart.AxisRight.DrawAxisLine  = false;
            chart.AxisRight.DrawGridLines = false;
            chart.AxisRight.Enabled       = false;

            chart.AxisRight.FontFamily = FontFamily;
            chart.AxisLeft.FontFamily  = FontFamily;
            chart.XAxis.FontFamily     = FontFamily;

            chart.XAxis.XAXISPosition      = XAXISPosition.BOTTOM;
            chart.XAxis.DrawGridLines      = false;
            chart.XAxis.AxisValueFormatter = new TextByIndexXAxisFormatter(labels);
            chart.AnimationX = new AnimatorXF()
            {
                Duration   = 1000,
                EasingType = EasingOptionXF.EaseOutCirc
            };
        }
コード例 #28
0
        public ActionResult GetInventoryGroupJson()
        {
            string[] month     = new string[12];
            string[] inWeight  = new string[12];
            string[] outWeight = new string[12];

            string inGroupSql  = @"
                select 
	                top 12 sum(Weight) Weight, cast(year(F_CreatorTime) as varchar(4))+'-'+right('00' +cast(month(F_CreatorTime) as varchar(2)),2) Date 
                from Inventory 
                group by year(F_CreatorTime),month(F_CreatorTime) order by year(F_CreatorTime) desc,month(F_CreatorTime) desc";
            string outGroupSql = @"
                select 
	                top 12 sum(Weight) Weight, cast(year(F_CreatorTime) as varchar(4))+'-'+right('00' +cast(month(F_CreatorTime) as varchar(2)),2) Date 
                from InventoryOut 
                group by year(F_CreatorTime),month(F_CreatorTime) order by year(F_CreatorTime) desc,month(F_CreatorTime) desc";

            DataView inGroup  = DbHelper.ExecuteToDataView(inGroupSql);
            DataView outGroup = DbHelper.ExecuteToDataView(outGroupSql);

            for (int i = 0; i < 12; i++)
            {
                month[i] = DateTime.Now.AddMonths(i - 11).ToString("yyyy-MM");
                foreach (DataRowView drv in inGroup)
                {
                    if (month[i] == Convert.ToString(drv["Date"]))
                    {
                        inWeight[i] = Convert.ToString(drv["Weight"]);
                    }
                    else
                    {
                        if (string.IsNullOrEmpty(inWeight[i]))
                        {
                            inWeight[i] = "0";
                        }
                    }
                }
                foreach (DataRowView drv in outGroup)
                {
                    if (month[i] == Convert.ToString(drv["Date"]))
                    {
                        outWeight[i] = Convert.ToString(drv["Weight"]);
                    }
                    else
                    {
                        if (string.IsNullOrEmpty(outWeight[i]))
                        {
                            outWeight[i] = "0";
                        }
                    }
                }
            }

            LineChartDataSet lineChartDataSet1 = new LineChartDataSet()
            {
                value                = "入库",
                fillColor            = "rgba(220,220,220,0.2)",
                strokeColor          = "rgba(220,220,220,1)",
                pointColor           = "rgba(220,220,220,1)",
                pointStrokeColor     = "#fff",
                pointHighlightFill   = "#fff",
                pointHighlightStroke = "rgba(220,220,220,1)",
                data = inWeight
            };

            LineChartDataSet lineChartDataSet2 = new LineChartDataSet()
            {
                value                = "出库",
                fillColor            = "rgba(151,187,205,0.2)",
                strokeColor          = "rgba(151,187,205,1)",
                pointColor           = "rgba(151,187,205,1)",
                pointStrokeColor     = "#fff",
                pointHighlightFill   = "#fff",
                pointHighlightStroke = "rgba(151,187,205,1)",
                data = outWeight
            };

            LineChartData lineChartData = new LineChartData()
            {
                labels = month
            };

            lineChartData.datasets.Add(lineChartDataSet1);
            lineChartData.datasets.Add(lineChartDataSet2);

            return(Content(lineChartData.ToJson()));
        }
コード例 #29
0
        protected override void OnAppearing()
        {
            base.OnAppearing();
            var entrieLine = new List <EntryChart>();
            var entries    = new List <BubbleEntry>();
            var entries2   = new List <BubbleEntry>();
            var labels     = new List <string>();

            Random random = new Random();


            for (int i = 0; i < 8; i++)
            {
                entrieLine.Add(new EntryChart(i, random.Next(20)));
                entries.Add(new BubbleEntry(i, random.Next(8), random.Next(20)));
                entries2.Add(new BubbleEntry(i, random.Next(8), random.Next(20)));
                labels.Add("Entry" + i);
            }

            var entriesCandle = new List <CandleStickEntry>();

            entriesCandle.Add(new CandleStickEntry(0, 4.62f, 2.02f, 2.70f, 4.13f));
            entriesCandle.Add(new CandleStickEntry(1, 5.50f, 2.70f, 3.35f, 4.96f));
            entriesCandle.Add(new CandleStickEntry(2, 5.25f, 3.02f, 3.50f, 4.50f));
            entriesCandle.Add(new CandleStickEntry(3, 6f, 3.25f, 4.40f, 5.0f));
            entriesCandle.Add(new CandleStickEntry(4, 5.57f, 2f, 2.80f, 4.5f));

            var dataSetBubble = new BubbleDataSet(entries, "Bubble DataSet 1")
            {
                Colors = new List <Color>()
                {
                    Color.Accent, Color.Azure, Color.Bisque, Color.Gray, Color.Green, Color.Chocolate, Color.Black
                },
            };
            var dataBubble = new BubbleChartData(new List <IBubbleDataSet>()
            {
                dataSetBubble
            });


            var dataSetCandle = new CandleStickDataSet(entriesCandle, "Candle Stick DataSet 1")
            {
                DecreasingColor = Color.Red,
                IncreasingColor = Color.Green
            };
            var dataCandle = new CandleStickChartData(new List <ICandleStickDataSet>()
            {
                dataSetCandle
            });


            var dataSetLine = new LineDataSetXF(entrieLine, "Line DataSet 1")
            {
                CircleRadius     = 10,
                CircleHoleRadius = 4f,
                CircleColors     = new List <Color>()
                {
                    Color.Accent, Color.Azure, Color.Bisque, Color.Gray, Color.Green, Color.Chocolate, Color.Black
                },
                CircleHoleColor = Color.Green,
                Mode            = LineDataSetMode.CUBIC_BEZIER
            };
            var dataLine = new LineChartData(new List <ILineDataSetXF>()
            {
                dataSetLine
            });


            var dataSetbar = new BarDataSet(entrieLine, "Bar DataSet 1")
            {
                Colors = new List <Color>()
                {
                    Color.Accent, Color.Azure, Color.Bisque, Color.Gray, Color.Green, Color.Chocolate, Color.Black
                },
            };
            var dataBar = new BarChartData(new List <IBarDataSet>()
            {
                dataSetbar
            });

            var combinData = new CombinedChartData(null);

            combinData.BubbleChartData      = dataBubble;
            combinData.CandleStickChartData = dataCandle;
            combinData.LineChartData        = dataLine;
            combinData.BarChartData         = dataBar;
            chart.ChartData = combinData;
            chart.XAxis.AxisValueFormatter = new TextByIndexXAxisFormatter(labels);
        }
 protected void ASPxGridView1_DataBinding(object sender, EventArgs e)
 {
     ASPxGridView1.DataSource = LineChartData.GetData();
 }