csvzall 0.4.0
CSV command-line tool and emerging C++ library
Loading...
Searching...
No Matches
csv_chart.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "chart_spec.hpp"
4
5#include <csv.hpp>
6#include <svgplot/svgplot.hpp>
7
8#include <cstdint>
9#include <optional>
10#include <string>
11#include <string_view>
12#include <utility>
13#include <vector>
14
15namespace csvzall::charts {
16
19};
20
22 std::string svg;
23 std::uint64_t rows_processed = 0;
24 std::uint64_t bytes_processed = 0;
25};
26
27std::string Trim(std::string_view value);
28
29std::pair<std::string, std::string> ResolveHeatmapDateRange(const HeatmapSpec& spec);
30svgplot::CalendarHeatmapOrientation ParseHeatmapOrientation(std::string_view raw);
31bool IsGroupedBarPresentation(std::string_view raw);
32
33std::optional<std::string> ValidateChartSpecFields(const ChartSpec& spec);
34
35CsvChartResult RenderHeatmapCsv(csv::CSVReader& reader,
36 const std::vector<std::string>& headers,
37 const HeatmapSpec& spec,
38 const CsvChartOptions& options);
39CsvChartResult RenderBarCsv(csv::CSVReader& reader,
40 const std::vector<std::string>& headers,
41 const BarSpec& spec,
42 const CsvChartOptions& options);
43CsvChartResult RenderLineCsv(csv::CSVReader& reader,
44 const std::vector<std::string>& headers,
45 const LineSpec& spec,
46 const CsvChartOptions& options);
47
48} // namespace csvzall::charts
std::string raw
Definition heatmap.cpp:29
Definition bar.cpp:11
std::string Trim(std::string_view value)
Definition csv_chart_common.cpp:13
CsvChartResult RenderBarCsv(csv::CSVReader &reader, const std::vector< std::string > &headers, const BarSpec &spec, const CsvChartOptions &options)
Definition bar.cpp:41
svgplot::CalendarHeatmapOrientation ParseHeatmapOrientation(std::string_view raw)
Definition heatmap.cpp:259
bool IsGroupedBarPresentation(std::string_view raw)
Definition bar.cpp:29
std::pair< std::string, std::string > ResolveHeatmapDateRange(const HeatmapSpec &spec)
Definition heatmap.cpp:247
CsvChartResult RenderLineCsv(csv::CSVReader &reader, const std::vector< std::string > &headers, const LineSpec &spec, const CsvChartOptions &options)
Definition line.cpp:13
std::optional< std::string > ValidateChartSpecFields(const ChartSpec &spec)
Definition validation.cpp:8
CsvChartResult RenderHeatmapCsv(csv::CSVReader &reader, const std::vector< std::string > &headers, const HeatmapSpec &spec, const CsvChartOptions &options)
Definition heatmap.cpp:272
Definition chart_spec.hpp:28
Definition chart_spec.hpp:55
Definition csv_chart.hpp:17
bool exact_column_matching
Definition csv_chart.hpp:18
Definition csv_chart.hpp:21
std::uint64_t bytes_processed
Definition csv_chart.hpp:24
std::string svg
Definition csv_chart.hpp:22
std::uint64_t rows_processed
Definition csv_chart.hpp:23
Definition chart_spec.hpp:16
Definition chart_spec.hpp:39
double value
Definition timeseries.cpp:32