NewLife/NewLife.Cube

支持多个Y轴索引。设置1表示使用第二个Y轴
大石头 编写于 2024-04-29 17:26:52
共计: 修改3个文件,增加15行、删除1行。
修改 +1 -1
修改 +11 -0
修改 +3 -0
修改 +1 -1
diff --git a/NewLife.CubeNC/Areas/Cube/Controllers/AreaController.cs b/NewLife.CubeNC/Areas/Cube/Controllers/AreaController.cs
index 5d944e7..18bd7c5 100644
--- a/NewLife.CubeNC/Areas/Cube/Controllers/AreaController.cs
+++ b/NewLife.CubeNC/Areas/Cube/Controllers/AreaController.cs
@@ -110,7 +110,7 @@ public class AreaController : EntityController<Area>
                     Height = 400,
                 };
                 chart.SetX(list2, _.Kind, e => e.Kind ?? "未知");
-                chart.SetY(null, "value");
+                chart.SetY("个数", "value");
                 chart.SetTooltip();
 
                 var bar = chart.AddBar(list2, _.Kind, e => e.ID);
修改 +11 -0
diff --git a/NewLife.CubeNC/Charts/ECharts.cs b/NewLife.CubeNC/Charts/ECharts.cs
index a1a45cd..7207fab 100644
--- a/NewLife.CubeNC/Charts/ECharts.cs
+++ b/NewLife.CubeNC/Charts/ECharts.cs
@@ -312,6 +312,17 @@ public class ECharts : IExtend
     /// </param>
     public void SetY(String name, String type = "value") => YAxis = new { name, type };
 
+    /// <summary>设置多个Y轴</summary>
+    /// <param name="names"></param>
+    /// <param name="type">
+    /// 坐标轴类型。
+    /// value 数值轴,适用于连续数据。
+    /// category 类目轴,适用于离散的类目数据,为该类型时必须通过 data 设置类目数据。
+    /// time 时间轴,适用于连续的时序数据,与数值轴相比时间轴带有时间的格式化,在刻度计算上也有所不同,例如会根据跨度的范围来决定使用月,星期,日还是小时范围的刻度。
+    /// log 对数轴。适用于对数数据。
+    /// </param>
+    public void SetY(String[] names, String type = "value") => YAxis = names.Select(e => new { name = e, type }).ToArray();
+
     /// <summary>设置工具栏</summary>
     /// <param name="trigger">
     /// 触发类型。
修改 +3 -0
diff --git a/NewLife.CubeNC/Charts/Series.cs b/NewLife.CubeNC/Charts/Series.cs
index 7415acf..d48dd42 100644
--- a/NewLife.CubeNC/Charts/Series.cs
+++ b/NewLife.CubeNC/Charts/Series.cs
@@ -30,6 +30,9 @@ public class Series : IExtend
     ///// <summary>标记线。例如平均线</summary>
     //public Object MarkLine { get; set; }
 
+    /// <summary>Y轴索引。设置1表示使用第二个Y轴</summary>
+    public Int32 YAxisIndex { get => Items["YAxisIndex"].ToInt(); set => Items["YAxisIndex"] = value; }
+
     /// <summary>扩展字典</summary>
     [ScriptIgnore]
     public IDictionary<String, Object> Items { get; set; } = new NullableDictionary<String, Object>(StringComparer.OrdinalIgnoreCase);