@@ -8,7 +8,6 @@ defmodule Matplotex.Figure.Areal.Spline do
88 alias Matplotex.Figure.TwoD
99 alias Matplotex.Figure
1010
11-
1211 use Areal
1312
1413 frame (
@@ -21,6 +20,7 @@ defmodule Matplotex.Figure.Areal.Spline do
2120 region_legend: % Region { } ,
2221 region_content: % Region { }
2322 )
23+
2424 @ impl Areal
2525 def create (
2626 % Figure { axes: % __MODULE__ { dataset: data } = axes } = figure ,
@@ -40,29 +40,34 @@ defmodule Matplotex.Figure.Areal.Spline do
4040
4141 @ impl Areal
4242 def materialize ( figure ) do
43- figure
44- |> __MODULE__ . materialized_by_region ( )
45- |> materialize_spline ( )
46-
43+ figure
44+ |> __MODULE__ . materialized_by_region ( )
45+ |> materialize_spline ( )
4746 end
48- defp materialize_spline ( % Figure { axes:
49- % {
50- dataset: data ,
51- limit: % { x: xlim , y: ylim } ,
52- region_content: % Region {
53- x: x_region_content ,
54- y: y_region_content ,
55- width: width_region_content ,
56- height: height_region_content
57- } ,
58- element: elements
59- } = axes ,
60- rc_params: % RcParams { x_padding: x_padding , y_padding: y_padding } } = figure ) do
47+
48+ defp materialize_spline (
49+ % Figure {
50+ axes:
51+ % {
52+ dataset: data ,
53+ limit: % { x: xlim , y: ylim } ,
54+ region_content: % Region {
55+ x: x_region_content ,
56+ y: y_region_content ,
57+ width: width_region_content ,
58+ height: height_region_content
59+ } ,
60+ element: elements
61+ } = axes ,
62+ rc_params: % RcParams { x_padding: x_padding , y_padding: y_padding }
63+ } = figure
64+ ) do
6165 x_padding_value = width_region_content * x_padding
6266 y_padding_value = height_region_content * y_padding
6367 shrinked_width_region_content = width_region_content - x_padding_value * 2
6468 shrinked_height_region_content = height_region_content - y_padding_value * 2
6569 transition = { x_region_content + x_padding_value , y_region_content + y_padding_value }
70+
6671 line_elements =
6772 data
6873 |> Enum . map ( fn dataset ->
@@ -83,19 +88,33 @@ defmodule Matplotex.Figure.Areal.Spline do
8388 % Figure { figure | axes: % { axes | element: elements } }
8489 end
8590
86-
87-
88- defp capture ( % Dataset { transformed: transformed , color: color , edge_color: edge_color , line_width: stroke_width } , move_to_def ) do
91+ defp capture (
92+ % Dataset {
93+ transformed: transformed ,
94+ color: color ,
95+ edge_color: edge_color ,
96+ line_width: stroke_width
97+ } ,
98+ move_to_def
99+ ) do
89100 { moveto , transformed } = List . pop_at ( transformed , 0 , move_to_def )
90101 cubic = Enum . slice ( transformed , 0 .. 2 )
91102 smooths = blend ( transformed , 3 )
92- % Spline { type: "figure.spline" , moveto: moveto , cubic: cubic , smooths: smooths , fill: color , stroke: edge_color , stroke_width: stroke_width }
103+
104+ % Spline {
105+ type: "figure.spline" ,
106+ moveto: moveto ,
107+ cubic: cubic ,
108+ smooths: smooths ,
109+ fill: color ,
110+ stroke: edge_color ,
111+ stroke_width: stroke_width
112+ }
93113 end
94114
95115 defp blend ( smooths , start_from ) do
96- smooths
97- |> Enum . slice ( start_from .. - 1 // 1 )
98- |> Enum . chunk_every ( 2 )
99-
116+ smooths
117+ |> Enum . slice ( start_from .. - 1 // 1 )
118+ |> Enum . chunk_every ( 2 )
100119 end
101120end
0 commit comments