Matplotlib图框

时间:2017-05-13 11:08:15

标签: python matplotlib

考虑这个情节:

    import matplotlib.pyplot as plt
    a = np.arange(0,3, .02)
    b = np.arange(0,3, .02)
    c = np.exp(a)

    # Create plots with pre-defined labels.
    # Alternatively, you can pass labels explicitly when calling `legend`.
    fig, ax = plt.subplots()
    ax.plot(a, b, 'k', label='Model length')
    ax.plot(a, c, 'k:', label='Data length')

    # Now add the legend with some customizations.
    legend = ax.legend(loc='upper center', shadow=True)

    # The frame is matplotlib.patches.Rectangle instance surrounding the 
    # legend.
    frame = legend.get_frame()
    frame.set_facecolor('0.90')

    plt.show()

这个情节以及我尝试的许多其他情节应该有一个框架(4个刺)。 对我来说它只显示轴但没有刺。我怎么能改变它?

enter image description here

编辑:

这里的问题是seaborn图书馆。如果在任何时候导入该库,它将改变matplotlib图的格式,它们将如上图所示。 (更好的设计,但没有刺;)

3 个答案:

答案 0 :(得分:0)

我还不是专家,但我通过改变棘突的颜色解决了同样的问题

for spine in ax.spines.values():
    spine.set_color('black')

答案 1 :(得分:-1)

您的代码应该与spines一起显示 enter image description here 但是,请尝试在代码中添加以下行。

for spine in ax.spines.values():
        spine.set_visible(True)

答案 2 :(得分:-3)

您只需在代码中添加numpy作为np

id

请参阅https://matplotlib.org/users/pyplot_tutorial.html

中的第三个代码

我得到的是: enter image description here