Python - 从图表和图例中删除边框

时间:2018-04-25 10:19:33

标签: python matplotlib

我有以下情节:

dfA.plot.bar(stacked=True, color=[colorDict.get(x, '#333333') for x in 
dfA.columns],figsize=(10,8))
plt.legend(loc='upper right', bbox_to_anchor=(1.4, 1))

显示了这个:

enter image description here

我想删除图表和图例的所有边框,即图表周围的框(保留轴编号,如2015和6000等)

我发现的所有示例都引用了刺和' ax'但是我没有使用fig = plt.figure()等构建我的图表。

任何人都知道怎么做?

1 个答案:

答案 0 :(得分:1)

您可以在frameon=False调用中使用参数plt.legend()删除图例的边框。

如果只有一个数字和轴有效,则可以使用plt.gca()来获取当前轴。或者,df.plot.bar会返回一个axes对象(我建议使用该对象,因为plt.gca()在使用多个数字时可能会感到困惑)。因此,您可以将脊柱的可见性设置为False

ax = dfA.plot.bar(stacked=True, color=[colorDict.get(x, '#333333') for x in 
dfA.columns],figsize=(10,8))
plt.legend(loc='upper right', bbox_to_anchor=(1.4, 1), frameon=False)

for spine in ax.spines:
    ax.spines[spine].set_visible(False)

    # Color of the spines can also be set to none, suggested in the comments by ScoutEU 
    # ax.spines[spine].set_color("None")