6 module function spd_get_cmd(this) result(x)
8 class(scatter_plot_data),
intent(in) :: this
9 character(len = :),
allocatable :: x
12 type(string_builder) :: str
20 n = len_trim(this%get_name())
22 call str%append(
' "-" title "')
23 call str%append(this%get_name())
26 call str%append(
' "-" notitle')
30 if (this%get_fill_curve())
then
31 call str%append(
" with filledcurves")
33 if (this%get_draw_line() .and. this%get_draw_markers())
then
34 call str%append(
" with linespoints")
35 else if (.not.this%get_draw_line() .and. this%get_draw_markers())
then
36 call str%append(
" with points")
38 call str%append(
" with lines")
43 call str%append(
" lw ")
44 call str%append(to_string(this%get_line_width()))
47 if (this%get_use_data_dependent_colors())
then
49 call str%append(
" lc palette")
51 clr = this%get_line_color()
52 call str%append(
' lc rgb "#')
53 call str%append(clr%to_hex_string())
58 if (this%get_draw_line())
then
59 call str%append(
" lt ")
60 call str%append(to_string(this%get_line_style()))
61 if (this%get_line_style() /= line_solid)
then
62 call str%append(
" dashtype ")
63 call str%append(to_string(this%get_line_style()))
66 if (this%get_draw_markers())
then
67 call str%append(
" pi ")
68 call str%append(to_string(this%get_marker_frequency()))
69 call str%append(
" pt ")
70 call str%append(to_string(this%get_marker_style()))
71 call str%append(
" ps ")
72 if (this%get_use_variable_size_points())
then
73 call str%append(
"variable")
75 call str%append(to_string(this%get_marker_scaling()))
81 call str%append(this%get_axes_string())
84 x = char(str%to_string())
88 pure module function spd_get_line_width(this) result(x)
89 class(scatter_plot_data),
intent(in) :: this
95 module subroutine spd_set_line_width(this, x)
96 class(scatter_plot_data),
intent(inout) :: this
97 real(real32),
intent(in) :: x
102 pure module function spd_get_line_style(this) result(x)
103 class(scatter_plot_data),
intent(in) :: this
109 module subroutine spd_set_line_style(this, x)
110 class(scatter_plot_data),
intent(inout) :: this
111 integer(int32),
intent(in) :: x
112 if (x == line_dashed .or. &
113 x == line_dash_dotted .or. &
114 x == line_dash_dot_dot .or. &
115 x == line_dotted .or. &
116 x == line_solid)
then
123 pure module function spd_get_draw_line(this) result(x)
124 class(scatter_plot_data),
intent(in) :: this
130 module subroutine spd_set_draw_line(this, x)
131 class(scatter_plot_data),
intent(inout) :: this
132 logical,
intent(in) :: x
137 pure module function spd_get_draw_markers(this) result(x)
138 class(scatter_plot_data),
intent(in) :: this
140 x = this%m_drawMarkers
144 module subroutine spd_set_draw_markers(this, x)
145 class(scatter_plot_data),
intent(inout) :: this
146 logical,
intent(in) :: x
147 this%m_drawMarkers = x
151 pure module function spd_get_marker_style(this) result(x)
152 class(scatter_plot_data),
intent(in) :: this
154 x = this%m_markerType
158 module subroutine spd_set_marker_style(this, x)
159 class(scatter_plot_data),
intent(inout) :: this
160 integer(int32),
intent(in) :: x
161 if (x == marker_asterisk .or. &
162 x == marker_empty_circle .or. &
163 x == marker_empty_nabla .or. &
164 x == marker_empty_rhombus .or. &
165 x == marker_empty_square .or. &
166 x == marker_empty_triangle .or. &
167 x == marker_filled_circle .or. &
168 x == marker_filled_nabla .or. &
169 x == marker_filled_rhombus .or. &
170 x == marker_filled_square .or. &
171 x == marker_filled_triangle .or. &
172 x == marker_plus .or. &
176 this%m_markerType = x
181 pure module function spd_get_marker_scaling(this) result(x)
182 class(scatter_plot_data),
intent(in) :: this
184 x = this%m_markerSize
188 module subroutine spd_set_marker_scaling(this, x)
189 class(scatter_plot_data),
intent(inout) :: this
190 real(real32),
intent(in) :: x
191 this%m_markerSize = x
195 pure module function spd_get_marker_frequency(this) result(x)
196 class(scatter_plot_data),
intent(in) :: this
198 x = this%m_markerFrequency
202 module subroutine spd_set_marker_frequency(this, x)
203 class(scatter_plot_data),
intent(inout) :: this
204 integer(int32),
intent(in) :: x
205 this%m_markerFrequency = x
209 pure module function spd_get_simplify_data(this) result(x)
210 class(scatter_plot_data),
intent(in) :: this
212 x = this%m_simplifyData
216 module subroutine spd_set_simplify_data(this, x)
217 class(scatter_plot_data),
intent(inout) :: this
218 logical,
intent(in) :: x
219 this%m_simplifyData = x
223 pure module function spd_get_simplify_factor(this) result(x)
224 class(scatter_plot_data),
intent(in) :: this
226 x = this%m_simplifyFactor
230 module subroutine spd_set_simplify_factor(this, x)
231 class(scatter_plot_data),
intent(inout) :: this
232 real(real64),
intent(in) :: x
233 this%m_simplifyFactor = x
237 pure module function spd_get_data_dependent_colors(this) result(rst)
238 class(scatter_plot_data),
intent(in) :: this
240 rst = this%m_dataDependentColors
244 module subroutine spd_set_data_dependent_colors(this, x)
245 class(scatter_plot_data),
intent(inout) :: this
246 logical,
intent(in) :: x
247 this%m_dataDependentColors = x
253 pure module function spd_get_filled(this) result(rst)
254 class(scatter_plot_data),
intent(in) :: this
256 rst = this%m_filledCurve
260 module subroutine spd_set_filled(this, x)
261 class(scatter_plot_data),
intent(inout) :: this
262 logical,
intent(in) :: x
263 this%m_filledCurve = x
269 pure module function spd_get_use_var_point_size(this) result(rst)
270 class(scatter_plot_data),
intent(in) :: this
272 rst = this%m_useVariableSizePoints
276 module subroutine spd_set_use_var_point_size(this, x)
277 class(scatter_plot_data),
intent(inout) :: this
278 logical,
intent(in) :: x
279 this%m_useVariableSizePoints = x