如何将一张图的网格,散点和趋势绘制为单独的文件

时间:2018-12-04 17:23:02

标签: python pandas matplotlib plot graph

我正在尝试将情节保存在“图层”中。首先,我只想保存网格。然后,我只想保存分散点。最后,我只想保存趋势线,但是我不知道如何“关闭”分散点来执行此操作。我这样做的理由是,我可以将图形的每个组件导入为photoshop中的一个图层。 这是我的代码:

仅第一幅图

fig=plt.figure()
ax1=fig.add_subplot(111)
#ax1.plot(x,p(x), linewidth=3.0, color="#daa004")
plt.ylim(top=72)
plt.ylim(bottom=60)
plt.xlim(right=2025)
plt.xlim(left=1895)
plt.grid(axis='x', alpha=0.4)
plt.grid(axis='y', alpha=0.4)
plt.savefig('MeanAnnualFallTMAX_Grid.png', transparent=True)

仅散点图

ax1.plot(x,y,'o',markersize=3,color="#daa004",label="Annual Mean Fall Maximum Temperature")
plt.axis('off')
plt.savefig('MeanAnnualFallTMAX_Scatter.png', transparent=True)

仅限趋势图(问题)

ax1.plot(x,p(x), linewidth=3.0, color="#daa004")
plt.axis('off')
plt.savefig('MeanAnnualFallTMAX_Trend.png', transparent=True)

但是,这将显示散布和趋势。有没有办法“清除”或“关闭”我先前绘制的散点?

2 个答案:

答案 0 :(得分:0)

如果您保存对行的引用,则可以

  • 使点不可见

    line, = ax1.plot(x,y,'o')
    # ...
    line.set_visible(False)
    
  • 从轴上删除点

    line, = ax1.plot(x,y,'o')
    # ...
    line.remove()
    

答案 1 :(得分:0)

对于此工作流程,我认为至少要尝试将该图形另存为svg并在Inkscape中打开它。对结果进行分组可以访问图的每个部分。
但是,它将很快分成点或线之类的小块,但要看一下-也许会有所帮助。