No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Example_DynamicChart.cs 2.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. using UnityEngine;
  2. using XCharts.Runtime;
  3. #if INPUT_SYSTEM_ENABLED
  4. using Input = XCharts.Runtime.InputHelper;
  5. #endif
  6. namespace XCharts.Example
  7. {
  8. [DisallowMultipleComponent]
  9. public class Example_DynamicChart : MonoBehaviour
  10. {
  11. BaseChart chart;
  12. void Awake() { }
  13. void Update()
  14. {
  15. if (Input.GetKeyDown(KeyCode.Space))
  16. {
  17. AddPieChart("Dynamic PieChart");
  18. }
  19. if (Input.GetKeyDown(KeyCode.L))
  20. {
  21. AddLineChart("Dynamic LineChart");
  22. }
  23. }
  24. GameObject CreateChartObject(string chartName)
  25. {
  26. for (int i = transform.childCount - 1; i >= 0; i--)
  27. {
  28. Destroy(transform.GetChild(i).gameObject);
  29. }
  30. var chartObject = new GameObject();
  31. chartObject.name = chartName;
  32. chartObject.transform.SetParent(transform);
  33. chartObject.transform.localScale = Vector3.one;
  34. chartObject.transform.localPosition = Vector3.zero;
  35. return chartObject;
  36. }
  37. void AddPieChart(string chartName)
  38. {
  39. var chartObject = CreateChartObject(chartName);
  40. var chart = chartObject.AddComponent<PieChart>();
  41. chart.Init();
  42. chart.SetSize(580, 300);
  43. chart.GetOrAddChartComponent<Title>().show = true;
  44. chart.GetOrAddChartComponent<Title>().text = chartName;
  45. chart.GetOrAddChartComponent<Tooltip>().show = true;
  46. chart.GetOrAddChartComponent<Legend>().show = true;
  47. chart.RemoveData();
  48. chart.AddSerie<Pie>();
  49. for (int i = 0; i < 3; i++)
  50. {
  51. chart.AddData(0, Random.Range(10, 20), "pie" + (i + 1));
  52. }
  53. }
  54. void AddLineChart(string chartName)
  55. {
  56. var chartObject = CreateChartObject(chartName);
  57. var chart = chartObject.AddComponent<PieChart>();
  58. chart.Init();
  59. chart.SetSize(580, 300);
  60. chart.GetOrAddChartComponent<Title>().show = true;
  61. chart.GetOrAddChartComponent<Title>().text = chartName;
  62. chart.GetOrAddChartComponent<Legend>().show = false;
  63. var tooltip = chart.GetOrAddChartComponent<Tooltip>();
  64. tooltip.trigger = Tooltip.Trigger.Axis;
  65. var xAxis = chart.GetOrAddChartComponent<XAxis>();
  66. var yAxis = chart.GetOrAddChartComponent<YAxis>();
  67. xAxis.splitNumber = 10;
  68. xAxis.boundaryGap = true;
  69. xAxis.show = true;
  70. yAxis.show = true;
  71. xAxis.type = Axis.AxisType.Category;
  72. yAxis.type = Axis.AxisType.Value;
  73. chart.RemoveData();
  74. chart.AddSerie<Line>();
  75. for (int i = 0; i < 10; i++)
  76. {
  77. chart.AddXAxisData("x" + (i + 1));
  78. chart.AddData(0, Random.Range(10, 100));
  79. }
  80. }
  81. }
  82. }