pub struct BarChart {
pub direction: BarDirection,
pub grouping: Option<BarGrouping>,
pub vary_colors: Option<bool>,
pub series: Vec<BarSeries>,
pub gap_width_percent: Option<i32>,
pub overlap_percent: Option<i32>,
pub category_axis_id: u32,
pub value_axis_id: u32,
}Expand description
A bar/column chart (<c:barChart>, CT_BarChart) — always paired with exactly two axes (axId minOccurs="2" maxOccurs="2", hence the plain tuple rather than Option/Vec), one
CategoryAxis and one ValueAxis.
Not modeled: serLines (a legacy “series lines” connector, mostly seen in stacked-bar charts
converted from older Office versions), dLbls. See Bar3DChart for the 3D counterpart.
Fields§
§direction: BarDirection§grouping: Option<BarGrouping>§vary_colors: Option<bool>§series: Vec<BarSeries>§gap_width_percent: Option<i32><c:gapWidth val="..%"/> — 0.=500, schema default 150.
overlap_percent: Option<i32><c:overlap val="..%"/> — -100.=100, schema default 0.
category_axis_id: u32§value_axis_id: u32Implementations§
Source§impl BarChart
impl BarChart
Sourcepub fn new(
direction: BarDirection,
category_axis_id: u32,
value_axis_id: u32,
) -> BarChart
pub fn new( direction: BarDirection, category_axis_id: u32, value_axis_id: u32, ) -> BarChart
Examples found in repository?
examples/docx_images_and_charts.rs (line 57)
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
examples/pptx_media.rs (line 97)
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 69)
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}pub fn with_grouping(self, grouping: BarGrouping) -> BarChart
pub fn with_vary_colors(self, vary: bool) -> BarChart
Sourcepub fn with_series(self, series: BarSeries) -> BarChart
pub fn with_series(self, series: BarSeries) -> BarChart
Examples found in repository?
examples/docx_images_and_charts.rs (line 57)
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
examples/pptx_media.rs (line 97)
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 69)
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}pub fn with_gap_width_percent(self, percent: i32) -> BarChart
pub fn with_overlap_percent(self, percent: i32) -> BarChart
Trait Implementations§
impl StructuralPartialEq for BarChart
Auto Trait Implementations§
impl Freeze for BarChart
impl RefUnwindSafe for BarChart
impl Send for BarChart
impl Sync for BarChart
impl Unpin for BarChart
impl UnsafeUnpin for BarChart
impl UnwindSafe for BarChart
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
Mutably borrows from an owned value. Read more