using UnityEngine; namespace XCharts.Runtime { /// /// Bar chart shows different data through the height of a bar, which is used in rectangular coordinate with at least 1 category axis. /// || 柱状图(或称条形图)是一种通过柱形的高度(横向的情况下则是宽度)来表现数据大小的一种常用图表类型。 /// [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(); EnsureChartComponent(); EnsureChartComponent(); RemoveData(); Bar.AddDefaultSerie(this, GenerateDefaultSerieName()); for (int i = 0; i < 5; i++) { AddXAxisData("x" + (i + 1)); } } /// /// default zebra column chart. /// || 斑马柱状图。 /// public void DefaultZebraColumnChart() { CheckChartInit(); var serie = GetSerie(0); if (serie == null) return; serie.barType = BarType.Zebra; } /// /// default capsule column chart. /// || 胶囊柱状图。 /// public void DefaultCapsuleColumnChart() { CheckChartInit(); var serie = GetSerie(0); if (serie == null) return; serie.barType = BarType.Capsule; } /// /// default grouped column chart. /// || 默认分组柱状图。 /// public void DefaultGroupedColumnChart() { CheckChartInit(); Bar.AddDefaultSerie(this, GenerateDefaultSerieName()); } /// /// default stacked column chart. /// || 默认堆叠分组柱状图。 /// public void DefaultStackedColumnChart() { CheckChartInit(); var serie1 = GetSerie(0); serie1.stack = "stack1"; var serie2 = Bar.AddDefaultSerie(this, GenerateDefaultSerieName()); serie2.stack = "stack1"; } /// /// default percent column chart. /// || 默认百分比柱状图。 /// 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; } /// /// default bar chart. /// || 默认条形图。 /// public void DefaultBarChart() { CheckChartInit(); CovertColumnToBar(this); } /// /// default zebra bar chart. /// || 默认斑马条形图。 /// public void DefaultZebraBarChart() { CheckChartInit(); var serie = GetSerie(0); serie.barType = BarType.Zebra; CovertColumnToBar(this); } /// /// default capsule bar chart. /// || 默认胶囊条形图。 /// public void DefaultCapsuleBarChart() { CheckChartInit(); var serie = GetSerie(0); serie.barType = BarType.Capsule; CovertColumnToBar(this); } /// /// default grouped bar chart. /// || 默认分组条形图。 /// public void DefaultGroupedBarChart() { CheckChartInit(); Bar.AddDefaultSerie(this, GenerateDefaultSerieName()); CovertColumnToBar(this); } /// /// default stacked bar chart. /// || 默认堆叠条形图。 /// public void DefaultStackedBarChart() { CheckChartInit(); var serie1 = GetSerie(0); serie1.stack = "stack1"; var serie2 = Bar.AddDefaultSerie(this, GenerateDefaultSerieName()); serie2.stack = "stack1"; CovertColumnToBar(this); } /// /// default percent bar chart. /// || 默认百分比条形图。 /// 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.axisLine.show = false; xAxis.axisTick.show = false; var yAxis = chart.GetChartComponent(); yAxis.axisTick.alignWithLabel = true; } } }