@@ -64,10 +64,9 @@ defmodule Matplotex.Figure.Lead do
6464 } = axes
6565 } = figure
6666 ) do
67-
68-
6967 { x_ticks , x_lim } = maybe_generate_ticks ( x_ticks , x_lim , x_data , width )
7068 { y_ticks , y_lim } = maybe_generate_ticks ( y_ticks , y_lim , y_data , height )
69+
7170 % Figure {
7271 figure
7372 | axes: % {
@@ -79,37 +78,38 @@ defmodule Matplotex.Figure.Lead do
7978 end
8079
8180 defp maybe_generate_ticks ( ticks , limit , data , number_of_ticks ) do
82-
8381 cond do
8482 is_nil ( ticks ) || length ( ticks ) < 3 ->
8583 generate_ticks ( limit , data , ceil ( number_of_ticks ) )
84+
8685 is_nil ( limit ) ->
8786 { ticks , generate_limit ( data ) }
87+
8888 true ->
8989 { ticks , limit }
90-
9190 end
9291 end
9392
9493 defp generate_ticks ( nil , data , number_of_ticks ) do
9594 data
96- |> generate_limit ( )
97- |> generate_ticks ( data , number_of_ticks )
95+ |> generate_limit ( )
96+ |> generate_ticks ( data , number_of_ticks )
9897 end
9998
100-
10199 defp generate_ticks ( { lower_limit , upper_limit } = lim , _data , number_of_ticks ) do
102100 { lower_limit |> Nx . linspace ( upper_limit , n: number_of_ticks ) |> Nx . to_list ( ) , lim }
103101 end
104102
105103 defp generate_limit ( data ) do
106104 { min , upper_limit } = Enum . min_max ( data )
105+
107106 lower_limit =
108107 if min < 0 do
109108 min
110109 else
111110 0
112111 end
112+
113113 { lower_limit , upper_limit }
114114 end
115115
@@ -364,12 +364,11 @@ defmodule Matplotex.Figure.Lead do
364364 rotation: 0
365365 } ,
366366 text
367- )
368- do
369- text_size = tick_length ( text ) * to_number ( font_size ) * ( pt_to_inch_ratio / 2 )
370- offset_for_text_length = ( ( 1 / tick_length ( text ) ) * ( pt_to_inch_ratio / 2 ) * to_number ( font_size ) )
371- text_size + offset_for_text_length + flate
372- end
367+ ) do
368+ text_size = tick_length ( text ) * to_number ( font_size ) * ( pt_to_inch_ratio / 2 )
369+ offset_for_text_length = 1 / tick_length ( text ) * ( pt_to_inch_ratio / 2 ) * to_number ( font_size )
370+ text_size + offset_for_text_length + flate
371+ end
373372
374373 def length_required_for_text (
375374 % Font {
0 commit comments