2022-01-26 20:47:14 +08:00
|
|
|
using UnityEngine;
|
|
|
|
|
|
2022-02-19 22:37:57 +08:00
|
|
|
namespace XCharts.Runtime
|
2022-01-26 20:47:14 +08:00
|
|
|
{
|
|
|
|
|
[AddComponentMenu("XCharts/PolarChart", 23)]
|
|
|
|
|
[ExecuteInEditMode]
|
|
|
|
|
[RequireComponent(typeof(RectTransform))]
|
|
|
|
|
[DisallowMultipleComponent]
|
|
|
|
|
public class PolarChart : BaseChart
|
|
|
|
|
{
|
2022-03-20 18:52:50 +08:00
|
|
|
protected override void DefaultChart()
|
2022-01-26 20:47:14 +08:00
|
|
|
{
|
|
|
|
|
AddChartComponentWhenNoExist<PolarCoord>();
|
2022-04-26 08:24:45 +08:00
|
|
|
AddChartComponentWhenNoExist<AngleAxis>();
|
|
|
|
|
AddChartComponentWhenNoExist<RadiusAxis>();
|
2022-01-26 20:47:14 +08:00
|
|
|
|
|
|
|
|
var tooltip = GetChartComponent<Tooltip>();
|
|
|
|
|
tooltip.type = Tooltip.Type.Corss;
|
|
|
|
|
tooltip.trigger = Tooltip.Trigger.Axis;
|
|
|
|
|
|
|
|
|
|
RemoveData();
|
|
|
|
|
var serie = Line.AddDefaultSerie(this, GenerateDefaultSerieName());
|
|
|
|
|
serie.SetCoord<PolarCoord>();
|
|
|
|
|
serie.ClearData();
|
|
|
|
|
for (int i = 0; i <= 360; i++)
|
|
|
|
|
{
|
|
|
|
|
var t = i / 180f * Mathf.PI;
|
|
|
|
|
var r = Mathf.Sin(2 * t) * Mathf.Cos(2 * t) * 2;
|
|
|
|
|
AddData(0, Mathf.Abs(r), i);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2022-05-22 22:17:38 +08:00
|
|
|
}
|