আমি নীচের ইস্যু নিয়ে লড়াই করছি। আমাকে চার্টের সংকলন সহ প্রতিবেদন তৈরি করতে হবে। এই চার্টগুলি, একটি ব্যতীত, ম্যাটপ্ল্লোলিব ডিফল্ট ব্যাকএন্ড (টাকাআগ) ব্যবহার করে তৈরি করা হয়। কায়রো ব্যাকএন্ড ব্যবহার করে একটি চার্ট তৈরি করা দরকার, কারণটি হ'ল আমি একটি ইগ্রাফ গ্রাফ তৈরি করছি এবং এটি কেবল কায়রো ব্যবহার করে প্লট করা যেতে পারে।
সমস্যাটি হ'ল আমি
matplotlib.pyplot.switch_backend('cairo.png')
ফ্লাইতে ব্যাকেন্ডগুলি পরিবর্তন করতে পারি না, উদাহরণস্বরূপ নিম্নলিখিতটি কাজ করে না: (আমি জানি যে স্যুইচ_ব্যাকেন্ড কার্যকারিতা পরীক্ষামূলক)
এবং আমি চেষ্টাও করেছি matplotlib.use("cairo.png")
তবে এটি আমদানিতে সমস্যা দেখা দেয় কারণ matplotlib.use("cairo.png")
আমদানির আগে বিবৃতি আসা উচিত matplotlib.pyplot
। তবে আমার স্ক্রিপ্টের জীবনকালে দুটি ভিন্ন ব্যাকেন্ডের প্রয়োজন।
সুতরাং আমার প্রশ্নটি কি কারও কাছে এমন একটি কোড স্নিপেট রয়েছে যা ম্যাটপ্ল্লিটিবের ব্যাকএন্ডে স্যুইচ করবেন তা দেখায়?
অনেক ধন্যবাদ!
আপডেট: আমি একটি স্নিপেট লিখেছি যা ম্যাটপ্লটলিব লোড করে, ডিফল্ট ব্যাকএন্ড দেখায়, ম্যাটপ্ল্লিটিব আনলোড করে, পুনরায় লোড করে ব্যাকএন্ড পরিবর্তন করে:
import matplotlib
import matplotlib.pyplot as plt
import sys
print matplotlib.pyplot.get_backend()
modules = []
for module in sys.modules:
if module.startswith('matplotlib'):
modules.append(module)
for module in modules:
sys.modules.pop(module)
import matplotlib
matplotlib.use("cairo.png")
import matplotlib.pyplot as plt
print matplotlib.pyplot.get_backend()
তবে এটি কি সত্যিই এটি করার উপায়?
আপডেট 2: আমার গতকাল কিছুটা গুরুতর মস্তিষ্কের জমাট ছিল ... সহজ এবং সর্বাধিক সুস্পষ্ট সমাধান হ'ল সমস্ত চার্টের জন্য কায়রো ব্যাকএন্ড ব্যবহার করা এবং ব্যাক-এন্ডে স্যুইচ না করা :)
আপডেট 3: আসলে, এটি এখনও একটি সমস্যা তাই যে কেউ ম্যাটপ্ল্লোলিব ব্যাকেন্ডগুলিকে গতিশীলভাবে কীভাবে পরিবর্তন করতে জানে .... আপনার উত্তর পোস্ট করুন post
pyplot.switch_backends()
। এটি আপনার ক্ষেত্রে কার্যকর নাও হতে পারে।