26#include "steppable/number.hpp"
27#include "steppable/parameter.hpp"
35 using namespace steppable::__internals::utils;
36 using namespace steppable::__internals::symbols;
37 using namespace steppable::__internals::parameter;
48 constexpr std::string_view
BLOCK =
"\u2588";
94 template<
typename... Params>
101 PARAM_GET_FALLBACK(map,
long long,
width, 30LL);
102 PARAM_GET_FALLBACK(map,
long long,
height, 20LL);
105 PARAM_GET_FALLBACK(map, std::string,
title,
"Graph");
106 PARAM_GET_FALLBACK(map, std::string,
xAxisTitle,
"X Axis Title");
107 PARAM_GET_FALLBACK(map, std::string,
yAxisTitle,
"Y Axis Title");
133 template<
typename... Params>
138 PARAM_GET_FALLBACK(map,
long long,
width, 30LL);
139 PARAM_GET_FALLBACK(map,
long long,
height, 20LL);
141 PARAM_GET_FALLBACK(map,
long long, barWidth, 2LL);
142 PARAM_GET_FALLBACK(map, std::string,
title,
"Bar Graph");
143 PARAM_GET_FALLBACK(map, std::string,
xAxisTitle,
"X Axis Title");
144 PARAM_GET_FALLBACK(map, std::string,
yAxisTitle,
"Y Axis Title");
152 this->xTickSpacing = barWidth;
182 template<
typename... Params>
188 PARAM_GET_FALLBACK(map, std::string,
title,
"Line"s);
202 this->shadeDot = shadeBlock;
210 template<
typename... Params>
216 PARAM_GET_FALLBACK(map,
long long, barWidth, 2);
217 PARAM_GET_FALLBACK(map, std::string,
title,
"Bar"s);
Represents a number with arbitrary precision. It basically stores the value as a string.
Definition number.hpp:53
Definition conPlotTypes.hpp:164
ParameterMap processParams(Params... params)
Process parameters passed into a function.
Definition parameter.hpp:175
std::ostream & keepOriginal(std::ostream &stream)
Does nothing.
Definition colors.cpp:94
std::ostream & green(std::ostream &stream)
Set the text color to green.
Definition colors.cpp:114
std::function< std::ostream &(std::ostream &)> ColorFunc
Definition colors.hpp:65
Contains string values of dots to be graphed on the screen.
constexpr std::string_view ROUND_DOT
Round dot.
Definition conPlotTypes.hpp:47
constexpr std::string_view LIGHT_BLOCK_3
More densly-filled block.
Definition conPlotTypes.hpp:51
constexpr std::string_view LIGHT_BLOCK_1
Lightly-filled block.
Definition conPlotTypes.hpp:49
constexpr std::string_view BLOCK
Solid-filled block.
Definition conPlotTypes.hpp:48
constexpr std::string_view LIGHT_BLOCK_2
Medium-lightly-filled block.
Definition conPlotTypes.hpp:50
Graphing utilities for showing graphs in the console.
Definition conPlot.cpp:35
std::function< Number(Number)> GraphFn
Definition conPlotTypes.hpp:39
std::pair< Number, Number > NumberPair
Definition conPlotTypes.hpp:81
ShadeOptions
Definition conPlotTypes.hpp:71
@ SHADE_ABOVE_SECOND
Definition conPlotTypes.hpp:77
@ SHADE_BELOW_FIRST
Definition conPlotTypes.hpp:78
@ NO_SHADE
Definition conPlotTypes.hpp:72
@ SHADE_BETWEEN_BOTH
Definition conPlotTypes.hpp:75
@ SHADE_ABOVE_FIRST
Definition conPlotTypes.hpp:73
@ SHADE_OUTSIDE_BOTH
Definition conPlotTypes.hpp:76
@ SHADE_BELOW_SECOND
Definition conPlotTypes.hpp:74
Number xMin
Definition conPlotTypes.hpp:125
BarGraphOptions(Params... params)
Initializes a new GraphOptions instance.
Definition conPlotTypes.hpp:134
Number xMax
Definition conPlotTypes.hpp:126
long long yTickSpacing
Spacing between each y axis tick.
Definition conPlotTypes.hpp:123
long long xTickSpacing
Width of a single bar.
Definition conPlotTypes.hpp:124
BarOptions(Params... params)
Definition conPlotTypes.hpp:211
std::string title
Definition conPlotTypes.hpp:208
Definition conPlotTypes.hpp:55
Number xMax
Maximum x value.
Definition conPlotTypes.hpp:67
long long xTickSpacing
Spacing between each x axis tick.
Definition conPlotTypes.hpp:63
std::string xAxisTitle
Title of the x axis.
Definition conPlotTypes.hpp:57
std::string title
Title of the graph.
Definition conPlotTypes.hpp:56
std::string yAxisTitle
Title of the y axis.
Definition conPlotTypes.hpp:58
long long width
Width of the graph.
Definition conPlotTypes.hpp:60
long long yTickSpacing
Spacing between each y axis tick.
Definition conPlotTypes.hpp:64
long long height
Height of the graph.
Definition conPlotTypes.hpp:61
Number xMin
Minimum x value.
Definition conPlotTypes.hpp:66
GraphOptions(Params... params)
Initializes a new GraphOptions instance.
Definition conPlotTypes.hpp:95
Definition conPlotTypes.hpp:157
ColorFunc lineColor
Color of the dot to output.
Definition conPlotTypes.hpp:159
std::string_view lineDot
Dot type to be drawn on screen.
Definition conPlotTypes.hpp:158
std::string title
Name of the line to be shown in the legend.
Definition conPlotTypes.hpp:160
LineOptions(Params... params)
Initializes a new LineOptions instance.
Definition conPlotTypes.hpp:183
NumberPair shadeValues
Definition conPlotTypes.hpp:173
std::string_view shadeDot
Definition conPlotTypes.hpp:175
ShadeOptions shadeOptions
Definition conPlotTypes.hpp:174
long long samplesSpacing
Frequency to take a sample, units: grids.
Definition conPlotTypes.hpp:172