wxr
2024-09-11 a3dfbcd5218270f9a75e6e32807b08215270b657
HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EchartsOption_Histogram.cs
New file
@@ -0,0 +1,226 @@
using System;
using System.Collections.Generic;
namespace HDL_ON.UI
{
    public class EchartsOption_Histogram
    {
        /// <summary>
        /// x轴数据
        /// </summary>
        private string XvalueText = "";
        /// <summary>
        /// Y轴数据
        /// </summary>
        private string YvalueText = "";
        /// <summary>
        /// x轴标题
        /// </summary>
        public string xTitle = "";
        /// <summary>
        /// y轴标题
        /// </summary>
        public string yTitle = "";
        public EchartsOption_Histogram()
        {
        }
        /// <summary>
        /// 组装Option数据
        /// </summary>
        /// <returns></returns>
        public string InitOption()
        {
            //组装Value
            var newstring = optionString.Replace("{xData}", XvalueText);
            newstring = newstring.Replace("{yData}", YvalueText);
            newstring = newstring.Replace("{xName}", xTitle);
            newstring = newstring.Replace("{yName}", yTitle);
            newstring = newstring.Replace(",,", ",");
            return newstring;
        }
        /// <summary>
        /// 组装x轴文本
        /// </summary>
        /// <param name="xData"></param>
        public void InitXdataText(List<string> xData)
        {
            XvalueText = "";
            foreach (var data in xData)
            {
                XvalueText += "'" + data + "',";
            }
        }
        /// <summary>
        /// 组装y轴文本
        /// </summary>
        /// <param name="yData"></param>
        public string InitYdataText(List<EnvironmentalSensorHistor> yData)
        {
            YvalueText = "";
            foreach (var data in yData)
            {
                YvalueText += "'" + data.fieldValue + "',";
            }
            return YvalueText;
        }
#if __ANDROID__
        public string optionString = @"{
                              tooltip: {
                                trigger: 'axis',
                                axisPointer: {
                                  crossStyle: {
                                    color: '#999'
                                  }
                                }
                              },
                              grid: {
                                    top: '10%',
                                    left: '15%',
                                    right: '15%',
                                    bottom: '10%',
                                    },
                              xAxis: {
                                data: [{xData}],
                                axisTick: {
                                  show: false
                                },
                                axisLine: {
                                  show: false
                                },
                                name:'{xName}',
                                nameGap:5,
                                nameTextStyle:{
                                  color:'#7C8590',
                                  fontSize:10
                                },
                                axisLabel: {
                                  color: '#7C8590',
                                  fontSize:10
                                }
                              },
                              yAxis: {
                                name:'{yName}',
                                nameGap:12,
                                nameTextStyle:{
                                  color:'#030D1C',
                                  fontSize:10
                                },
                                axisLine: {
                                  show: false
                                },
                                axisTick: {
                                  show: false
                                },
                                axisLabel: {
                                  color: '#7C8590',
                                  fontSize:10
                                }
                              },
                              dataZoom: [
                                {
                                  type: 'inside'
                                }
                              ],
                              series: [
                                {
                                  type: 'bar',
                                  showBackground: false,
                                  itemStyle: {
                                    color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                                      { offset: 0, color: '#6AB7F9' },
                                      { offset: 0.5, color: '#5AA6FF' },
                                      { offset: 1, color: '#6B97F9' }
                                    ])
                                  },
                                  data: [{yData}]
                                }
                              ]
                            }";
#else
        public string optionString = @"{
                              tooltip: {
                                trigger: 'axis',
                                axisPointer: {
                                  crossStyle: {
                                    color: '#999'
                                  }
                                }
                              },
                              grid: {
                                    top: '10%',
                                    left: '10%',
                                    right: '10%',
                                    bottom: '10%',
                                    },
                              xAxis: {
                                data: [{xData}],
                                axisTick: {
                                  show: false
                                },
                                axisLine: {
                                  show: false
                                },
                                name:'{xName}',
                                nameTextStyle:{
                                  color:'#7C8590',
                                  fontSize:24
                                },
                                axisLabel: {
                                  color: '#7C8590',
                                  fontSize:20
                                }
                              },
                              yAxis: {
                                name:'{yName}',
                                nameGap:35,
                                nameTextStyle:{
                                  color:'#030D1C',
                                  fontSize:24
                                },
                                axisLine: {
                                  show: false
                                },
                                axisTick: {
                                  show: false
                                },
                                axisLabel: {
                                  color: '#7C8590',
                                  fontSize:20
                                }
                              },
                              dataZoom: [
                                {
                                  type: 'inside'
                                }
                              ],
                              series: [
                                {
                                  type: 'bar',
                                  showBackground: false,
                                  itemStyle: {
                                    color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                                      { offset: 0, color: '#6AB7F9' },
                                      { offset: 0.5, color: '#5AA6FF' },
                                      { offset: 1, color: '#6B97F9' }
                                    ])
                                  },
                                  data: [{yData}]
                                }
                              ]
                            }";
#endif
    }
}