matplotlib.pyplot আগের প্লটগুলি ভুলে যাবে না - আমি কীভাবে ফ্লাশ / রিফ্রেশ করতে পারি?


89

আপনি কীভাবে matplotlib.pyplotআগের প্লটগুলি "ভুলে" যেতে পারেন

আমি একাধিক সময় ব্যবহার করে চক্রান্ত করার চেষ্টা করছি matplotlib.pyplot

কোডটি এর মতো দেখাচ্ছে:

def plottest():
    import numpy as np
    import matplotlib.pyplot as plt


    a=np.random.rand(10,)
    b=np.random.rand(10,)
    c=np.random.rand(10,)


    plt.plot(a,label='a')
    plt.plot(b,label='b')
    plt.plot(c,label='c')
    plt.legend(loc='upper left')
    plt.ylabel('mag')
    plt.xlabel('element)')
    plt.show()

    e=np.random.rand(10,)
    f=np.random.rand(10,)
    g=np.random.rand(10,)


    plt.plot(e,label='e')
    plt.plot(f,label='f')
    plt.plot(g,label='g')
    plt.legend(loc='upper left')
    plt.ylabel('mag')
    plt.xlabel('element)')
    plt.show()

দুর্ভাগ্যক্রমে আমি একই প্লট পেতে থাকি (আসলে অন্য কোনও কোড থেকে যা আমি দৌড়েছিলাম এবং কিছুক্ষণ আগে সম্পন্ন করেছি) আমি যাই করুক না কেন।

অনুরূপ কোডটি আমার জন্য আগে কাজ করেছে।

আমি এই প্রশ্নগুলি তাকিয়েছি:

কিভাবে "স্লেট পরিষ্কার"?

ম্যাটপ্ল্লিটিব পাইপ্লট শো () একবার বন্ধ হয়ে গেলে কাজ করে না

(পাইথন) ম্যাটপ্ল্লোলিব পাইপলট শো () .. ব্লকিং নাকি?

এবং ব্যবহার করার চেষ্টা plt.show(), plt.clf()এবং plt.closeকোন উপকার।

কোন ধারনা?

উত্তর:


114

আমি বরং ব্যবহার করেন plt.clf()যে পরে plt.show()করার বর্তমান চিত্র পরিষ্কার পরিবর্তে ক্লোজিং এবং এটি পুনরায় খোলা উইন্ডোর আকার রেখে এবং আপনি আরও ভাল পারফরম্যান্স এবং অনেক ভালো মেমোরি ব্যবহার দেবার।

একইভাবে, আপনি plt.cla() কেবল বর্তমান অক্ষগুলি সাফ করার জন্য করতে পারেন ।

একটি নির্দিষ্ট অক্ষ সাফ করার জন্য , যখন আপনার এক চিত্রের মধ্যে একাধিক অক্ষ থাকে তখন দরকারী, উদাহরণস্বরূপ:

fig, axes = plt.subplots(nrows=2, ncols=2)

axes[0, 1].clear()

48

আমি আবিষ্কার করেছি যে এই আচরণটি কেবলমাত্র কোনও নির্দিষ্ট স্ক্রিপ্ট চালানোর পরে ঘটে যা প্রশ্নের মধ্যে রয়েছে similar কেন ঘটে তা আমার কোনও ধারণা নেই।

আমি রাখলে এটি কাজ করে (গ্রাফগুলি রিফ্রেশ করে)

plt.clf()
plt.cla()
plt.close()

সব পরে plt.show()

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.