如何旋转Matplotlib条形图?

时间:2019-07-12 09:25:12

标签: python python-3.x matplotlib bar-chart

以下代码用于生成条形图。我想旋转它,使其变成垂直,例如x轴上的当前标签移到y轴,y轴上的当前标签移到x轴,条相应旋转。

我是matplotlib和python的新手,所以欢迎您提供帮助。

def plot_coefficients(classifier, feature_names, top_features=40):

    if classifier.__class__.__name__ == 'SVC':
        coef = classifier.coef_
        coef2 = coef.toarray().ravel()
        coef1 = coef2[:len(feature_names)]  
    else:
        coef2 = classifier.coef_.ravel()
        coef1 = coef2[:len(feature_names)]

    top_positive_coefficients = np.argsort(coef1)[-top_features:]
    top_negative_coefficients = np.argsort(coef1)[:top_features]
    top_coefficients = np.hstack([top_negative_coefficients, top_positive_coefficients])
     # create plot
    plt.figure(figsize=(15, 5))
    colors = ['red' if c < 0 else 'blue' for c in coef1[top_coefficients]]
    plt.bar(np.arange(2 * top_features), coef1[top_coefficients], color=colors)
    feature_names = np.array(feature_names)
    plt.xticks(np.arange(1, 1 + 2 * top_features), feature_names[top_coefficients], rotation=90, ha='right')
    plt.show()

enter image description here

更新 预期输出:enter image description here

1 个答案:

答案 0 :(得分:1)

查看matplotlib方法barh。您可以从以下位置找到示例:https://matplotlib.org/gallery/lines_bars_and_markers/barh.html