matplotlib复制图并应用更改

时间:2014-07-10 17:31:21

标签: matplotlib

我正在制作一系列具有相同布局的数字。由于布局采用了许多代码行,我试图复制第一个代码,只改变一些东西,比如标记,如果可能的话,数据虽然我知道它可能会使事情变得复杂,因为它可能需要重新缩放和所以在'plt.show()'命令的最后,原始数字加上重复的get显示。

1 个答案:

答案 0 :(得分:2)

我不确定"重复设置"你描述的方式真的很可行......它可能需要对布局中涉及的所有对象(轴,轴对象,线对象,补丁对象等)进行大量的低级访问。我可以完全这是错的,但那是我的直觉。我在这里放了一些可能接近你想要的东西,因为不必复制很多布局规范。

import matplotlib.pyplot as plt
import numpy as np

def make_layout(data):
    fig = plt.figure()

    ax = fig.add_subplot(111)

    p, = ax.plot(data,'o')

    p.set_markerfacecolor('green')
    # Presumably lots of complicated settings here

    return fig, ax, p

data = np.linspace(0,1)

f1, a1, p1 = make_layout(data)
f2, a2, p2 = make_layout(data**2)

# Make the tweaks you want
a2.set(axis_bgcolor='m')
p2.set_markerfacecolor('yellow')