如何摆脱Matplotlib图中的黑色背景

时间:2015-10-05 06:29:37

标签: python matplotlib

我有这样的图表。

enter image description here

我为此写的代码如下:

 header=list(outcome)
    from mpl_toolkits.mplot3d import Axes3D
    import matplotlib.patches as mpatches
    fig = plt.figure(figsize=(25,20))
    ax = fig.add_subplot(111, projection='3d')
    red_patch = mpatches.Patch(color='red', label='Terminated')
    green_patch = mpatches.Patch(color='green', label='Completed Positive')
    blue_patch=mpatches.Patch(color='blue', label='Completed Negative')
    plt.legend(handles=[red_patch,green_patch,blue_patch],fontsize=23)
    plt.title('MDS by Phase '+phase,fontsize=23)
    for x, y, w, name in zip(pos[:, 0], pos[:,1], pos[:, 2], header):
        if(name=='Completed Negative'):
            color='blue'
        elif(name=='Completed Positive'):
            color='green'
        else:
            color='red'
        ax.scatter(x, y, w,s=65,c=color)

    #fig.savefig('mds_ic_'+phase+'.png')
    fig.savefig('mds_obj_auto_'+phase+'.png')

我不希望黑色背景像在幻灯片上粘贴图形时占用太多空间但显得很小,因为剩余空间是白色而不是图形的一部分。黑色部分不会与白色背景凝胶

1 个答案:

答案 0 :(得分:0)

您可以尝试添加以下行:

fig.patch.set_facecolor('white')
ax.set_axis_bgcolor('white')

ax.w_xaxis.set_pane_color((1.0, 1.0, 1.0, 1.0))
ax.w_yaxis.set_pane_color((1.0, 1.0, 1.0, 1.0))
ax.w_zaxis.set_pane_color((1.0, 1.0, 1.0, 1.0))

一个用于移除图周围的背景,一个用于更改轴颜色,最后三个用于更改每个轴的窗格颜色。