---
title: "init(x:y:z:)"
framework: charts
role: symbol
role_heading: Initializer
path: "charts/rulemark/init(x:y:z:)"
---

# init(x:y:z:)

Creates a horizontal or vertical rule mark for a  3D chart.

## Declaration

```swift
nonisolated init(x: PlottableValue<some Plottable>, y: PlottableValue<some Plottable>, z: PlottableValue<some Plottable>)
```

## Parameters

- `x`: The x value.
- `y`: The y value.
- `z`: The z value.

## Discussion

Discussion important: A 3D RuleMark requires exactly two numeric points and one numeric range. Use this initializer to create rules at positions along two axes, and a range along a third axis: Chart3D {     // A red rule from from -0.5 to 0.5 on the x-axis, positioned at y = 0, z = 0     RuleMark(         x: .value("x", -0.5..<0.5),         y: .value("y", 0),         z: .value("z", 0)     )     .foregroundStyle(.red)

// A green rule from -0.5 to 0.5 on the y-axis, positioned at x = 0, z = 0     RuleMark(         x: .value("x", 0),         y: .value("y", -0.5..<0.5),         z: .value("z", 0)     )     .foregroundStyle(.green)

// A blue rule from from -0.5 to 0.5 on the z-axis, positioned at x = 0, y = 0     RuleMark(         x: .value("x", 0),         y: .value("y", 0),         z: .value("z", -0.5..<0.5)     )     .foregroundStyle(.blue) }
