From 2132e77e1bc7e99839a5ee5ad7943eb6fa68a818 Mon Sep 17 00:00:00 2001 From: AAnzel <44969003+AAnzel@users.noreply.github.com> Date: Sat, 18 Dec 2021 16:38:07 +0100 Subject: [PATCH] Added: Added whisker chart visualization to support new data set. --- Source/visualize.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/Source/visualize.py b/Source/visualize.py index 0255376..ae0d772 100644 --- a/Source/visualize.py +++ b/Source/visualize.py @@ -347,6 +347,38 @@ def time_heatmap(data, target_feature, color_feature, temporal_feature): return chart.interactive() +def whisker_chart(summary_data, temporal_column): + # Summary data frame contains the following columns: + # 'Q1','Q3', 'IQR', 'LowerLimit', 'UpperLimit', 'Mean' + + bar_chart = alt.Chart(summary_data).mark_bar(size=10).encode( + alt.X(temporal_column, type='temporal'), + alt.Y('Q1:Q', title=None), + alt.Y2('Q3:Q', title=None), + alt.Tooltip(['Q1:Q', 'Q3:Q', 'LowerLimit:Q', 'UpperLimit:Q', 'Mean:Q']) + ) + + whiskers_chart = alt.Chart(summary_data).mark_rule().encode( + alt.X(temporal_column, type='temporal'), + alt.Y('LowerLimit:Q', scale=alt.Scale(zero=False), title=None), + alt.Y2('UpperLimit:Q', title=None), + alt.Tooltip(['Q1:Q', 'Q3:Q', 'LowerLimit:Q', 'UpperLimit:Q', 'Mean:Q']) + ) + + mean_chart = alt.Chart(summary_data).mark_tick( + color='black', height=80, opacity=1).encode( + alt.X(temporal_column, type='temporal'), + alt.Y('Mean:Q', title=None), + alt.Tooltip(['Q1:Q', 'Q3:Q', 'LowerLimit:Q', 'UpperLimit:Q', 'Mean:Q']) + ) + + final_chart = (whiskers_chart + bar_chart + mean_chart).configure_scale( + bandPaddingInner=0.2 + ) + + return final_chart.interactive() + + def top_10_time(data, list_of_features, temporal_column): # I want to create a stacked bar chart where on x axis I will have time