@@ -192,30 +192,35 @@ pub struct ChartLayout<'a, 'b, DB: DrawingBackend> {
192
192
193
193
impl < ' a , ' b , DB : DrawingBackend > ChartLayout < ' a , ' b , DB > {
194
194
/// 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
197
197
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
+
198
203
Self {
199
204
root_area : root,
200
205
chart_title : Label {
201
206
text : None ,
202
- style : TextStyle :: from ( ( "serif" , 40.0 ) . into_font ( ) ) ,
207
+ style : ( "serif" , title_text_size ) . into ( ) ,
203
208
} ,
204
209
top_label : Label {
205
210
text : None ,
206
- style : TextStyle :: from ( ( "serif" , 25.0 ) . into_font ( ) ) ,
211
+ style : ( "serif" , label_text_size ) . into ( ) ,
207
212
} ,
208
213
bottom_label : Label {
209
214
text : None ,
210
- style : TextStyle :: from ( ( "serif" , 25.0 ) . into_font ( ) ) ,
215
+ style : ( "serif" , label_text_size ) . into ( ) ,
211
216
} ,
212
217
left_label : Label {
213
218
text : None ,
214
- style : TextStyle :: from ( ( "serif" , 25.0 ) . into_font ( ) ) ,
219
+ style : ( "serif" , label_text_size ) . into ( ) ,
215
220
} ,
216
221
right_label : Label {
217
222
text : None ,
218
- style : TextStyle :: from ( ( "serif" , 25.0 ) . into_font ( ) ) ,
223
+ style : ( "serif" , label_text_size ) . into ( ) ,
219
224
} ,
220
225
nodes : ChartLayoutNodes :: new ( ) . unwrap ( ) ,
221
226
axis_ranges : AxisSpecs :: new_blank ( ) ,
0 commit comments