6 #ifndef __TC_ITEM_FREQUENCY 7 #define __TC_ITEM_FREQUENCY 9 #include <core/data/sframe/gl_sarray.hpp> 10 #include <core/storage/sframe_data/groupby_aggregate_operators.hpp> 11 #include <visualization/server/item_frequency.hpp> 12 #include <visualization/server/plot.hpp> 13 #include <visualization/server/vega_spec.hpp> 15 #include "transformation.hpp" 18 namespace visualization {
20 class item_frequency_result:
public sframe_transformation_output,
23 virtual void add_element_simple(
const flexible_type& flex)
override;
24 virtual void combine(
const group_aggregate_value& other)
override;
25 virtual std::string vega_column_data(
bool sframe)
const override;
26 virtual std::string vega_summary_data()
const override;
29 groupby_operators::count m_count;
30 groupby_operators::count_distinct m_count_distinct;
31 groupby_operators::non_null_count m_non_null_count;
34 typedef transformation<gl_sarray, item_frequency_result> item_frequency_parent;
36 class item_frequency :
public item_frequency_parent {
38 virtual std::vector<item_frequency_result> split_input(
size_t num_threads)
override;
39 virtual void merge_results(std::vector<item_frequency_result>& transformers)
override;
42 std::shared_ptr<Plot> plot_item_frequency(
43 const gl_sarray& sa,
const flexible_type& xlabel,
const flexible_type& ylabel,
44 const flexible_type& title);
48 #endif // __TC_ITEM_FREQUENCY