【问题标题】:Plotting bar plot in Seaborn Python with rotated xlabels在 Seaborn Python 中使用旋转 x 标签绘制条形图
【发布时间】:2017-02-03 00:01:43
【问题描述】:

如何在 Seaborn 中绘制一个没有任何统计信息的简单条形图?数据集只是名称和值。

import pandas
df = pandas.DataFrame({"name": ["Bob Johnson", "Mary Cramer", "Joe Ellis"], "vals": [1,2,3]})

我想将其绘制为条形图,其中 xlabels 从 name 列中提取,y 轴值从 vals 中提取,并且 x 轴标签旋转 45 度。如何做呢?使用sns.barplot 喜欢:

sns.barplot(x="name", y="vals", data=df)

将计算与此处无关的统计信息。

【问题讨论】:

    标签: python matplotlib bar-chart seaborn


    【解决方案1】:

    你的意思是这样(set_xticklabels 方法):

    import pandas
    
    df = pandas.DataFrame({"name": ["Bob Johnson", "Mary Cramer", "Joe Ellis"], "vals": [1,2,3]})
    g = sns.barplot(x='name', y='vals', data=df)
    g.set_xticklabels(g.get_xticklabels(), rotation=45)
    

    或者可能 plt.xticks 方法可以提供帮助:

    import pandas
    import matplotlib.pylab as plt
    
    df = pandas.DataFrame({"name": ["Bob Johnson", "Mary Cramer", "Joe Ellis"], "vals": [1,2,3]})
    
    bar_plot = sns.barplot(x='name', y='vals', data=df)
    plt.xticks(rotation=45)
    plt.show()
    

    【讨论】:

    • g.set_xticklabels(rotation=45) 结果:TypeError: set_xticklabels() takes at least 2 arguments (1 given)。当您使用 plt.xticks(rotation=45) 时,标签未正确对齐。
    • 您可以尝试通过使用字体大小、旋转角度、水平对齐等参数来避免重叠。关于不同参数的信息在那里:matplotlib.org/users/text_props.html
    猜你喜欢
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 2021-07-28
    • 2017-08-30
    • 2016-06-12
    • 2018-12-31
    相关资源
    最近更新 更多