OHLC

public struct OHLC<XData, OHLCData> : Trace, XYSubplot where XData : Plotable, OHLCData : Plotable

The ohlc (short for Open-High-Low-Close) is a style of financial chart describing open, high, low and close for a given x coordinate (most likely time).

The tip of the lines represent the low and high values and the horizontal segments represent the open and close values. Sample points where the close value is higher (lower) then the open value are called increasing (decreasing). By default, increasing items are drawn in green whereas decreasing are drawn in red.

See also

Documentation for Python, JavaScript or R
  • Corresponding Plotly trace type.

    Declaration

    Swift

    public let type: String
  • Switch indicating whether the trace supports animation of its data.

    Declaration

    Swift

    public static var animatable: Bool { get }
  • Determines whether or not this trace is visible.

    If legendonly, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

    Declaration

    Swift

    public var visible: Visible?
  • Determines whether or not an item corresponding to this trace is shown in the legend.

    Declaration

    Swift

    public var showLegend: Bool?
  • Sets the legend group for this trace.

    Traces part of the same legend group hide/show at the same time when toggling legend items.

    Declaration

    Swift

    public var legendGroup: String?
  • Sets the opacity of the trace.

    Declaration

    Swift

    public var opacity: Double?
  • Sets the trace name.

    The trace name appear as the legend item and on hover.

    Declaration

    Swift

    public var name: String?
  • uid

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    Declaration

    Swift

    public var uid: String?
  • ids

    Assigns id labels to each datum.

    These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

    Declaration

    Swift

    public var ids: [String]?
  • Assigns extra data each datum.

    This may be useful when listening to hover, click and selection events. Note that, scatter traces also appends customdata items in the markers DOM elements

    Declaration

    Swift

    public var customData: [String]?
  • Assigns extra meta information associated with this trace that can be used in various text attributes.

    Attributes such as trace name, graph, axis and colorbar title.text, annotation text rangeselector, updatemenues and sliders label text all support meta. To access the trace meta values in an attribute in the same trace, simply use %{meta[i]} where i is the index or key of the meta item in question. To access trace meta in layout attributes, use %{data[n[.meta[i]} where i is the index or key of the meta and n is the trace index.

    Declaration

    Swift

    public var meta: Data<Anything>?
  • Array containing integer indices of selected points.

    Has an effect only for traces that support selections. Note that an empty array means an empty selection where the unselected are turned on for all points, whereas, any other non-array values means no selection all where the selected and unselected styles have no effect.

    Declaration

    Swift

    public var selectedPoints: Anything?
  • Determines which trace information appear on hover.

    If none or skip are set, no information is displayed upon hovering. But, if none is set, click and hover events are still fired.

    Declaration

    Swift

    public var hoverInfo: HoverInfo?
  • Undocumented

    Declaration

    Swift

    public var stream: Stream?
  • Undocumented

    Declaration

    Swift

    public var transforms: [Transform]
  • Controls persistence of some user-driven changes to the trace: constraintrange in parcoords traces, as well as some editable: true modifications such as name and colorbar.title.

    Defaults to layout.uirevision. Note that other user-driven trace attribute changes are controlled by layout attributes: trace.visible is controlled by layout.legend.uirevision, selectedpoints is controlled by layout.selectionrevision, and colorbar.(x|y) (accessible with config: {editable: true}) is controlled by layout.editrevision. Trace changes are tracked by uid, which only falls back on trace index if no uid is provided. So if your app can add/remove traces before the end of the data array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a uid that stays with it as it moves.

    Declaration

    Swift

    public var uiRevision: Anything?
  • Only relevant when the axis type is date.

    Sets the period positioning in milliseconds or M on the x axis. Special values in the form of M could be used to declare the number of months. In this case n must be a positive integer.

    Declaration

    Swift

    public var xPeriod: Anything?
  • Only relevant when the axis type is date.

    Sets the base for period positioning in milliseconds or date string on the x0 axis. When x0period is round number of weeks, the x0period0 by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

    Declaration

    Swift

    public var xPeriod0: Anything?
  • Only relevant when the axis type is date.

    Sets the alignment of data points on the x axis.

    Declaration

    Swift

    public var xPeriodAlignment: XPeriodAlignment?
  • x

    Sets the x coordinates.

    If absent, linear coordinate will be generated.

    Declaration

    Swift

    public var x: XData?
  • Sets the open values.

    Declaration

    Swift

    public var open: OHLCData?
  • Sets the high values.

    Declaration

    Swift

    public var high: OHLCData?
  • low

    Sets the low values.

    Declaration

    Swift

    public var low: OHLCData?
  • Sets the close values.

    Declaration

    Swift

    public var close: OHLCData?
  • Undocumented

    See more

    Declaration

    Swift

    public struct DashedLine : Encodable
  • Undocumented

    Declaration

    Swift

    public var line: DashedLine?
  • Undocumented

    See more

    Declaration

    Swift

    public struct Increasing : Encodable
  • Undocumented

    Declaration

    Swift

    public var increasing: Increasing?
  • Undocumented

    See more

    Declaration

    Swift

    public struct Decreasing : Encodable
  • Undocumented

    Declaration

    Swift

    public var decreasing: Decreasing?
  • Sets hover text elements associated with each sample point.

    If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to this trace’s sample points.

    Declaration

    Swift

    public var text: Data<String>?
  • Same as text.

    Declaration

    Swift

    public var hoverText: Data<String>?
  • Sets the width of the open/close tick marks relative to the x minimal interval.

    Declaration

    Swift

    public var tickWidth: Double?
  • Undocumented

    See more

    Declaration

    Swift

    public struct HoverLabel : Encodable
  • Undocumented

    Declaration

    Swift

    public var hoverLabel: HoverLabel?
  • Sets the calendar system to use with x date data.

    Declaration

    Swift

    public var xCalendar: Calendar?
  • Sets a reference between this trace’s x coordinates and a 2D cartesian x axis.

    If x (the default value), the x coordinates refer to layout.xaxis. If x2, the x coordinates refer to layout.xaxis2, and so on.

    Declaration

    Swift

    public var xAxis: XAxis
  • Sets a reference between this trace’s y coordinates and a 2D cartesian y axis.

    If y (the default value), the y coordinates refer to layout.yaxis. If y2, the y coordinates refer to layout.yaxis2, and so on.

    Declaration

    Swift

    public var yAxis: YAxis
  • Creates OHLC object from the most frequently used properties.

    Declaration

    Swift

    public init(name: String? = nil, x: XData? = nil, open: OHLCData? = nil, high: OHLCData? = nil,
            low: OHLCData? = nil, close: OHLCData? = nil, line: DashedLine? = nil, text: Data<String>? =
            nil, hoverText: Data<String>? = nil)

    Parameters

    name

    Sets the trace name.

    x

    Sets the x coordinates.

    open

    Sets the open values.

    high

    Sets the high values.

    low

    Sets the low values.

    close

    Sets the close values.

    line

    text

    Sets hover text elements associated with each sample point.

    hoverText

    Same as text.

  • Creates OHLC object with specified properties.

    Declaration

    Swift

    public init(visible: Visible? = nil, showLegend: Bool? = nil, legendGroup: String? = nil,
            opacity: Double? = nil, name: String? = nil, uid: String? = nil, ids: [String]? = nil,
            customData: [String]? = nil, meta: Data<Anything>? = nil, selectedPoints: Anything? = nil,
            hoverInfo: HoverInfo? = nil, stream: Stream? = nil, transforms: [Transform] = [], uiRevision:
            Anything? = nil, xPeriod: Anything? = nil, xPeriod0: Anything? = nil, xPeriodAlignment:
            XPeriodAlignment? = nil, x: XData? = nil, open: OHLCData? = nil, high: OHLCData? = nil, low:
            OHLCData? = nil, close: OHLCData? = nil, line: DashedLine? = nil, increasing: Increasing? = nil,
            decreasing: Decreasing? = nil, text: Data<String>? = nil, hoverText: Data<String>? = nil,
            tickWidth: Double? = nil, hoverLabel: HoverLabel? = nil, xCalendar: Calendar? = nil, xAxis:
            XAxis = .preset, yAxis: YAxis = .preset)

    Parameters

    visible

    Determines whether or not this trace is visible.

    showLegend

    Determines whether or not an item corresponding to this trace is shown in the legend.

    legendGroup

    Sets the legend group for this trace.

    opacity

    Sets the opacity of the trace.

    name

    Sets the trace name.

    uid

    Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.

    ids

    Assigns id labels to each datum.

    customData

    Assigns extra data each datum.

    meta

    Assigns extra meta information associated with this trace that can be used in various text attributes.

    selectedPoints

    Array containing integer indices of selected points.

    hoverInfo

    Determines which trace information appear on hover.

    stream

    transforms

    uiRevision

    Controls persistence of some user-driven changes to the trace: constraintrange in parcoords traces, as well as some editable: true modifications such as name and colorbar.title.

    xPeriod

    Only relevant when the axis type is date.

    xPeriod0

    Only relevant when the axis type is date.

    xPeriodAlignment

    Only relevant when the axis type is date.

    x

    Sets the x coordinates.

    open

    Sets the open values.

    high

    Sets the high values.

    low

    Sets the low values.

    close

    Sets the close values.

    line

    increasing

    decreasing

    text

    Sets hover text elements associated with each sample point.

    hoverText

    Same as text.

    tickWidth

    Sets the width of the open/close tick marks relative to the x minimal interval.

    hoverLabel

    xCalendar

    Sets the calendar system to use with x date data.

    xAxis

    Sets a reference between this trace’s x coordinates and a 2D cartesian x axis.

    yAxis

    Sets a reference between this trace’s y coordinates and a 2D cartesian y axis.

  • Encodes the object in a format compatible with Plotly.

    Declaration

    Swift

    public func encode(to encoder: Encoder) throws