暂无描述
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

ComponentHelper.cs 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. using System.Collections.Generic;
  2. namespace XCharts.Runtime
  3. {
  4. public static class ComponentHelper
  5. {
  6. public static AngleAxis GetAngleAxis(List<MainComponent> components, int polarIndex)
  7. {
  8. foreach (var component in components)
  9. {
  10. if (component is AngleAxis)
  11. {
  12. var axis = component as AngleAxis;
  13. if (axis.polarIndex == polarIndex) return axis;
  14. }
  15. }
  16. return null;
  17. }
  18. public static RadiusAxis GetRadiusAxis(List<MainComponent> components, int polarIndex)
  19. {
  20. foreach (var component in components)
  21. {
  22. if (component is RadiusAxis)
  23. {
  24. var axis = component as RadiusAxis;
  25. if (axis.polarIndex == polarIndex) return axis;
  26. }
  27. }
  28. return null;
  29. }
  30. public static float GetXAxisOnZeroOffset(List<MainComponent> components, XAxis axis)
  31. {
  32. if (!axis.axisLine.onZero) return 0;
  33. foreach (var component in components)
  34. {
  35. if (component is YAxis)
  36. {
  37. var yAxis = component as YAxis;
  38. if (yAxis.IsValue() && yAxis.gridIndex == axis.gridIndex) return yAxis.context.offset;
  39. }
  40. }
  41. return 0;
  42. }
  43. public static float GetYAxisOnZeroOffset(List<MainComponent> components, YAxis axis)
  44. {
  45. if (!axis.axisLine.onZero) return 0;
  46. foreach (var component in components)
  47. {
  48. if (component is XAxis)
  49. {
  50. var xAxis = component as XAxis;
  51. if (xAxis.IsValue() && xAxis.gridIndex == axis.gridIndex) return xAxis.context.offset;
  52. }
  53. }
  54. return 0;
  55. }
  56. public static bool IsAnyCategoryOfYAxis(List<MainComponent> components)
  57. {
  58. foreach (var component in components)
  59. {
  60. if (component is YAxis)
  61. {
  62. var yAxis = component as YAxis;
  63. if (yAxis.type == Axis.AxisType.Category)
  64. return true;
  65. }
  66. }
  67. return false;
  68. }
  69. }
  70. }