| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 | using UnityEngine;namespace XCharts.Runtime{    /// <summary>    /// Bar chart shows different data through the height of a bar, which is used in rectangular coordinate with at least 1 category axis.    /// || 柱状图(或称条形图)是一种通过柱形的高度(横向的情况下则是宽度)来表现数据大小的一种常用图表类型。    /// </summary>    [AddComponentMenu("XCharts/BarChart", 14)]    [ExecuteInEditMode]    [RequireComponent(typeof(RectTransform))]    [DisallowMultipleComponent]    [HelpURL("https://xcharts-team.github.io/docs/configuration")]    public class BarChart : BaseChart    {        protected override void DefaultChart()        {            EnsureChartComponent<GridCoord>();            EnsureChartComponent<XAxis>();            EnsureChartComponent<YAxis>();            RemoveData();            Bar.AddDefaultSerie(this, GenerateDefaultSerieName());            for (int i = 0; i < 5; i++)            {                AddXAxisData("x" + (i + 1));            }        }        /// <summary>        /// default zebra column chart.        /// || 斑马柱状图。        /// </summary>        public void DefaultZebraColumnChart()        {            CheckChartInit();            var serie = GetSerie(0);            if (serie == null) return;            serie.barType = BarType.Zebra;        }        /// <summary>        /// default capsule column chart.        /// || 胶囊柱状图。        /// </summary>        public void DefaultCapsuleColumnChart()        {            CheckChartInit();            var serie = GetSerie(0);            if (serie == null) return;            serie.barType = BarType.Capsule;        }        /// <summary>        /// default grouped column chart.        /// || 默认分组柱状图。        /// </summary>        public void DefaultGroupedColumnChart()        {            CheckChartInit();            Bar.AddDefaultSerie(this, GenerateDefaultSerieName());        }        /// <summary>        /// default stacked column chart.        /// || 默认堆叠分组柱状图。        /// </summary>        public void DefaultStackedColumnChart()        {            CheckChartInit();            var serie1 = GetSerie(0);            serie1.stack = "stack1";            var serie2 = Bar.AddDefaultSerie(this, GenerateDefaultSerieName());            serie2.stack = "stack1";        }        /// <summary>        /// default percent column chart.        /// || 默认百分比柱状图。        /// </summary>        public void DefaultPercentColumnChart()        {            CheckChartInit();            var serie1 = GetSerie(0);            serie1.stack = "stack1";            serie1.barPercentStack = true;            var serie2 = Bar.AddDefaultSerie(this, GenerateDefaultSerieName());            serie2.stack = "stack1";            serie2.barPercentStack = true;        }        /// <summary>        /// default bar chart.        /// || 默认条形图。        /// </summary>        public void DefaultBarChart()        {            CheckChartInit();            CovertColumnToBar(this);        }        /// <summary>        /// default zebra bar chart.        /// || 默认斑马条形图。         /// </summary>        public void DefaultZebraBarChart()        {            CheckChartInit();            var serie = GetSerie(0);            serie.barType = BarType.Zebra;            CovertColumnToBar(this);        }        /// <summary>        /// default capsule bar chart.        /// || 默认胶囊条形图。        /// </summary>        public void DefaultCapsuleBarChart()        {            CheckChartInit();            var serie = GetSerie(0);            serie.barType = BarType.Capsule;            CovertColumnToBar(this);        }        /// <summary>        /// default grouped bar chart.        /// || 默认分组条形图。        /// </summary>        public void DefaultGroupedBarChart()        {            CheckChartInit();            Bar.AddDefaultSerie(this, GenerateDefaultSerieName());            CovertColumnToBar(this);        }        /// <summary>        /// default stacked bar chart.        /// || 默认堆叠条形图。        /// </summary>        public void DefaultStackedBarChart()        {            CheckChartInit();            var serie1 = GetSerie(0);            serie1.stack = "stack1";            var serie2 = Bar.AddDefaultSerie(this, GenerateDefaultSerieName());            serie2.stack = "stack1";            CovertColumnToBar(this);        }        /// <summary>        /// default percent bar chart.        /// || 默认百分比条形图。        /// </summary>        public void DefaultPercentBarChart()        {            CheckChartInit();            var serie1 = GetSerie(0);            serie1.stack = "stack1";            serie1.barPercentStack = true;            var serie2 = Bar.AddDefaultSerie(this, GenerateDefaultSerieName());            serie2.stack = "stack1";            serie2.barPercentStack = true;            CovertColumnToBar(this);        }        private static void CovertColumnToBar(BarChart chart)        {            chart.ConvertXYAxis(0);            var xAxis = chart.GetChartComponent<XAxis>();            xAxis.axisLine.show = false;            xAxis.axisTick.show = false;            var yAxis = chart.GetChartComponent<YAxis>();            yAxis.axisTick.alignWithLabel = true;        }    }}
 |