Skip to main content

egui_charts/scales/
mod.rs

1//! Price ranges, coordinate transforms, axis ticks and label formatting.
2//!
3//! Use [`PriceScale`] and its per-frame [`PriceMap`] to map prices to screen
4//! coordinates. [`PriceFormatter`] and [`TimeFormatter`] customize axis labels;
5//! [`HorizontalScale`] supports non-time axes such as strikes and maturities.
6
7mod countdown;
8mod horizontal;
9mod price_formatter;
10mod pricescale;
11mod pricescale_marks;
12mod study_format;
13mod time_formatter;
14mod timescale_marks;
15
16pub use countdown::bar_countdown;
17#[cfg(feature = "widget")]
18pub(crate) use horizontal::median_bar_duration;
19pub use horizontal::{
20    HorizontalScale, MaturityScale, PriceHorizontalScale, TickMarkLayout, key_time, time_key,
21};
22pub use price_formatter::{
23    CurrencyFormatter, CustomPriceFormatter, DefaultPriceFormatter, PercentageFormatter,
24    PriceFormatter, PriceFormatterBuilder, ScientificFormatter, VolumeFormatter,
25    instrument_price_precision,
26};
27#[cfg(feature = "widget")]
28pub(crate) use price_formatter::{decimals, group_thousands, price_decimals, to_step};
29#[cfg(feature = "widget")]
30pub(crate) use pricescale::auto_scale_span;
31pub use pricescale::{
32    PriceMap, PriceRange, PriceScale, PriceScaleId, PriceScaleMargins, PriceScaleMode,
33    PriceScaleOptions, PriceTransform,
34};
35pub use pricescale_marks::{PriceMark, PriceMarkGenerator, PriceMarkGeneratorConfig};
36pub use study_format::StudyFormat;
37pub use time_formatter::{
38    CustomTimeFormatter, DefaultTimeFormatter, LocaleTimeFormatter, RelativeTimeFormatter,
39    TickMarkContext, TimeFormatter, TimeFormatterBuilder, TimezoneMode,
40};
41pub use timescale_marks::{
42    TickMark, TickMarkGenerator, TickMarkGeneratorConfig, TickMarkType, TickMarkWeight,
43};