pub struct SeriesLine {
pub color: Option<Color>,
pub width: Option<StrokeWidth>,
pub name: Option<Name>,
pub aggregation_policy: Option<AggregationPolicy>,
}
Expand description
Archetype: Define the style properties for a line series in a chart.
This archetype only provides styling information and should be logged as static
when possible. The underlying data needs to be logged to the same entity-path using
archetypes::Scalar
.
§Example
§Line series
fn main() -> Result<(), Box<dyn std::error::Error>> {
let rec = rerun::RecordingStreamBuilder::new("rerun_example_series_line_style").spawn()?;
// Set up plot styling:
// They are logged static as they don't change over time and apply to all timelines.
// Log two lines series under a shared root so that they show in the same plot by default.
rec.log_static(
"trig/sin",
&rerun::SeriesLine::new()
.with_color([255, 0, 0])
.with_name("sin(0.01t)")
.with_width(2.0),
)?;
rec.log_static(
"trig/cos",
&rerun::SeriesLine::new()
.with_color([0, 255, 0])
.with_name("cos(0.01t)")
.with_width(4.0),
)?;
for t in 0..((std::f32::consts::TAU * 2.0 * 100.0) as i64) {
rec.set_time_sequence("step", t);
// Log two time series under a shared root so that they show in the same plot by default.
rec.log("trig/sin", &rerun::Scalar::new((t as f64 / 100.0).sin()))?;
rec.log("trig/cos", &rerun::Scalar::new((t as f64 / 100.0).cos()))?;
}
Ok(())
}
Fields§
§color: Option<Color>
Color for the corresponding series.
width: Option<StrokeWidth>
Stroke width for the corresponding series.
name: Option<Name>
Display name of the series.
Used in the legend.
aggregation_policy: Option<AggregationPolicy>
Configures the zoom-dependent scalar aggregation.
This is done only if steps on the X axis go below a single pixel, i.e. a single pixel covers more than one tick worth of data. It can greatly improve performance (and readability) in such situations as it prevents overdraw.
Implementations§
Source§impl SeriesLine
impl SeriesLine
Sourcepub const NUM_COMPONENTS: usize = 5usize
pub const NUM_COMPONENTS: usize = 5usize
The total number of components in the archetype: 0 required, 1 recommended, 4 optional
Source§impl SeriesLine
impl SeriesLine
Sourcepub fn with_color(self, color: impl Into<Color>) -> Self
pub fn with_color(self, color: impl Into<Color>) -> Self
Color for the corresponding series.
Sourcepub fn with_width(self, width: impl Into<StrokeWidth>) -> Self
pub fn with_width(self, width: impl Into<StrokeWidth>) -> Self
Stroke width for the corresponding series.
Sourcepub fn with_name(self, name: impl Into<Name>) -> Self
pub fn with_name(self, name: impl Into<Name>) -> Self
Display name of the series.
Used in the legend.
Sourcepub fn with_aggregation_policy(
self,
aggregation_policy: impl Into<AggregationPolicy>,
) -> Self
pub fn with_aggregation_policy( self, aggregation_policy: impl Into<AggregationPolicy>, ) -> Self
Configures the zoom-dependent scalar aggregation.
This is done only if steps on the X axis go below a single pixel, i.e. a single pixel covers more than one tick worth of data. It can greatly improve performance (and readability) in such situations as it prevents overdraw.
Trait Implementations§
Source§impl Archetype for SeriesLine
impl Archetype for SeriesLine
Source§type Indicator = GenericIndicatorComponent<SeriesLine>
type Indicator = GenericIndicatorComponent<SeriesLine>
Source§fn name() -> ArchetypeName
fn name() -> ArchetypeName
rerun.archetypes.Points2D
.Source§fn display_name() -> &'static str
fn display_name() -> &'static str
Source§fn indicator() -> MaybeOwnedComponentBatch<'static>
fn indicator() -> MaybeOwnedComponentBatch<'static>
Source§fn required_components() -> Cow<'static, [ComponentName]>
fn required_components() -> Cow<'static, [ComponentName]>
Source§fn recommended_components() -> Cow<'static, [ComponentName]>
fn recommended_components() -> Cow<'static, [ComponentName]>
Source§fn optional_components() -> Cow<'static, [ComponentName]>
fn optional_components() -> Cow<'static, [ComponentName]>
Source§fn all_components() -> Cow<'static, [ComponentName]>
fn all_components() -> Cow<'static, [ComponentName]>
Source§fn from_arrow_components(
arrow_data: impl IntoIterator<Item = (ComponentName, Box<dyn Array>)>,
) -> DeserializationResult<Self>
fn from_arrow_components( arrow_data: impl IntoIterator<Item = (ComponentName, Box<dyn Array>)>, ) -> DeserializationResult<Self>
ComponentNames
, deserializes them
into this archetype. Read moreSource§fn from_arrow(
data: impl IntoIterator<Item = (Field, Box<dyn Array>)>,
) -> Result<Self, DeserializationError>where
Self: Sized,
fn from_arrow(
data: impl IntoIterator<Item = (Field, Box<dyn Array>)>,
) -> Result<Self, DeserializationError>where
Self: Sized,
Source§impl AsComponents for SeriesLine
impl AsComponents for SeriesLine
Source§fn as_component_batches(&self) -> Vec<MaybeOwnedComponentBatch<'_>>
fn as_component_batches(&self) -> Vec<MaybeOwnedComponentBatch<'_>>
ComponentBatch
s. Read moreSource§impl Clone for SeriesLine
impl Clone for SeriesLine
Source§fn clone(&self) -> SeriesLine
fn clone(&self) -> SeriesLine
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for SeriesLine
impl Debug for SeriesLine
Source§impl SizeBytes for SeriesLine
impl SizeBytes for SeriesLine
Source§fn heap_size_bytes(&self) -> u64
fn heap_size_bytes(&self) -> u64
self
on the heap, in bytes.Source§fn total_size_bytes(&self) -> u64
fn total_size_bytes(&self) -> u64
self
in bytes, accounting for both stack and heap space.Source§fn stack_size_bytes(&self) -> u64
fn stack_size_bytes(&self) -> u64
self
on the stack, in bytes. Read moreimpl ArchetypeReflectionMarker for SeriesLine
Auto Trait Implementations§
impl Freeze for SeriesLine
impl RefUnwindSafe for SeriesLine
impl Send for SeriesLine
impl Sync for SeriesLine
impl Unpin for SeriesLine
impl UnwindSafe for SeriesLine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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