整理Examples的代码,删除不必要的用例

This commit is contained in:
monitor1394
2023-08-05 09:41:33 +08:00
parent 9d3d8543a5
commit f88ac6b4c4
26 changed files with 74 additions and 597 deletions

View File

@@ -6,6 +6,7 @@ using XCharts.Runtime;
namespace XCharts.Example
{
[DisallowMultipleComponent]
[RequireComponent(typeof(LineChart))]
public class Example00_CheatSheet : MonoBehaviour
{
private LineChart chart;
@@ -43,7 +44,6 @@ namespace XCharts.Example
IEnumerator InitChart()
{
chart = gameObject.GetComponent<LineChart>();
if (chart == null) gameObject.AddComponent<LineChart>();
chart.EnsureChartComponent<Title>().show = true;
chart.EnsureChartComponent<Title>().text = "术语解析-组件";

View File

@@ -9,7 +9,7 @@ using Input = XCharts.Runtime.InputHelper;
namespace XCharts.Example
{
[DisallowMultipleComponent]
//[ExecuteInEditMode]
[RequireComponent(typeof(BaseChart))]
public class Example_RandomData : MonoBehaviour
{
public bool loopAdd = false;

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 2e9941e7d67e44b18899e6048d4ef25a
guid: 5c7cdc29e9a8040fdbc7100c3325e9ba
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@@ -1,46 +0,0 @@
using UnityEngine;
using XCharts.Runtime;
namespace XCharts.Example
{
[DisallowMultipleComponent]
[ExecuteInEditMode]
public class Example01_UpdateData : MonoBehaviour
{
private float updateTime = 0;
BaseChart chart;
void Awake()
{
chart = gameObject.GetComponent<BaseChart>();
}
void Update()
{
updateTime += Time.deltaTime;
if (chart && updateTime > 2)
{
updateTime = 0;
var serie = chart.GetSerie(0);
//serie.animation.dataChangeEnable = true;
var dataCount = serie.dataCount;
if (chart is RadarChart)
{
var dimension = serie.GetSerieData(0).data.Count - 1;
chart.UpdateData(0, 0, Random.Range(0, dimension + 1), Random.Range(0, 100));
}
else if (chart is HeatmapChart)
{
var dimension = serie.GetSerieData(0).data.Count - 1;
for (int i = 0; i < dataCount; i++)
{
chart.UpdateData(0, i, dimension, Random.Range(0, 10));
}
}
else
{
chart.UpdateData(0, Random.Range(0, dataCount), Random.Range(10, 90));
}
}
}
}
}

View File

@@ -1,11 +1,13 @@
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
using XCharts.Runtime;
using XUGL;
namespace XCharts.Example
{
[DisallowMultipleComponent]
[ExecuteInEditMode]
[RequireComponent(typeof(BaseChart))]
public class Example02_ChartEvent : MonoBehaviour
{
BaseChart chart;
@@ -13,46 +15,99 @@ namespace XCharts.Example
void Awake()
{
chart = gameObject.GetComponent<BaseChart>();
if (chart == null)
{
chart = gameObject.AddComponent<LineChart>();
}
chart.onPointerEnter = OnPointerEnter;
chart.onPointerExit = OnPointerExit;
chart.onPointerDown = OnPointerDown;
chart.onPointerUp = OnPointerUp;
chart.onPointerClick = OnPointerClick;
chart.onScroll = OnScroll;
chart.onSerieClick = OnSerieClick;
chart.onSerieEnter = OnSerieEnter;
chart.onSerieExit = OnSerieExit;
chart.onDraw = OnDraw;
chart.onDrawBeforeSerie = OnDrawBeforeSerie;
chart.onDrawAfterSerie = OnDrawAfterSerie;
chart.onDrawTop = OnDrawTop;
}
void OnPointerEnter(PointerEventData eventData, BaseGraph chart)
{
//Debug.LogError("enter:" + chart);
Debug.Log("enter:" + chart);
}
void OnPointerExit(PointerEventData eventData, BaseGraph chart)
{
//Debug.LogError("exit:" + chart);
Debug.Log("exit:" + chart);
}
void OnPointerDown(PointerEventData eventData, BaseGraph chart)
{
//Debug.LogError("down:" + chart);
Debug.Log("down:" + chart);
}
void OnPointerUp(PointerEventData eventData, BaseGraph chart)
{
//Debug.LogError("up:" + chart);
Debug.Log("up:" + chart);
}
void OnPointerClick(PointerEventData eventData, BaseGraph chart)
{
//Debug.LogError("click:" + chart);
Debug.Log("click:" + chart);
}
void OnScroll(PointerEventData eventData, BaseGraph chart)
{
//Debug.LogError("scroll:" + chart);
Debug.Log("scroll:" + chart);
}
void OnSerieClick(SerieEventData data)
{
Debug.Log("OnSerieClick: " + data.serieIndex + " " + data.dataIndex + " " + data.dimension);
}
void OnSerieEnter(SerieEventData data)
{
Debug.Log("OnSerieEnter: " + data.serieIndex + " " + data.dataIndex + " " + data.dimension);
}
void OnSerieExit(SerieEventData data)
{
Debug.Log("OnSerieExit: " + data.serieIndex + " " + data.dataIndex + " " + data.dimension);
}
void OnDraw(VertexHelper vh)
{
Debug.Log("OnDraw");
}
void OnDrawBeforeSerie(VertexHelper vh, Serie serie)
{
Debug.Log("OnDrawBeforeSerie: " + serie.index);
}
void OnDrawAfterSerie(VertexHelper vh, Serie serie)
{
Debug.Log("OnDrawAfterSerie: " + serie.index);
if (serie.index != 0) return;
var dataPoints = serie.context.dataPoints;
if (dataPoints.Count > 0)
{
var pos = dataPoints[3];
var grid = chart.GetChartComponent<GridCoord>();
var zeroPos = new Vector3(grid.context.x, grid.context.y);
var startPos = new Vector3(pos.x, zeroPos.y);
var endPos = new Vector3(pos.x, zeroPos.y + grid.context.height);
UGL.DrawLine(vh, startPos, endPos, chart.theme.serie.lineWidth, Color.blue);
UGL.DrawCricle(vh, pos, 5, Color.blue);
}
}
void OnDrawTop(VertexHelper vh)
{
Debug.Log("OnDrawTop");
}
}
}

View File

@@ -6,7 +6,7 @@ using Input = XCharts.Runtime.InputHelper;
namespace XCharts.Example
{
[DisallowMultipleComponent]
public class Example_DynamicChart : MonoBehaviour
public class Example05_DynamicChart : MonoBehaviour
{
BaseChart chart;
@@ -14,7 +14,7 @@ namespace XCharts.Example
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
if (Input.GetKeyDown(KeyCode.P))
{
AddPieChart("Dynamic PieChart");
}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: d369a0cba6716422cb15efa26bef0918
guid: c3dbcd4fb120c4508b7bba52b41fbdb9
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@@ -53,7 +53,7 @@ namespace XCharts.Example
legend.orient = Orient.Vertical;
chart.RemoveData();
serie = chart.AddSerie<Bar>("访问来源");
serie = chart.AddSerie<Pie>("访问来源");
serie.radius[0] = 0;
serie.radius[1] = 110;
serie.center[0] = 0.5f;

View File

@@ -1,69 +0,0 @@
using UnityEngine;
using XCharts.Runtime;
#if INPUT_SYSTEM_ENABLED
using Input = XCharts.Runtime.InputHelper;
#endif
namespace XCharts.Example
{
[DisallowMultipleComponent]
//[ExecuteInEditMode]
public class Example_AddChart : MonoBehaviour
{
BaseChart chart;
void Awake()
{
//AddChart();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
AddChart();
}
}
void AddChart()
{
chart = gameObject.GetComponent<BaseChart>();
if (chart == null)
{
chart = gameObject.AddComponent<LineChart>();
chart.Init();
chart.SetSize(1200, 600);
}
var title = chart.EnsureChartComponent<Title>();
title.text = "Simple LineChart";
title.subText = "normal line";
var tooltip = chart.EnsureChartComponent<Tooltip>();
tooltip.show = true;
var legend = chart.EnsureChartComponent<Legend>();
legend.show = false;
var xAxis = chart.EnsureChartComponent<XAxis>();
xAxis.splitNumber = 10;
xAxis.boundaryGap = true;
xAxis.type = Axis.AxisType.Category;
var yAxis = chart.EnsureChartComponent<YAxis>();
yAxis.type = Axis.AxisType.Value;
chart.RemoveData();
chart.AddSerie<Line>("line");
for (int i = 0; i < 5; i++)
{
chart.AddXAxisData("x" + i);
chart.AddData(0, Random.Range(10, 20));
}
}
void ModifyComponent()
{
}
}
}

View File

@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 8e5c24ed461624b8d924dfb1285e0a95
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,35 +0,0 @@
using UnityEngine;
using XCharts.Runtime;
namespace XCharts.Example
{
[DisallowMultipleComponent]
//[ExecuteInEditMode]
public class Example_Component : MonoBehaviour
{
BaseChart chart;
void Awake()
{
chart = gameObject.GetComponent<BaseChart>();
}
void ModifyComponent()
{
var title = chart.EnsureChartComponent<Title>();
title.text = "Simple LineChart";
title.subText = "normal line";
var serie1 = chart.AddSerie<Line>();
//var serie2 = chart.GetSerie<Line>();
serie1.EnsureComponent<AreaStyle>();
var label = serie1.EnsureComponent<LabelStyle>();
label.offset = new Vector3(0, 20, 0);
var serieData = chart.AddData(0, 20);
serieData.radius = 10;
var itemStyle = serieData.EnsureComponent<ItemStyle>();
itemStyle.color = Color.blue;
}
}
}

View File

@@ -1,70 +0,0 @@
using System;
using UnityEngine;
using XCharts.Runtime;
namespace XCharts.Example
{
[DisallowMultipleComponent]
//[ExecuteInEditMode]
[RequireComponent(typeof(BaseChart))]
public class Example_Dynamic : MonoBehaviour
{
public int maxCacheDataNumber = 100;
public float initDataTime = 2;
public bool insertDataToHead = false;
private BaseChart chart;
private float updateTime;
private float initTime;
private int initCount;
private int count;
private bool isInited;
private DateTime timeNow;
void Awake()
{
chart = gameObject.GetComponent<BaseChart>();
var serie = chart.GetSerie(0);
serie.symbol.show = false;
serie.maxCache = maxCacheDataNumber;
var xAxis = chart.EnsureChartComponent<XAxis>();
xAxis.maxCache = maxCacheDataNumber;
timeNow = DateTime.Now;
timeNow = timeNow.AddSeconds(-maxCacheDataNumber);
serie.insertDataToHead = insertDataToHead;
xAxis.insertDataToHead = insertDataToHead;
}
void Update()
{
if (initCount < maxCacheDataNumber)
{
int count = (int) (maxCacheDataNumber / initDataTime * Time.deltaTime);
for (int i = 0; i < count; i++)
{
timeNow = timeNow.AddSeconds(1);
var category = timeNow.ToString("hh:mm:ss");
var value = UnityEngine.Random.Range(60, 150);
chart.AddXAxisData(category);
chart.AddData(0, value);
initCount++;
if (initCount > maxCacheDataNumber) break;
}
chart.RefreshChart();
}
updateTime += Time.deltaTime;
if (updateTime >= 1)
{
var category = DateTime.Now.ToString("hh:mm:ss");
var value = UnityEngine.Random.Range(60, 150);
updateTime = 0;
count++;
chart.AddXAxisData(category);
chart.AddData(0, value);
chart.RefreshChart();
}
}
}
}

View File

@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 310037ac5daa645058285cf176cc9eab
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 37d46ee8250bd4bdf84966a435e543dd
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,52 +0,0 @@
using UnityEngine;
using XCharts.Runtime;
namespace XCharts.Example
{
[DisallowMultipleComponent]
[ExecuteInEditMode]
[RequireComponent(typeof(BaseChart))]
public class Example_LargeData : MonoBehaviour
{
public int maxCacheDataNumber = 1000;
public float initDataTime = 5;
private BaseChart chart;
private float initTime;
private int initCount = 0;
private System.DateTime timeNow;
void Awake()
{
chart = gameObject.GetComponentInChildren<BaseChart>();
timeNow = System.DateTime.Now;
chart.ClearData();
chart.SetMaxCache(maxCacheDataNumber);
chart.GetChartComponent<Title>().text = maxCacheDataNumber + "数据";
}
private double lastValue = 0d;
private void Update()
{
if (initCount < maxCacheDataNumber)
{
for (int i = 0; i < 20; i++)
{
initCount++;
if (initCount > maxCacheDataNumber) break;
chart.GetChartComponent<Title>().text = initCount + "数据";
timeNow = timeNow.AddSeconds(1);
if (lastValue < 20)
lastValue += UnityEngine.Random.Range(0, 5);
else
lastValue += UnityEngine.Random.Range(-5f, 5f);
chart.AddData(0, lastValue);
chart.AddXAxisData(timeNow.ToString("hh:mm:ss"));
}
}
}
}
}

View File

@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 188d38c155a804c7d9d31730d3b12885
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,40 +0,0 @@
using UnityEngine;
using XCharts.Runtime;
namespace XCharts.Example
{
[DisallowMultipleComponent]
[ExecuteInEditMode]
[RequireComponent(typeof(PieChart))]
public class Example_PieChart : MonoBehaviour
{
private PieChart chart;
private float time;
private int count = 0;
private void Awake()
{
chart = transform.GetComponent<PieChart>();
chart.ClearData();
}
private void Update()
{
time += Time.deltaTime;
if (time > 1)
{
time = 0;
if (count < 5)
{
chart.AddData(0, Random.Range(10, 100), "time" + count);
}
else
{
int index = count % 5;
chart.UpdateData(0, Random.Range(10, 100), index);
}
count++;
}
}
}
}

View File

@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: a36ce96ed11a24212aafad603286a3ad
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 40c5e5447025744389f5aa5f7b21573d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,81 +0,0 @@
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
using XCharts.Runtime;
#if INPUT_SYSTEM_ENABLED
using Input = XCharts.Runtime.InputHelper;
#endif
namespace XCharts.Example
{
[DisallowMultipleComponent]
[ExecuteInEditMode]
public class Example_Test : MonoBehaviour
{
BaseChart chart;
void Awake()
{
chart = gameObject.GetComponent<BaseChart>();
chart.onSerieClick = OnPointerClickLine;
chart.onSerieEnter = OnPointerEnterLine;
chart.onSerieExit = OnPointerExitLine;
var btnTrans = transform.parent.Find("Button");
if (btnTrans)
{
btnTrans.gameObject.GetComponent<Button>().onClick.AddListener(OnTestBtn);
}
}
void OnPointerClickLine(SerieEventData data)
{
Debug.Log("OnPointerClick: " + data.serieIndex+ " " + data.dataIndex +" "+ data.dimension);
}
void OnPointerEnterLine(SerieEventData data)
{
Debug.Log("OnPointerEnter: " + data.serieIndex + " " + data.dataIndex + " " + data.dimension);
}
void OnPointerExitLine(SerieEventData data)
{
Debug.Log("OnPointerExit: " + data.serieIndex + " " + data.dataIndex + " " + data.dimension);
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
AddData();
//OnTestBtn();
}
}
void OnTestBtn()
{
object[][] m_TestData = new object[][]
{
new object[] { "01/06/20", 2.2d, 5.6d },
new object[] { "22/06/20", 2.4d, 5.3d },
new object[] { "04/08/21", 4.5d, 5.4d },
new object[] { "05/08/21", 6.3d, 6.4d },
new object[] { "06/08/21", 3.1d, 6.4d },
new object[] { "09/08/21", 3.9d, 6.3d },
new object[] { "10/08/21", 1.9d, 4.6d },
};
chart.ClearData();
foreach (var list in m_TestData)
{
chart.AddXAxisData((string) list[0]);
chart.AddData(0, (double) list[1]);
chart.AddData(1, (double) list[2]);
}
}
void AddData()
{
var serie = chart.InsertSerie<Bar>(0);
for(int i=0;i<5;i++){
chart.AddData(serie.index, Random.Range(10,90));
}
}
}
}

View File

@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: bac63bf58d06d47be8e1759189fbd9ed
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,35 +0,0 @@
using UnityEngine;
using XCharts.Runtime;
#if INPUT_SYSTEM_ENABLED
using Input = XCharts.Runtime.InputHelper;
#endif
namespace XCharts.Example
{
[DisallowMultipleComponent]
public class Example_TestSerie : MonoBehaviour
{
BaseChart chart;
int timestamp;
void Awake()
{
chart = gameObject.GetComponent<BaseChart>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.R))
{
chart.GetSerie(0).radius[1] = Random.Range(50, 80);
chart.SetAllDirty();
}
else if (Input.GetKeyDown(KeyCode.W))
{
chart.GetSerie(0).lineStyle.width = Random.Range(1, 5);
}
else if (Input.GetKeyDown(KeyCode.S))
{
chart.GetSerie(0).symbol.size = Random.Range(1, 10);
}
}
}
}

View File

@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: bf5f1bfed3ae24fcf871087abf8bdb59
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,52 +0,0 @@
using UnityEngine;
using XCharts.Runtime;
#if INPUT_SYSTEM_ENABLED
using Input = XCharts.Runtime.InputHelper;
#endif
namespace XCharts.Example
{
[DisallowMultipleComponent]
[ExecuteInEditMode]
public class Example_TestTime : MonoBehaviour
{
public int maxCache = 100;
LineChart chart;
int timestamp;
void Awake()
{
chart = gameObject.GetComponent<LineChart>();
AddData();
chart.SetMaxCache(maxCache);
}
float m_LastTime = 0;
double m_Value = 100;
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
//AddData();
}
if (Time.time - m_LastTime > 0.1f)
{
timestamp += 3600;
m_Value += 10;
chart.AddData(0, timestamp, m_Value);
m_LastTime = Time.time;
}
}
void AddData()
{
chart.ClearData();
timestamp = DateTimeUtil.GetTimestamp() - 10;
for (int i = 0; i < 10; i++)
{
timestamp += i * 3600;
double value = Random.Range(50, 200);
chart.AddData(0, timestamp, value);
}
}
}
}

View File

@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 43b48222f7ffc420098593a8fe4bfc24
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: