Skip to main content

ChartSpace

Struct ChartSpace 

Source
pub struct ChartSpace {
    pub chart: Chart,
    pub shape_properties: Option<ShapeProperties>,
}
Expand description

The chart part’s root element (<c:chartSpace>, CT_ChartSpace) — the whole content of a chart XML part (e.g. xl/charts/chart1.xml). Unlike drawing’s fragment-only functions, this crate’s reader/writer for ChartSpace produce/consume the entire part (XML declaration and root element included) — <c:chartSpace> is always the same element regardless of host, unlike <a:spPr>, which is wrapped differently by each host (see lib.rs’s doc comment).

Not modeled (all deferred, see the project notes section): date1904, lang, roundedCorners, style, clrMapOvr, pivotSource, protection, txPr (see Title’s doc comment for why txPr specifically is deferred everywhere), externalData, printSettings, userShapes. Assigning this a part name/content-type and wiring a relationship from a host drawing is packaging work left to a future host crate, not this one.

Fields§

§chart: Chart§shape_properties: Option<ShapeProperties>

Implementations§

Source§

impl ChartSpace

Source

pub fn new(chart: Chart) -> ChartSpace

Examples found in repository?
examples/docx_images_and_charts.rs (line 66)
41fn sample_chart_space() -> ChartSpace {
42    let categories = StringData::new()
43        .with_point(StringPoint::new(0, "Q1"))
44        .with_point(StringPoint::new(1, "Q2"))
45        .with_point(StringPoint::new(2, "Q3"));
46    let values = NumericData::new()
47        .with_point(NumericPoint::new(0, "1200"))
48        .with_point(NumericPoint::new(1, "1350"))
49        .with_point(NumericPoint::new(2, "980"));
50
51    let series = BarSeries::new(0, 0)
52        .with_categories(AxisDataSource::String(StringDataSource::literal(
53            categories,
54        )))
55        .with_values(NumericDataSource::literal(values));
56
57    let bar_chart = BarChart::new(BarDirection::Column, 1, 2).with_series(series);
58    let category_axis = CategoryAxis::new(1, AxisPosition::Bottom, 2);
59    let value_axis = ValueAxis::new(2, AxisPosition::Left, 1);
60
61    let plot_area = PlotArea::new()
62        .with_chart(ChartType::Bar(bar_chart))
63        .with_axis(Axis::Category(category_axis))
64        .with_axis(Axis::Value(value_axis));
65
66    ChartSpace::new(Chart::new(plot_area))
67}
More examples
Hide additional examples
examples/pptx_media.rs (line 106)
81fn sample_chart_space() -> ChartSpace {
82    let categories = StringData::new()
83        .with_point(StringPoint::new(0, "Q1"))
84        .with_point(StringPoint::new(1, "Q2"))
85        .with_point(StringPoint::new(2, "Q3"));
86    let values = NumericData::new()
87        .with_point(NumericPoint::new(0, "1200"))
88        .with_point(NumericPoint::new(1, "1350"))
89        .with_point(NumericPoint::new(2, "980"));
90
91    let series = BarSeries::new(0, 0)
92        .with_categories(AxisDataSource::String(StringDataSource::literal(
93            categories,
94        )))
95        .with_values(NumericDataSource::literal(values));
96
97    let bar_chart = BarChart::new(BarDirection::Column, 1, 2).with_series(series);
98    let category_axis = CategoryAxis::new(1, AxisPosition::Bottom, 2);
99    let value_axis = ValueAxis::new(2, AxisPosition::Left, 1);
100
101    let plot_area = PlotArea::new()
102        .with_chart(ChartType::Bar(bar_chart))
103        .with_axis(Axis::Category(category_axis))
104        .with_axis(Axis::Value(value_axis));
105
106    ChartSpace::new(Chart::new(plot_area))
107}
examples/xlsx_images_and_charts.rs (line 78)
53fn sample_chart_space() -> ChartSpace {
54    let categories = StringData::new()
55        .with_point(StringPoint::new(0, "Q1"))
56        .with_point(StringPoint::new(1, "Q2"))
57        .with_point(StringPoint::new(2, "Q3"));
58    let values = NumericData::new()
59        .with_point(NumericPoint::new(0, "1200"))
60        .with_point(NumericPoint::new(1, "1350"))
61        .with_point(NumericPoint::new(2, "980"));
62
63    let series = BarSeries::new(0, 0)
64        .with_categories(AxisDataSource::String(StringDataSource::literal(
65            categories,
66        )))
67        .with_values(NumericDataSource::literal(values));
68
69    let bar_chart = BarChart::new(BarDirection::Column, 1, 2).with_series(series);
70    let category_axis = CategoryAxis::new(1, AxisPosition::Bottom, 2);
71    let value_axis = ValueAxis::new(2, AxisPosition::Left, 1);
72
73    let plot_area = PlotArea::new()
74        .with_chart(ChartType::Bar(bar_chart))
75        .with_axis(Axis::Category(category_axis))
76        .with_axis(Axis::Value(value_axis));
77
78    ChartSpace::new(Chart::new(plot_area))
79}
Source

pub fn with_shape_properties(self, properties: ShapeProperties) -> ChartSpace

Trait Implementations§

Source§

impl Clone for ChartSpace

Source§

fn clone(&self) -> ChartSpace

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ChartSpace

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl PartialEq for ChartSpace

Source§

fn eq(&self, other: &ChartSpace) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ChartSpace

Auto Trait Implementations§

Blanket Implementations§

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<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.