     
 }
 
-extension SECLegend.Data: SECMappable {
+extension SECLegend.Data : SECEnumable {
+    public enum Enums {
+        case name(String), icon(SECSymbol), textStyle(SECTextStyle)
+    }
+    
+    public typealias SECContentEnum = Enums
+    
+    public init(_ elements: [Enums]) {
+        for ele in elements {
+            switch ele {
+            case let .name(name):
+                self.name = name
+            case let .icon(icon):
+                self.icon = icon
+            case let .textStyle(textStyle):
+                self.textStyle = textStyle
+            }
+        }
+    }
+}
+
+extension SECLegend.Data : SECMappable {
     public func mapping(map: SECMap) {
         map["name"] = name
         map["icon"] = icon

/// 图例组件。
/// 图例组件展现了不同系列的标记(symbol)，颜色和名字。可以通过点击图例控制哪些系列不显示。
/// ECharts 3 中单个 echarts 实例中可以存在多个图例组件，会方便多个图例的布局。
public struct SECLegend: SECBorderable, SECDisplayable, SECFormatted, SECShadowable {
    
    /// 图例的数据数组。数组项通常为一个字符串，每一项代表一个系列的 `name`（如果是饼图，也可以是饼图单个数据的 `name`）。图例组件会自动获取对应系列的颜色，图形标记（symbol）作为自己绘制的颜色和标记，特殊字符串 `''`（空字符串）或者 `'\n'`（换行字符串）用于图例的换行。
    ///

///
/// - horizontal: 水平
/// - vertical: 垂直
public enum SECOrient : String, SECJsonable {
    case horizontal = "horizontal", vertical = "vertical"

    public var jsonString: String {
