Skip to main content

CandlestickChart

Struct CandlestickChart 

Source
pub struct CandlestickChart<T, X, Y>
where T: 'static, X: Eq + Hash + Into<SharedString> + 'static, Y: PlotValue,
{ /* private fields */ }

Implementations§

Source§

impl<T, X, Y> CandlestickChart<T, X, Y>
where X: Eq + Hash + Into<SharedString> + 'static, Y: PlotValue,

Source

pub fn new<I>(data: I) -> Self
where I: IntoIterator<Item = T>,

Source

pub fn id(self, id: impl Into<ElementId>) -> Self

Name this chart’s ElementId, replacing the default taken from the construction site.

Pass one where a single construction site renders several of these charts as siblings: they share the default id, and with it one hover state and one path cache. The id must be unique among those siblings.

Source

pub fn interactive(self, interactive: bool) -> Self

Turn this chart’s interactive layer on or off. On by default.

The layer is the hitbox under the cursor and what it drives: a highlight band marks the hovered candle, and a tooltip shows its open, high, low and close. Turn it off for a chart that only decorates, or one an element above it wants the cursor for: without a hitbox it neither answers the mouse nor takes the hover from what sits over it. A chart that is off also drops its path cache, which is keyed on the same id.

Source

pub fn tooltip_title(self, title: impl Fn(&T) -> SharedString + 'static) -> Self

Set the hover tooltip’s title for a datum, instead of its x value.

Source

pub fn tooltip_value( self, value: impl Fn(&T, usize, f64) -> SharedString + 'static, ) -> Self

Set the text of each tooltip row’s value; the raw number by default.

The closure receives the datum, the row’s index (0 to 3 for open, high, low and close) and the value the row reads.

Source

pub fn tooltip_value_color<H>( self, color: impl Fn(&T, usize, f64) -> H + 'static, ) -> Self
where H: Into<Hsla>,

Color each tooltip row’s value, such as green or red by its sign; the tooltip’s text color by default.

The closure receives the same arguments as tooltip_value.

Source

pub fn tooltip_content<E>( self, content: impl Fn(&T, &mut Window, &mut App) -> E + 'static, ) -> Self
where E: IntoElement,

Draw the tooltip box’s content for a datum yourself, in place of the title and rows, for a layout they cannot express such as a table.

The highlight band and where the box sits stay the chart’s, and tooltip_title, tooltip_value and tooltip_value_color no longer apply.

Source

pub fn x(self, x: impl Fn(&T) -> X + 'static) -> Self

Source

pub fn open(self, open: impl Fn(&T) -> Y + 'static) -> Self

Source

pub fn high(self, high: impl Fn(&T) -> Y + 'static) -> Self

Source

pub fn low(self, low: impl Fn(&T) -> Y + 'static) -> Self

Source

pub fn close(self, close: impl Fn(&T) -> Y + 'static) -> Self

Source

pub fn tick_margin(self, tick_margin: usize) -> Self

Source

pub fn body_width_ratio(self, ratio: f32) -> Self

Source

pub fn max_band_width(self, width: impl Into<Pixels>) -> Self

Keep every candle’s band at most width wide, so a few candles across a wide chart stay narrow.

Default is 30px.

Source

pub fn x_axis(self, x_axis: bool) -> Self

Show or hide the x-axis line and labels.

Default is true.

Source

pub fn grid(self, grid: bool) -> Self

Source

pub fn bullish(self, color: impl Into<Hsla>) -> Self

Set the color of a candle that closed above its open.

Defaults to the theme’s chart.bullish color. Markets that read a rise as red set this and Self::bearish the other way round.

Source

pub fn bearish(self, color: impl Into<Hsla>) -> Self

Set the color of a candle that closed at or below its open.

Defaults to the theme’s chart.bearish color.

Trait Implementations§

Source§

impl<T, X, Y> IntoElement for CandlestickChart<T, X, Y>
where T: 'static, X: Eq + Hash + Into<SharedString> + 'static, Y: PlotValue,

Source§

type Element = PlotElement<CandlestickChart<T, X, Y>>

The specific type of element into which the implementing type is converted. Useful for converting other types into elements automatically, like Strings
Source§

fn into_element(self) -> Self::Element

Convert self into a type that implements Element.
Source§

fn into_any_element(self) -> AnyElement

Convert self into a dynamically-typed AnyElement.
Source§

impl<T, X, Y> Plot for CandlestickChart<T, X, Y>
where X: Eq + Hash + Into<SharedString> + 'static, Y: PlotValue,

Source§

fn paint(&mut self, bounds: Bounds<Pixels>, window: &mut Window, cx: &mut App)

Source§

fn id(&self) -> Option<ElementId>

A stable element id that enables interactive tooltip support for this plot. Read more
Source§

fn tooltip_state( &self, position: Point<Pixels>, bounds: Bounds<Pixels>, _cx: &App, ) -> Option<TooltipState>

Map the cursor to the tooltip state to display. Read more
Source§

fn tooltip( &self, state: &TooltipState, cursor: Point<Pixels>, bounds: Bounds<Pixels>, window: &mut Window, cx: &mut App, ) -> Option<AnyElement>

Render the tooltip overlay for the active TooltipState. Read more
Source§

fn prepaint( &mut self, _bounds: Bounds<Pixels>, _window: &mut Window, _cx: &mut App, ) -> Vec<AnyElement>

Lay out and place the child elements this plot hosts (e.g. element labels). Read more
Source§

fn hover( &mut self, _hover: Option<&PlotHover>, _window: &mut Window, _cx: &mut App, )

Receive the hovered datum this frame, before Plot::tooltip and Plot::paint run. Read more

Auto Trait Implementations§

§

impl<T, X, Y> !RefUnwindSafe for CandlestickChart<T, X, Y>

§

impl<T, X, Y> !Send for CandlestickChart<T, X, Y>

§

impl<T, X, Y> !Sync for CandlestickChart<T, X, Y>

§

impl<T, X, Y> !UnwindSafe for CandlestickChart<T, X, Y>

§

impl<T, X, Y> Freeze for CandlestickChart<T, X, Y>
where Vec<T>: Freeze, Option<Rc<dyn Fn(&T) -> X>>: Freeze, Option<Rc<dyn Fn(&T) -> Y>>: Freeze, TooltipContent<T>: Freeze,

§

impl<T, X, Y> Unpin for CandlestickChart<T, X, Y>
where Vec<T>: Unpin, Option<Rc<dyn Fn(&T) -> X>>: Unpin, Option<Rc<dyn Fn(&T) -> Y>>: Unpin, TooltipContent<T>: Unpin,

§

impl<T, X, Y> UnsafeUnpin for CandlestickChart<T, X, Y>
where Vec<T>: UnsafeUnpin, Option<Rc<dyn Fn(&T) -> X>>: UnsafeUnpin, Option<Rc<dyn Fn(&T) -> Y>>: UnsafeUnpin, TooltipContent<T>: UnsafeUnpin,

Blanket Implementations§

Source§

impl<E> AnimationExt for E
where E: IntoElement + 'static,

Source§

fn with_animation( self, id: impl Into<ElementId>, animation: Animation, animator: impl Fn(Self, f32) -> Self + 'static, ) -> AnimationElement<Self>
where Self: Sized,

Render this component or element with an animation
Source§

fn with_animations( self, id: impl Into<ElementId>, animations: Vec<Animation>, animator: impl Fn(Self, usize, f32) -> Self + 'static, ) -> AnimationElement<Self>
where Self: Sized,

Render this component or element with a chain of animations
Source§

fn with_spring<T>( self, id: impl Into<ElementId>, animation: SpringAnimation<T>, animator: impl FnOnce(Self, <T as SpringTarget>::Output) -> Self + 'static, ) -> SpringAnimationElement<Self>
where Self: Sized, T: SpringTarget, <T as SpringTarget>::Output: 'static,

Renders this component or element at the value produced by a spring. Read more
Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> FluentBuilder for T
where T: IntoElement,

Source§

fn map<U>(self, f: impl FnOnce(Self) -> U) -> U
where Self: Sized,

Imperatively modify self with the given closure.
Source§

fn when(self, condition: bool, then: impl FnOnce(Self) -> Self) -> Self
where Self: Sized,

Conditionally modify self with the given closure.
Source§

fn when_else( self, condition: bool, then: impl FnOnce(Self) -> Self, else_fn: impl FnOnce(Self) -> Self, ) -> Self
where Self: Sized,

Conditionally modify self with the given closure.
Source§

fn when_some<T>( self, option: Option<T>, then: impl FnOnce(Self, T) -> Self, ) -> Self
where Self: Sized,

Conditionally unwrap and modify self with the given closure, if the given option is Some.
Source§

fn when_none<T>( self, option: &Option<T>, then: impl FnOnce(Self) -> Self, ) -> Self
where Self: Sized,

Conditionally unwrap and modify self with the given closure, if the given option is None.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more