增加Chart的更多快捷创建图表菜单

This commit is contained in:
monitor1394
2024-01-13 22:37:13 +08:00
parent fff04347fa
commit 9a56985b3a
16 changed files with 722 additions and 13 deletions

View File

@@ -2,6 +2,10 @@ 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))]
@@ -22,5 +26,153 @@ namespace XCharts.Runtime
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;
}
}
}