Skip to content

Commit a9e7037

Browse files
committed
Autosizing of labels
1 parent 1b85ad0 commit a9e7037

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

src/chart/layout/mod.rs

+12-7
Original file line numberDiff line numberDiff line change
@@ -192,30 +192,35 @@ pub struct ChartLayout<'a, 'b, DB: DrawingBackend> {
192192

193193
impl<'a, 'b, DB: DrawingBackend> ChartLayout<'a, 'b, DB> {
194194
/// Create a chart builder on the given drawing area
195-
/// - `root`: The root drawing area
196-
/// - Returns: The chart layout object
195+
/// - `root`: The root drawing area
196+
/// - Returns: The chart layout object
197197
pub fn new(root: &'a DrawingArea<DB, Shift>) -> Self {
198+
let (w, h) = root.dim_in_pixel();
199+
let min_dim = w.min(h) as f32;
200+
let title_text_size = (min_dim / 10.).clamp(10., 100.);
201+
let label_text_size = (min_dim / 16.).clamp(10., 100.);
202+
198203
Self {
199204
root_area: root,
200205
chart_title: Label {
201206
text: None,
202-
style: TextStyle::from(("serif", 40.0).into_font()),
207+
style: ("serif", title_text_size).into(),
203208
},
204209
top_label: Label {
205210
text: None,
206-
style: TextStyle::from(("serif", 25.0).into_font()),
211+
style: ("serif", label_text_size).into(),
207212
},
208213
bottom_label: Label {
209214
text: None,
210-
style: TextStyle::from(("serif", 25.0).into_font()),
215+
style: ("serif", label_text_size).into(),
211216
},
212217
left_label: Label {
213218
text: None,
214-
style: TextStyle::from(("serif", 25.0).into_font()),
219+
style: ("serif", label_text_size).into(),
215220
},
216221
right_label: Label {
217222
text: None,
218-
style: TextStyle::from(("serif", 25.0).into_font()),
223+
style: ("serif", label_text_size).into(),
219224
},
220225
nodes: ChartLayoutNodes::new().unwrap(),
221226
axis_ranges: AxisSpecs::new_blank(),

0 commit comments

Comments
 (0)