IEnumerator InitChart()
        {
            chart = gameObject.GetComponent <LineChart>();
            if (chart == null)
            {
                gameObject.AddComponent <LineChart>();
            }

            chart.GetChartComponent <Title>().show = true;
            chart.GetChartComponent <Title>().text = "术语解析-组件";

            var grid = chart.GetOrAddChartComponent <GridCoord>();

            grid.bottom = 30;
            grid.right  = 30;
            grid.left   = 50;
            grid.top    = 80;

            chart.RemoveChartComponent <VisualMap>();

            chart.RemoveData();

            chart.AddSerie <Bar>("Bar");
            chart.AddSerie <Line>("Line");

            for (int i = 0; i < 8; i++)
            {
                chart.AddXAxisData("x" + (i + 1));
                chart.AddData(0, Random.Range(10, 100));
                chart.AddData(1, Random.Range(30, 100));
            }
            yield return(null);
        }
        IEnumerator AddSimpleLine()
        {
            chart = gameObject.GetComponent <LineChart>();
            if (chart == null)
            {
                chart = gameObject.AddComponent <LineChart>();
            }
            chart.GetChartComponent <Title>().text    = "LineChart - 折线图";
            chart.GetChartComponent <Title>().subText = "普通折线图";

            var yAxis = chart.GetChartComponent <YAxis>();

            yAxis.minMaxType = Axis.AxisMinMaxType.Custom;
            yAxis.min        = 0;
            yAxis.max        = 100;

            chart.RemoveData();
            serie = chart.AddSerie <Line>("Line");

            for (int i = 0; i < m_DataNum; i++)
            {
                chart.AddXAxisData("x" + (i + 1));
                chart.AddData(0, UnityEngine.Random.Range(30, 90));
            }
            yield return(new WaitForSeconds(1));
        }
Example #3
0
        IEnumerator InitChart()
        {
            chart = gameObject.GetComponent <LineChart>();
            if (chart == null)
            {
                gameObject.AddComponent <LineChart>();
            }

            chart.title.show  = true;
            chart.title.text  = "术语解析-组件";
            chart.grid.bottom = 30;
            chart.grid.right  = 30;
            chart.grid.left   = 50;
            chart.grid.top    = 80;

            chart.dataZoom.enable  = false;
            chart.visualMap.enable = false;

            chart.RemoveData();

            chart.AddSerie(SerieType.Bar, "Bar");
            chart.AddSerie(SerieType.Line, "Line");

            for (int i = 0; i < 8; i++)
            {
                chart.AddXAxisData("x" + (i + 1));
                chart.AddData(0, Random.Range(10, 100));
                chart.AddData(1, Random.Range(30, 100));
            }
            yield return(null);
        }
 void AddData()
 {
     chart.series.list[0].ClearData();
     chart.series.list[1].ClearData();
     for (int i = 0; i < 5; i++)
     {
         chart.AddData(0, Random.Range(20, 100));
         chart.AddData(1, Random.Range(1, 10));
     }
 }
Example #5
0
    public void GatherSimulationData()
    {
        var uninfected = 0;
        var sick       = 0;
        var dead       = 0;
        var recovered  = 0;

        for (int i = 0; i < _spawnerRef.Persons.Count; i++)
        {
            var p = _spawnerRef.Persons[i];
            if (p.isDead)
            {
                dead += 1;
                continue;
            }

            if (p.isImmune)
            {
                recovered += 1;
                continue;
            }

            if (p.isInfected)
            {
                sick += 1;
                continue;
            }

            uninfected += 1;
        }
        var data = new float[] { uninfected / (float)_spawnerRef.Persons.Count, sick / (float)_spawnerRef.Persons.Count, dead / (float)_spawnerRef.Persons.Count, recovered / (float)_spawnerRef.Persons.Count };

        Debug.Log($"[{data[0]},{data[1]},{data[2]},{data[3]}]");


        chart.AddData(0, sick);
        chart.AddData(1, recovered);
        chart.AddData(2, dead);

        for (int i = 0; i < _dataChains.Length; i++)
        {
            if (_dataChains[i].Length == 0)
            {
                _dataChains[i].Append($"[{(data[i]*100f).ToString(CultureInfo.InvariantCulture)}]");
            }
            else
            {
                _dataChains[i].Remove(_dataChains[i].Length - 1, 1); // cut closing bracket
                _dataChains[i].Append("," + (data[i] * 100f).ToString(CultureInfo.InvariantCulture) + "]");
            }
        }

        _webBridgeRef.EmitData("pop_data", DataChainsToJS());
    }
Example #6
0
    // Start is called before the first frame update
    void Start()
    {
        string name1 = "test";
        string name2 = "test2";

        LineChart chart = GetComponent <LineChart>();

        chart.title.show = true;
        chart.title.text = "Line Text";

        chart.tooltip.show = true;

        chart.legend.show = true;
        chart.legend.data.Clear();
        chart.legend.data.Add(name1);
        chart.legend.data.Add(name2);

        chart.xAxises[0].show = true;
        chart.xAxises[1].show = false;
        chart.yAxises[0].show = true;
        chart.yAxises[1].show = false;

        chart.xAxises[0].type = Axis.AxisType.Value;
        chart.yAxises[0].type = Axis.AxisType.Category;


        int[] data1 = { 10, 20, 30, 10, 50 };
        int[] data2 = { 50, 60, 10, 50, 10 };
        chart.xAxises[0].splitNumber = data1.Length;

        chart.RemoveData();

        for (int i = 0; i < data1.Length; i++)
        {
            chart.AddYAxisData(i.ToString());
        }

        chart.AddSerie(name1, SerieType.Line);
        chart.AddSerie(name2, SerieType.Line);

        foreach (int i in data1)
        {
            chart.AddData(name1, i);
        }

        foreach (int i in data2)
        {
            chart.AddData(name2, i);
        }
    }
Example #7
0
 void Update()
 {
     if (Input.GetKeyDown(KeyCode.Space))
     {
         //AddData();
     }
     if (Time.time - m_LastTime > 0.1f)
     {
         timestamp += 3600;
         m_Value   += 10;
         chart.AddData(0, timestamp, m_Value);
         m_LastTime = Time.time;
     }
 }
Example #8
0
    private void setExperimentalData()
    {
        var hg1s = chart.AddSerie("Hg1-实验", SerieType.Line);
        var hg2s = chart.AddSerie("Hg2-实验", SerieType.Line);

        hg2s.symbol.size = 15;
        hg1s.symbol.size = 15;
        hg1s.symbol.type = SerieSymbolType.Circle;
        hg2s.symbol.type = SerieSymbolType.Rect;
        for (int i = 0; i < hg1.Count; i++)
        {
            chart.AddData(hg1s.index, i, (float)hg1[i]);
            chart.AddData(hg2s.index, i, (float)hg2[i]);
        }
    }
Example #9
0
 void Update()
 {
     frameCount++;
     if (initCount < m_MaxCacheDataNumber)
     {
         for (int i = 0; i < 10; i++)
         {
             initCount++;
             if (initCount > m_MaxCacheDataNumber)
             {
                 break;
             }
             AddOneData();
         }
     }
     if (Time.realtimeSinceStartup - lastTime >= INTERVAL)
     {
         fps        = frameCount / (Time.realtimeSinceStartup - lastTime);
         frameCount = 0;
         lastTime   = Time.realtimeSinceStartup;
         fpsChart.AddData(0, fps);
         fpsChart.AddXAxisData(Time.frameCount.ToString());
         fpsText.text = string.Format("FPS:{0:f1}", fps);
         if (initCount >= m_MaxCacheDataNumber)
         {
             AddOneData();
             initCount++;
         }
     }
 }
 public void AddData(Point value, int generation)
 {
     if (generation % ActualStep == 0 || value.Y == 100)
     {
         lineChart.AddData(0, new Point[] { value });
         lineChart.Update();
     }
 }
Example #11
0
        public void AddOneData()
        {
            lineChart.title.text = "Mean Density in " + initCount + " layer";
            var yvalue = _cellLayer.Density;

            lineChart.AddData(0, yvalue);
            lineChart.AddXAxisData(initCount.ToString());
        }
Example #12
0
        void AddData()
        {
            chart.ClearData();
            int count = Random.Range(5, 100);

            for (int i = 0; i < count; i++)
            {
                (chart as CoordinateChart).AddXAxisData("x" + i);
                if (Random.Range(1, 3) == 2)
                {
                    chart.AddData(0, Random.Range(-110, 200));
                }
                else
                {
                    chart.AddData(0, Random.Range(-100, 100));
                }
            }
        }
 void OnTestBtn()
 {
     object[][] m_TestData = new object[][] {
         new object[] { "01/06/20", 2.2d, 5.6d },
         new object[] { "22/06/20", 2.4d, 5.3d },
         new object[] { "04/08/21", 4.5d, 5.4d },
         new object[] { "05/08/21", 6.3d, 6.4d },
         new object[] { "06/08/21", 3.1d, 6.4d },
         new object[] { "09/08/21", 3.9d, 6.3d },
         new object[] { "10/08/21", 1.9d, 4.6d },
     };
     chart.ClearData();
     foreach (var list in m_TestData)
     {
         chart.AddXAxisData((string)list[0]);
         chart.AddData(0, (double)list[1]);
         chart.AddData(1, (double)list[2]);
     }
 }
Example #14
0
        void Update()
        {
            if (angle > 3000)
            {
                return;
            }
            angle++;
            float xvalue = Mathf.PI / 180 * angle;
            float yvalue = Mathf.Sin(xvalue);

            chart.AddData(0, xvalue, yvalue);
        }
Example #15
0
    public void LoadData(FrameCollection <SingleValueFrame> data)
    {
        float time = 0;

        for (int i = 0; i < data.Frames.Length; i++)
        {
            _lineChart.AddData(0, time, data.Frames[i].Value);
            _lineChart.AddXAxisData(DateTimeHelper.GetTimelineLabelFromTime(time));
            time = data.Frames[i].Timestamp;
        }
        _lineChart.RefreshChart();
    }
Example #16
0
            //for chart
            public void AddOneData()
            {
                CellLayer[] layers       = _modelManager.Stack.Layers;
                int         currentLayer = _modelManager.CurrentLayer;

                var yvalue = layers[currentLayer].Density;

                if (currentLayer <= 89)
                {
                    lineChart.AddData(0, yvalue);
                    lineChart.AddXAxisData((currentLayer + 1).ToString());
                }
            }
        async Task AddNewVerticalLineData()
        {
            foreach (var dataset in verticalLineChart.Data.Datasets)
            {
                await verticalLineChart.AddData(verticalLineChart.Data.Datasets.IndexOf(dataset), new LiveDataPoint
                {
                    X = RandomScalingFactor(),
                    Y = DateTime.Now,
                });
            }

            await verticalLineChart.Update();
        }
Example #18
0
        void Awake()
        {
            chart = gameObject.GetComponent <LineChart>();
            if (chart == null)
            {
                chart = gameObject.AddComponent <LineChart>();
            }
            chart.GetChartComponent <Title>().show = true;
            chart.GetChartComponent <Title>().text = "Sin Curve";

            chart.GetChartComponent <Tooltip>().show = true;
            chart.GetChartComponent <Legend>().show  = false;

            var xAxis = chart.GetChartComponent <XAxis>();
            var yAxis = chart.GetChartComponent <YAxis>();

            xAxis.show = true;
            yAxis.show = true;

            xAxis.type = Axis.AxisType.Value;
            yAxis.type = Axis.AxisType.Value;

            xAxis.boundaryGap        = false;
            xAxis.maxCache           = 0;
            chart.series[0].maxCache = 0;

            chart.RemoveData();

            var serie = chart.AddSerie <Line>();

            serie.symbol.show = false;
            serie.lineType    = LineType.Normal;
            for (angle = 0; angle < 1080; angle++)
            {
                float xvalue = Mathf.PI / 180 * angle;
                float yvalue = Mathf.Sin(xvalue);
                chart.AddData(0, xvalue, yvalue);
            }
        }
        async Task AddNewHorizontalLineData()
        {
            foreach (var dataset in horizontalLineChart.Data.Datasets)
            {
                await horizontalLineChart.AddData(horizontalLineChart.Data.Datasets.IndexOf(dataset), new LiveDataPoint
                {
                    X = DateTime.Now,
                    Y = RandomScalingFactor(),
                });
            }

            await horizontalLineChart.Update();
        }
        void Awake()
        {
            chart = gameObject.GetComponent <LineChart>();
            if (chart == null)
            {
                chart = gameObject.AddComponent <LineChart>();
            }
            chart.title.show = true;
            chart.title.text = "Sin Curve";

            chart.tooltip.show = true;
            chart.legend.show  = false;

            chart.xAxes[0].show = true;
            chart.xAxes[1].show = false;
            chart.yAxes[0].show = true;
            chart.yAxes[1].show = false;

            chart.xAxes[0].type = Axis.AxisType.Value;
            chart.yAxes[0].type = Axis.AxisType.Value;

            chart.xAxes[0].boundaryGap    = false;
            chart.xAxes[0].maxCache       = 0;
            chart.series.list[0].maxCache = 0;

            chart.RemoveData();

            var serie = chart.AddSerie(SerieType.Line);

            serie.symbol.show = false;
            serie.lineType    = LineType.Normal;
            for (angle = 0; angle < 1080; angle++)
            {
                float xvalue = Mathf.PI / 180 * angle;
                float yvalue = Mathf.Sin(xvalue);
                chart.AddData(0, xvalue, yvalue);
            }
        }
Example #21
0
        void AddOneData()
        {
            lineChart.title.text = initCount + "数据";
            barChart.title.text  = initCount + "数据";
            timeNow = timeNow.AddSeconds(1);
            string category = timeNow.ToString("hh:mm:ss");
            float  xvalue   = Mathf.PI / 180 * initCount;
            float  yvalue   = 15 + Mathf.Sin(xvalue) * 2;

            lineChart.AddData(0, yvalue);
            lineChart.AddXAxisData(category);
            barChart.AddData(0, yvalue);
            barChart.AddXAxisData(category);
        }
Example #22
0
    /// <summary>
    /// ワードごとの KPS 折れ線表示
    /// </summary>
    /// <param name="wordNum">ワード番号(0-index)</param>
    private void SetWordKPSChart(int wordNum)
    {
        KPSLineChart.RemoveData();
        KPSLineChart.AddSerie(SerieType.Line);
        var perf      = TypingSoft.Performance;
        var yVal      = TypingSoft.Performance.GetKPSList(wordNum);
        var typedText = perf.GetTypedSentence(wordNum);

        KPSLineChart.xAxis0.splitNumber = typedText.Length;
        KPSLineChart.xAxis0.boundaryGap = false;

        for (int i = 0; i < typedText.Length; ++i)
        {
            KPSLineChart.AddXAxisData(typedText[i].ToString());
            if (i == 0)
            {
                KPSLineChart.AddData(0, 0);
            }
            else
            {
                KPSLineChart.AddData(0, yVal[i - 1]);
            }
        }
    }
Example #23
0
    /// <summary>
    /// Update the API fps.
    /// </summary>
    public void TriggerAPICallbackFPS()
    {
        float now = Time.realtimeSinceStartup;
        float dt  = now - lastApiTime;

        lastApiTime = now;
        if (dt < float.Epsilon)
        {
            return;
        }
        if (apiChart != null)
        {
            apiChart.AddData(10 * dt);
        }
        apiFPS = (apiFPS * fpsSmoothing) + ((1.0f - fpsSmoothing) / dt);
    }
Example #24
0
 /// <summary>
 /// Update the fps calculation.
 /// </summary>
 public void TriggerUpdateFPS()
 {
     if (isApiFailCheckingStarted)
     {
         float now = Time.realtimeSinceStartup;
         float dt  = now - lastUpdateTime;
         lastUpdateTime = now;
         if (dt < float.Epsilon)
         {
             return;
         }
         if (renderChart != null)
         {
             renderChart.AddData(10 * dt);
         }
         updateFPS = (updateFPS * fpsSmoothing) + ((1.0f - fpsSmoothing) / dt);
     }
 }
    void Awake()
    {
        chart = gameObject.GetComponent <LineChart>();
        if (chart != null)
        {
            GameObject.DestroyImmediate(chart);
        }
        chart            = gameObject.AddComponent <LineChart>();
        chart.title.show = true;
        chart.title.text = "Sin Curve";

        chart.tooltip.show = true;
        chart.legend.show  = false;

        chart.xAxises[0].show = true;
        chart.xAxises[1].show = false;
        chart.yAxises[0].show = true;
        chart.yAxises[1].show = false;

        chart.xAxises[0].type = Axis.AxisType.Value;
        chart.yAxises[0].type = Axis.AxisType.Value;

        chart.xAxises[0].boundaryGap = false;
        chart.maxCacheDataNumber     = 0;

        chart.line.step   = false;
        chart.line.smooth = false;
        chart.line.area   = false;

        chart.RemoveData();

        var serie = chart.AddSerie("test", SerieType.Line);

        serie.symbol.type = SerieSymbolType.None;
        for (angle = 0; angle < 1080; angle++)
        {
            float xvalue = Mathf.PI / 180 * angle;
            float yvalue = Mathf.Sin(xvalue);
            chart.AddData(0, xvalue, yvalue);
        }
    }
Example #26
0
        void InitilizeComponent()
        {
            lc = new LineChart("Grafico Molon");

            lc.AddData(new LineData(90, 1));
            lc.AddData(new LineData(70, 3));
            lc.AddData(new LineData(50, 15));
            lc.AddData(new LineData(40, 20));
            lc.AddData(new LineData(20, 25));


            lc.XResolution = 10;
            lc.YResolution = 10;

            lc.XLabel = "Peso";
            lc.YLabel = "Repeticiones";

            //lc = new LineChart("Grafico Molon 2");

            //lc.AddData(new LineData(90, 1), "Press Banca Barra");
            //lc.AddData(new LineData(70, 3), "Press Banca Barra");
            //lc.AddData(new LineData(50, 15), "Press Banca Barra");
            //lc.AddData(new LineData(40, 20), "Press Banca Barra");
            //lc.AddData(new LineData(20, 25), "Press Banca Barra");

            //lc.AddData(new LineData(90, 5), "Press Banca Manc.");
            //lc.AddData(new LineData(70, 7), "Press Banca Manc.");
            //lc.AddData(new LineData(50, 10), "Press Banca Manc.");
            //lc.AddData(new LineData(40, 15), "Press Banca Manc.");
            //lc.AddData(new LineData(44, 12), "Press Banca Manc.");
            //lc.AddData(new LineData(20, 20), "Press Banca Manc.");

            //lc.XResolution = 10;
            //lc.YResolution = 10;

            //lc.XLabel = "Peso";
            //lc.YLabel = "Repeticiones";

            //lb = new BarChart("Grafico Molon3");

            //lb.AddData(new BarData("Press Banca 1", 90), "Lunes");
            //lb.AddData(new BarData("Press Banca 2", 70), "Lunes");
            //lb.AddData(new BarData("Press Banca 3", 50), "Lunes");
            //lb.AddData(new BarData("Press Banca 4", 40), "Lunes");
            //lb.AddData(new BarData("Press Banca 5", 20), "Lunes");

            //lb.AddData(new BarData("Press Banca 1", 90), "Martes");
            //lb.AddData(new BarData("Press Banca 2", 70), "Martes");
            //lb.AddData(new BarData("Press Banca 3", 50), "Martes");
            //lb.AddData(new BarData("Press Banca 4", 40), "Martes");
            //lb.AddData(new BarData("Press Banca 5", 20), "Martes");


            //lb.ValueResolution = 10;

            //lb.ValueLabel = "Max Peso";

            //lb = new BarChart("Grafico Molon 5");

            //lb.AddData(new BarData("Press Banca 5", 90));
            //lb.AddData(new BarData("Press Banca 2", 70));
            //lb.AddData(new BarData("Press Banca 3", 50));
            //lb.AddData(new BarData("Press Banca 4", 40));
            //lb.AddData(new BarData("Press Banca 1", 20));


            //lb.ValueResolution = 10;

            //lb.ValueLabel = "Max Peso";
        }
Example #27
0
    void Update()
    {
        if (isNewData)
        {
            isNewData = false;
            string trimmedUdpData = UDPData.Replace("?", "");


            //Parse data
            if (UDPData.Contains("l:"))
            {
                string[] data;
                string   v = trimmedUdpData.Replace("l:", "");
                data = v.Split(',');
                DeviceData deviceData = new DeviceData
                {
                    setpoint    = float.Parse(data[0]),
                    temperature = float.Parse(data[1]),
                    output      = float.Parse(data[2]),
                    state       = data[3]
                };
                chart.AddXAxisData("x" + chartPos);
                chart.AddData(0, deviceData.temperature);
                chartPos++;

                setpointDisplay.text    = deviceData.setpoint.ToString();
                outputDisplay.text      = deviceData.output.ToString();
                stateDisplay.text       = deviceData.state;
                temperatureDisplay.text = deviceData.temperature.ToString();

                if (deviceData.state == "run")
                {
                    stateImage.color = new Color32(207, 96, 0, 255);
                }

                tempData.Add(deviceData.temperature);
                SaveSystem.SaveData(address, tempData);
            }
            else
            {
                switch (trimmedUdpData)
                {
                case "enter vaild setpoint":
                    showError("Enter valid setpoint...");
                    break;

                case "start cooking":
                    stateImage.color = new Color32(207, 96, 0, 255);
                    break;

                case "stop cooking":
                    stateImage.color = new Color32(51, 51, 51, 255);
                    break;

                case "setpoint valid":
                    showSuccess("Setpoint is valid!");
                    break;

                default:
                    break;
                }
            }
        }

        if (isConnectionTimerActive)
        {
            doConnectionTimer();
        }
        if (isLogTimerActive)
        {
            doLogTimer();
        }
        if (isValidConnection && connectionFlag)
        {
            showSuccess("Connection established successfully.");
            connectionFlag = false;
        }
    }