     /// X 轴所有图形的 zlevel 值。
     /// zlevel用于 Canvas 分层，不同zlevel值的图形会放置在不同的 Canvas 中，Canvas 分层是一种常见的优化手段。我们可以把一些图形变化频繁（例如有动画）的组件设置成一个单独的zlevel。需要注意的是过多的 Canvas 会引起内存开销的增大，在手机端上需要谨慎使用以防崩溃。
     /// zlevel 大的 Canvas 会放在 zlevel 小的 Canvas 的上面。
-    public var zlevel = 0
+    public var zlevel: Float?
     /// X 轴组件的所有图形的z值。控制图形的前后顺序。z值小的图形会被z值大的图形覆盖。
     /// z相比zlevel优先级更低，而且不会创建新的 Canvas。
-    public var z = 0
+    public var z: Float?
     
     public init() { }
     

    }
    
    /// 坐标轴所在的 grid 的索引，默认位于第一个 grid。
    public var gridIndex = 0
    /// 坐标轴的位置。
    public var position: SECPosition?
    /// 坐标轴相对于默认位置的偏移，在相同的 position 上有多个 X 轴的时候有用。
    public var offset = 0.0
    /// 坐标轴类型。
    public var type: Type? = Type.category
    /// 坐标轴名称显示位置。
    public var name: String?
    /// 坐标轴名称显示位置。
    /// 可选: 'start', 'middle', 'end'
    public var nameLocation = "end" // FIXME: ??? 是否需要添加枚举
    /// 坐标轴名称的文字样式。
    public var nameTextStyle: SECTextStyle?
    /// 坐标轴名称与轴线之间的距离。
    public var nameGap = 15.0
    /// 坐标轴名字旋转，角度值。
    public var nameRotate: Float?
    /// 是否是反向坐标轴。ECharts 3 中新加。
    public var inverse = false
    /// 坐标轴两边留白策略，类目轴和非类目轴的设置和表现不一样。
    ///
    /// 类目轴中 boundaryGap 可以配置为 true 和 false。默认为 true，这时候刻度只是作为分隔线，标签和数据点都会在两个刻度之间的带(band)中间。

public struct SECAxisLine : SECDisplayable, SECLine {
    public var show: Bool?
    /// X 轴或者 Y 轴的轴线是否在另一个轴的 0 刻度上，只有在另一个轴为数值轴且包含 0 刻度时有效。
    public var onZero: Bool?
    public var lineStyle: SECLineStyle?
    
    public init() { }

