From aa89e8a6e7788438c6e83064dcdf7ac5b1250c82 Mon Sep 17 00:00:00 2001 From: ilia_timofeev Date: Tue, 21 May 2019 02:10:29 +0300 Subject: [PATCH 1/2] violine plot --- altair/examples/violine_plot.py | 50 +++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 altair/examples/violine_plot.py diff --git a/altair/examples/violine_plot.py b/altair/examples/violine_plot.py new file mode 100644 index 000000000..295b792f4 --- /dev/null +++ b/altair/examples/violine_plot.py @@ -0,0 +1,50 @@ +""" +Violinplot +---------- +This example shows how to make a king of a Violinplot. +""" +# category: other charts +import altair as alt +from vega_datasets import data + +source = data.cars.url + +violinplot = alt.Chart(source).transform_filter( + alt.FieldGTPredicate(field='Miles_per_Gallon',gt=0) +).transform_bin( + ['bin_max', 'bin_min'], field='Miles_per_Gallon', bin=alt.Bin(maxbins=20) +).transform_calculate( + binned='(datum["bin_max"]+datum["bin_min"])/2' +).transform_aggregate( + value_count='count()', groupby=['Origin', 'binned'] +).transform_impute( + impute='value_count', groupby=['Origin'], key='binned', value=0 +).mark_area( + interpolate='monotone', + orient='horizontal' +).encode( + x=alt.X( + 'value_count:Q', + title=None, + stack='center', + axis=alt.Axis(labels=False, values=[0],grid=False, ticks=True), + ), + y=alt.Y('binned:Q', bin='binned', title='Miles per Gallon'), + color=alt.Color('Origin:N', legend=None), + column=alt.Column( + 'Origin:N', + header=alt.Header( + titleOrient='bottom', + labelOrient='bottom', + labelPadding=0, + ), + ), +).properties( + width=80 +).configure_facet( + spacing=0 +).configure_view( + stroke=None +) + +violinplot \ No newline at end of file From d7b0e7f11e68480899307656a5963705eb8815fc Mon Sep 17 00:00:00 2001 From: ilia_timofeev Date: Thu, 23 May 2019 23:24:05 +0300 Subject: [PATCH 2/2] datum notation --- altair/examples/violine_plot.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/altair/examples/violine_plot.py b/altair/examples/violine_plot.py index 295b792f4..3d78cdc9b 100644 --- a/altair/examples/violine_plot.py +++ b/altair/examples/violine_plot.py @@ -5,16 +5,17 @@ """ # category: other charts import altair as alt +from altair import datum from vega_datasets import data source = data.cars.url violinplot = alt.Chart(source).transform_filter( - alt.FieldGTPredicate(field='Miles_per_Gallon',gt=0) + datum.Miles_per_Gallon > 0 ).transform_bin( ['bin_max', 'bin_min'], field='Miles_per_Gallon', bin=alt.Bin(maxbins=20) ).transform_calculate( - binned='(datum["bin_max"]+datum["bin_min"])/2' + binned=(datum.bin_max + datum.bin_min) / 2 ).transform_aggregate( value_count='count()', groupby=['Origin', 'binned'] ).transform_impute(