How to plot multi column categorical bar chart using seaborn?2019 Community Moderator ElectionHow to plot multiple bar charts in pythonGroup Bar Chart with Seaborn/MatplotlibHow to put the legend out of the plotHow to change the order of DataFrame columns?How to make IPython notebook matplotlib plot inlineSeaborn plots not showing upSeaborn factor plot custom error barsHow to save a Seaborn plot into a fileAnnotate bars with values on Pandas (on Seaborn factorplot bar plot)Seaborn Bar Plot Orderingseaborn bar chart for categorical data, groupedSeaborn plot bars sorted by Y-left values

Best approach to update all entries in a list that is paginated?

Peter's Strange Word

Why the color red for the Republican Party

Good allowance savings plan?

Virginia employer terminated employee and wants signing bonus returned

Why does Captain Marvel assume the planet where she lands would recognize her credentials?

String reversal in Python

BitNot does not flip bits in the way I expected

Why would a jet engine that runs at temps excess of 2000°C burn when it crashes?

In the late 1940’s to early 1950’s what technology was available that could melt a LOT of ice?

Do items de-spawn in Diablo?

Is having access to past exams cheating and, if yes, could it be proven just by a good grade?

Rejected in 4th interview round citing insufficient years of experience

Accountant/ lawyer will not return my call

Algorithm to convert a fixed-length string to the smallest possible collision-free representation?

Am I not good enough for you?

How to create a hard link to an inode (ext4)?

A question on the ultrafilter number

Why does Deadpool say "You're welcome, Canada," after shooting Ryan Reynolds in the end credits?

show this identity with trigometric

Finding algorithms of QGIS commands?

Are the terms "stab" and "staccato" synonyms?

Could a cubesat propel itself to Mars?

infinitive telling the purpose



How to plot multi column categorical bar chart using seaborn?



2019 Community Moderator ElectionHow to plot multiple bar charts in pythonGroup Bar Chart with Seaborn/MatplotlibHow to put the legend out of the plotHow to change the order of DataFrame columns?How to make IPython notebook matplotlib plot inlineSeaborn plots not showing upSeaborn factor plot custom error barsHow to save a Seaborn plot into a fileAnnotate bars with values on Pandas (on Seaborn factorplot bar plot)Seaborn Bar Plot Orderingseaborn bar chart for categorical data, groupedSeaborn plot bars sorted by Y-left values










0















I have a data frame as shown below:
enter image description here



I want to structure it in a way that I will be able to plot a bar chart as shown below:



enter image description here



The data is here.



Note : Echo API data = Mediation data



My existing code is shown below, I do not know how to proceed with it. Any help is much appreciated.



def save_bar_chart(title):
filename = "response_time_summary_" + str(message_size) + "_" + str(backend_delay) + "ms.png"
print("Creating chart: " + title + ", File name: " + filename)
fig, ax = plt.subplots()
fig.set_size_inches(11, 8)

df_results = df.loc[(df['Message Size (Bytes)'] == message_size) & (df['Back-end Service Delay (ms)'] == backend_delay)]

df_results = df_results[
[ 'Scenario Name','Concurrent Users', '90th Percentile of Response Time (ms)', '95th Percentile of Response Time (ms)',
'99th Percentile of Response Time (ms)']]









share|improve this question






















  • Possible duplicate of Group Bar Chart with Seaborn/Matplotlib

    – GlobalTraveler
    Mar 7 at 10:25















0















I have a data frame as shown below:
enter image description here



I want to structure it in a way that I will be able to plot a bar chart as shown below:



enter image description here



The data is here.



Note : Echo API data = Mediation data



My existing code is shown below, I do not know how to proceed with it. Any help is much appreciated.



def save_bar_chart(title):
filename = "response_time_summary_" + str(message_size) + "_" + str(backend_delay) + "ms.png"
print("Creating chart: " + title + ", File name: " + filename)
fig, ax = plt.subplots()
fig.set_size_inches(11, 8)

df_results = df.loc[(df['Message Size (Bytes)'] == message_size) & (df['Back-end Service Delay (ms)'] == backend_delay)]

df_results = df_results[
[ 'Scenario Name','Concurrent Users', '90th Percentile of Response Time (ms)', '95th Percentile of Response Time (ms)',
'99th Percentile of Response Time (ms)']]









share|improve this question






















  • Possible duplicate of Group Bar Chart with Seaborn/Matplotlib

    – GlobalTraveler
    Mar 7 at 10:25













0












0








0








I have a data frame as shown below:
enter image description here



I want to structure it in a way that I will be able to plot a bar chart as shown below:



enter image description here



The data is here.



Note : Echo API data = Mediation data



My existing code is shown below, I do not know how to proceed with it. Any help is much appreciated.



def save_bar_chart(title):
filename = "response_time_summary_" + str(message_size) + "_" + str(backend_delay) + "ms.png"
print("Creating chart: " + title + ", File name: " + filename)
fig, ax = plt.subplots()
fig.set_size_inches(11, 8)

df_results = df.loc[(df['Message Size (Bytes)'] == message_size) & (df['Back-end Service Delay (ms)'] == backend_delay)]

df_results = df_results[
[ 'Scenario Name','Concurrent Users', '90th Percentile of Response Time (ms)', '95th Percentile of Response Time (ms)',
'99th Percentile of Response Time (ms)']]









share|improve this question














I have a data frame as shown below:
enter image description here



I want to structure it in a way that I will be able to plot a bar chart as shown below:



enter image description here



The data is here.



Note : Echo API data = Mediation data



My existing code is shown below, I do not know how to proceed with it. Any help is much appreciated.



def save_bar_chart(title):
filename = "response_time_summary_" + str(message_size) + "_" + str(backend_delay) + "ms.png"
print("Creating chart: " + title + ", File name: " + filename)
fig, ax = plt.subplots()
fig.set_size_inches(11, 8)

df_results = df.loc[(df['Message Size (Bytes)'] == message_size) & (df['Back-end Service Delay (ms)'] == backend_delay)]

df_results = df_results[
[ 'Scenario Name','Concurrent Users', '90th Percentile of Response Time (ms)', '95th Percentile of Response Time (ms)',
'99th Percentile of Response Time (ms)']]






python-3.x pandas matplotlib plot seaborn






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 7 at 7:51









Suleka_28Suleka_28

755517




755517












  • Possible duplicate of Group Bar Chart with Seaborn/Matplotlib

    – GlobalTraveler
    Mar 7 at 10:25

















  • Possible duplicate of Group Bar Chart with Seaborn/Matplotlib

    – GlobalTraveler
    Mar 7 at 10:25
















Possible duplicate of Group Bar Chart with Seaborn/Matplotlib

– GlobalTraveler
Mar 7 at 10:25





Possible duplicate of Group Bar Chart with Seaborn/Matplotlib

– GlobalTraveler
Mar 7 at 10:25












1 Answer
1






active

oldest

votes


















2














You want to melt and then use a barplot with hue:



import seaborn as sns

small_data = df_results[[ 'Scenario Name','Concurrent Users', '90th Percentile of Response Time (ms)',
'95th Percentile of Response Time (ms)','99th Percentile of Response Time (ms)']]
small_data = small_data.melt(id_vars=['Scenario Name', 'Concurrent Users'])
small_data['new_var'] = small_data.variable + ' - ' + small_data['Scenario Name']

g = sns.barplot(x="Concurrent Users", y="value", hue='new_var', data=small_data)
sns.set(rc='figure.figsize':(11,8))


Output:



enter image description here



To save use



fig = g.get_figure()
fig.savefig(filename)


And just wrap all that in a function.






share|improve this answer
























    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55038614%2fhow-to-plot-multi-column-categorical-bar-chart-using-seaborn%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    2














    You want to melt and then use a barplot with hue:



    import seaborn as sns

    small_data = df_results[[ 'Scenario Name','Concurrent Users', '90th Percentile of Response Time (ms)',
    '95th Percentile of Response Time (ms)','99th Percentile of Response Time (ms)']]
    small_data = small_data.melt(id_vars=['Scenario Name', 'Concurrent Users'])
    small_data['new_var'] = small_data.variable + ' - ' + small_data['Scenario Name']

    g = sns.barplot(x="Concurrent Users", y="value", hue='new_var', data=small_data)
    sns.set(rc='figure.figsize':(11,8))


    Output:



    enter image description here



    To save use



    fig = g.get_figure()
    fig.savefig(filename)


    And just wrap all that in a function.






    share|improve this answer





























      2














      You want to melt and then use a barplot with hue:



      import seaborn as sns

      small_data = df_results[[ 'Scenario Name','Concurrent Users', '90th Percentile of Response Time (ms)',
      '95th Percentile of Response Time (ms)','99th Percentile of Response Time (ms)']]
      small_data = small_data.melt(id_vars=['Scenario Name', 'Concurrent Users'])
      small_data['new_var'] = small_data.variable + ' - ' + small_data['Scenario Name']

      g = sns.barplot(x="Concurrent Users", y="value", hue='new_var', data=small_data)
      sns.set(rc='figure.figsize':(11,8))


      Output:



      enter image description here



      To save use



      fig = g.get_figure()
      fig.savefig(filename)


      And just wrap all that in a function.






      share|improve this answer



























        2












        2








        2







        You want to melt and then use a barplot with hue:



        import seaborn as sns

        small_data = df_results[[ 'Scenario Name','Concurrent Users', '90th Percentile of Response Time (ms)',
        '95th Percentile of Response Time (ms)','99th Percentile of Response Time (ms)']]
        small_data = small_data.melt(id_vars=['Scenario Name', 'Concurrent Users'])
        small_data['new_var'] = small_data.variable + ' - ' + small_data['Scenario Name']

        g = sns.barplot(x="Concurrent Users", y="value", hue='new_var', data=small_data)
        sns.set(rc='figure.figsize':(11,8))


        Output:



        enter image description here



        To save use



        fig = g.get_figure()
        fig.savefig(filename)


        And just wrap all that in a function.






        share|improve this answer















        You want to melt and then use a barplot with hue:



        import seaborn as sns

        small_data = df_results[[ 'Scenario Name','Concurrent Users', '90th Percentile of Response Time (ms)',
        '95th Percentile of Response Time (ms)','99th Percentile of Response Time (ms)']]
        small_data = small_data.melt(id_vars=['Scenario Name', 'Concurrent Users'])
        small_data['new_var'] = small_data.variable + ' - ' + small_data['Scenario Name']

        g = sns.barplot(x="Concurrent Users", y="value", hue='new_var', data=small_data)
        sns.set(rc='figure.figsize':(11,8))


        Output:



        enter image description here



        To save use



        fig = g.get_figure()
        fig.savefig(filename)


        And just wrap all that in a function.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Mar 7 at 10:11

























        answered Mar 7 at 9:33









        Josh FriedlanderJosh Friedlander

        2,8431929




        2,8431929





























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55038614%2fhow-to-plot-multi-column-categorical-bar-chart-using-seaborn%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Identity Server 4 is not redirecting to Angular app after login2019 Community Moderator ElectionIdentity Server 4 and dockerIdentityserver implicit flow unauthorized_clientIdentityServer Hybrid Flow - Access Token is null after user successful loginIdentity Server to MVC client : Page Redirect After loginLogin with Steam OpenId(oidc-client-js)Identity Server 4+.NET Core 2.0 + IdentityIdentityServer4 post-login redirect not working in Edge browserCall to IdentityServer4 generates System.NullReferenceException: Object reference not set to an instance of an objectIdentityServer4 without HTTPS not workingHow to get Authorization code from identity server without login form

            2005 Ahvaz unrest Contents Background Causes Casualties Aftermath See also References Navigation menue"At Least 10 Are Killed by Bombs in Iran""Iran"Archived"Arab-Iranians in Iran to make April 15 'Day of Fury'"State of Mind, State of Order: Reactions to Ethnic Unrest in the Islamic Republic of Iran.10.1111/j.1754-9469.2008.00028.x"Iran hangs Arab separatists"Iran Overview from ArchivedConstitution of the Islamic Republic of Iran"Tehran puzzled by forged 'riots' letter""Iran and its minorities: Down in the second class""Iran: Handling Of Ahvaz Unrest Could End With Televised Confessions""Bombings Rock Iran Ahead of Election""Five die in Iran ethnic clashes""Iran: Need for restraint as anniversary of unrest in Khuzestan approaches"Archived"Iranian Sunni protesters killed in clashes with security forces"Archived

            Can't initialize raids on a new ASUS Prime B360M-A motherboard2019 Community Moderator ElectionSimilar to RAID config yet more like mirroring solution?Can't get motherboard serial numberWhy does the BIOS entry point start with a WBINVD instruction?UEFI performance Asus Maximus V Extreme