Icon

kn_​example_​python_​graphic_​bar_​charts_​46

KNIME (4.6) & Python Graphics - Grouped barplots with Seaborn

KNIME (4.6) & Python Graphics - Grouped barplots with Seaborn - using bundled Python version
(no additional Python installation necessary)

adapted from: https://seaborn.pydata.org/examples/grouped_barplot.html

KNIME (4.6) & Python Graphics - Grouped barplots with Seaborn - using bundled Python version(no additional Python installation necessary)adapted from: https://seaborn.pydata.org/examples/grouped_barplot.html import knime.scripting.io as knio#Import Libraryfrom io import BytesIOimport osimport pandas as pdimport seaborn as snssns.set_theme(style="whitegrid")# https://seaborn.pydata.org/examples/grouped_barplot.htmlinput_table = knio.input_tables[0].to_pandas()var_title = knio.flow_variables['title_graphic']var_footnote = knio.flow_variables['footnote_graphic']var_kind_plot = knio.flow_variables['v_kind_plot']var_x_variable = knio.flow_variables['variable_x']var_x_label = knio.flow_variables['label_x']var_y_a_variable = knio.flow_variables['variable_y_a']var_y_a_label = knio.flow_variables['label_y_a']var_y_a_colour = knio.flow_variables['colour_y_a']var_y_b_variable = knio.flow_variables['variable_y_b']var_y_b_label = knio.flow_variables['label_y_b']var_y_b_colour = knio.flow_variables['colour_y_b']#define figure size# sns.set(rc={"figure.figsize":(16, 9)}) #width=8, height=4sns.set(rc={'figure.figsize':(16,9)})# The height of each bar represents the mean value in each category.# Draw a nested barplot by species and sexg = sns.catplot( data=input_table, kind=var_kind_plot, x=var_x_variable, y=var_y_a_variable, hue=var_y_b_variable, ci="sd", palette="dark")g.despine(left=True)g.set_axis_labels(var_x_label, var_y_a_label)g.legend.set_title(var_y_b_label)g.fig.set_size_inches(16, 9)#add overall titleg.fig.suptitle(var_title)# set the footnote - you might have to tweak positions and sizeg.fig.text(0.125, 0.05, var_footnote ,fontsize=10)# Create buffer to write intobuffer = BytesIO()# Create plot and write it into the bufferg.savefig(buffer, format='svg')# The output is the content of the bufferoutput_image = buffer.getvalue()knio.output_images[0] = output_image 1.920 x 1.080PNG filefrom_knime_grouped_barplots.pngpenguins.parquetright mouse clickto set the parametersvar_path_imgvar_path_img Image To Table Renderer to Image Table To Image Image Writer (Port) Parquet Reader Python graphics -Grouped barplots Java EditVariable (simple) String to Path(Variable) KNIME (4.6) & Python Graphics - Grouped barplots with Seaborn - using bundled Python version(no additional Python installation necessary)adapted from: https://seaborn.pydata.org/examples/grouped_barplot.html import knime.scripting.io as knio#Import Libraryfrom io import BytesIOimport osimport pandas as pdimport seaborn as snssns.set_theme(style="whitegrid")# https://seaborn.pydata.org/examples/grouped_barplot.htmlinput_table = knio.input_tables[0].to_pandas()var_title = knio.flow_variables['title_graphic']var_footnote = knio.flow_variables['footnote_graphic']var_kind_plot = knio.flow_variables['v_kind_plot']var_x_variable = knio.flow_variables['variable_x']var_x_label = knio.flow_variables['label_x']var_y_a_variable = knio.flow_variables['variable_y_a']var_y_a_label = knio.flow_variables['label_y_a']var_y_a_colour = knio.flow_variables['colour_y_a']var_y_b_variable = knio.flow_variables['variable_y_b']var_y_b_label = knio.flow_variables['label_y_b']var_y_b_colour = knio.flow_variables['colour_y_b']#define figure size# sns.set(rc={"figure.figsize":(16, 9)}) #width=8, height=4sns.set(rc={'figure.figsize':(16,9)})# The height of each bar represents the mean value in each category.# Draw a nested barplot by species and sexg = sns.catplot( data=input_table, kind=var_kind_plot, x=var_x_variable, y=var_y_a_variable, hue=var_y_b_variable, ci="sd", palette="dark")g.despine(left=True)g.set_axis_labels(var_x_label, var_y_a_label)g.legend.set_title(var_y_b_label)g.fig.set_size_inches(16, 9)#add overall titleg.fig.suptitle(var_title)# set the footnote - you might have to tweak positions and sizeg.fig.text(0.125, 0.05, var_footnote ,fontsize=10)# Create buffer to write intobuffer = BytesIO()# Create plot and write it into the bufferg.savefig(buffer, format='svg')# The output is the content of the bufferoutput_image = buffer.getvalue()knio.output_images[0] = output_image 1.920 x 1.080PNG filefrom_knime_grouped_barplots.pngpenguins.parquetright mouse clickto set the parametersvar_path_imgvar_path_img Image To Table Renderer to Image Table To Image Image Writer (Port) Parquet Reader Python graphics -Grouped barplots Java EditVariable (simple) String to Path(Variable)

Nodes

Extensions

Links