পাইথনের ম্যাটপ্ল্লিটবে আমি কীভাবে 'ব্যাকএন্ড' সেট করতে পারি?


91

আমি ম্যাটপ্ল্লোলিবের নতুন ব্যবহারকারী, আমার প্ল্যাটফর্মটি উবুন্টু 10.04 পাইথন ২.6.৫

এটি আমার কোড

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt 
plt.plot([1,2,3])

ত্রুটিটি হ'ল:

/usr/local/lib/python2.6/dist-packages/matplotlib/backends/__init__.py:41: UserWarning: 
Your currently selected backend, 'agg' does not support show().
Please select a GUI backend in your matplotlibrc file ('/usr/local/lib/python2.6/dist-packages/matplotlib/mpl-data/matplotlibrc')
or with matplotlib.use()
  (backend, matplotlib.matplotlib_fname()))
  • আমি অ্যান্টি-গ্রেন জ্যামিতি লাইব্রেরি ইনস্টল করেছি apt-get install libaggতবে এটি কার্যকর হয় না।
  • আমি ব্যাকএন্ডের অন্যান্য যুক্তি যেমন 'জিটিকে' এবং 'টকঅ্যাগ' ব্যবহার করার চেষ্টা করেছি।
  • আমি python-gtk2-devপ্যাকেজ ইনস্টল করেছি , তবে তবুও ত্রুটি নীচে রয়েছে।
  • কেউ কি আমাকে একটি এক্সিকিউটেবল ব্যাকএন্ড আর্গুমেন্ট এবং এর নির্ভরতা গ্রন্থাগার বলতে পারেন?

ত্রুটি এখানে:

>>> matplotlib.use('GTK')
>>> import matplotlib.pyplot as plt
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.6/dist-packages/matplotlib/pyplot.py", line 95, in <module>
    new_figure_manager, draw_if_interactive, show = pylab_setup()
  File "/usr/local/lib/python2.6/dist-packages/matplotlib/backends/__init__.py", line 25, in pylab_setup
    globals(),locals(),[backend_name])
  File "/usr/local/lib/python2.6/dist-packages/matplotlib/backends/backend_gtk.py", line 28, in <module>
    from matplotlib.backends.backend_gdk import RendererGDK, FigureCanvasGDK 
  File "/usr/local/lib/python2.6/dist-packages/matplotlib/backends/backend_gdk.py", line 29, in <module>
    from matplotlib.backends._backend_gdk import pixbuf_get_pixels_array
ImportError: No module named _backend_gdk

উত্তর:


93

আপনার বর্তমানে নির্বাচিত ব্যাকএন্ড, 'আগ্রাস' শো () সমর্থন করে না।

AGGব্যাকএন্ড ফাইল লেখার জন্য, কোনও উইন্ডোতে রেন্ডারিংয়ের জন্য নয়। ম্যাটপ্ল্লোলিব ওয়েব সাইটে ব্যাকএন্ড এফএকিউ দেখুন ।

আমদানি ত্রুটি: _ ব্যাকেন্ড_জিডি কে নামে কোনও মডিউল নেই

দ্বিতীয় ত্রুটির জন্য, সম্ভবত আপনার ম্যাটপ্ল্লোলিব বিতরণটি জিটিকে সমর্থন দিয়ে সংকলিত হয়নি, বা আপনি পাইজিটিকে প্যাকেজটি মিস করেছেন। এটি ইনস্টল করার চেষ্টা করুন।

show()গ্রাফিক্যাল পরিবেশে অ্যাক্সেস রয়েছে এমন কোনও টার্মিনাল বা অ্যাপ্লিকেশনটির অভ্যন্তরে আপনি কী সেই পদ্ধতিটিকে কল করবেন ?

এই ক্রমে অন্যান্য জিইউআই ব্যাকেন্ডগুলি চেষ্টা করে দেখুন:

  • TkAgg
  • WX
  • QTAgg
  • QT4Agg

আপনাকে অনেক ধন্যবাদ ধন্যবাদ আমি যে ভুল স্টাফ করেছিলাম তা
পাইজিটিকে

4
পার্শ্ব প্রতিক্রিয়া হিসাবে, আমি কিউটি 3 কে লক্ষ্য রাখি কিউটি 3 হিসাবে শেষ হিসাবে চেষ্টা করব এবং সম্ভবত মধ্যমেয়াদে অবচয় করা হবে।
টাকাসওয়েল

30

এফওয়াইআই, আমি matplotlib.use('Agg')পাইথন আমদানি ক্রমে আমার প্রথমে থাকা দরকার । আমি যা করছি তার জন্য (ইউনিট টেস্টিংয়ের মাথাবিহীন হওয়া দরকার) যা বোঝানো হয়েছিল

import matplotlib
matplotlib.use('Agg')

আমার মাস্টার পরীক্ষার স্ক্রিপ্টের শীর্ষে। আমাকে অন্য কোনও ফাইল স্পর্শ করতে হয়নি।


আমাকে অবশ্যই একই জিনিস করতে হবে যা আমাকে অনেক কষ্ট দেয়। আপনি কি কখনও অন্য মার্জিত সমাধান খুঁজে পেয়েছেন?
QM.py

এবং আমি দেখতে পেলাম যে এটির শীর্ষে থাকা খুব গুরুত্বপূর্ণ (নির্দিষ্ট অন্যান্য আমদানির পরে নয়)। +1
রায়ান

হ্যাঁ, এটি অন্য কোনও ম্যাটপ্ল্লোলিব আমদানির আগে আপনার প্রথম কাজ হতে হবে।
জ্যাকক্টন

19

এটি কনফিগারেশন ফাইলেও সেট করা যেতে পারে matplotlibrc(ত্রুটির বার্তায় বর্ণিত হিসাবে), উদাহরণস্বরূপ:

# The default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo
# CocoaAgg MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG
backend : Agg

এইভাবে, কোডটি অন্য ব্যক্তির সাথে ভাগ করা থাকলে ব্যাকএন্ডে হার্ডকোড করার দরকার নেই। আরও তথ্যের জন্য ডকুমেন্টেশন চেক করুন ।


7

আপনার পোস্ট করা ত্রুটিগুলি সম্পর্কিত নয়। প্রথমটি আপনাকে ব্যাকএন্ড নির্বাচন করার কারণে যা ইন্টারেক্টিভ ব্যবহারের জন্য বোঝানো হয় না, যেমন আগ্রাসন agg আপনি এখনও স্ক্রিপ্টগুলিতে প্লট তৈরির জন্য ব্যবহার করতে পারেন (এবং ব্যবহার করা উচিত) যা ব্যবহারকারীর ইন্টারঅ্যাকশন প্রয়োজন হয় না।

মতলব / পাইল্যাবের মতো আপনি যদি ইন্টারেক্টিভ ল্যাব-এনভায়রনমেন্ট চান তবে আপনি স্পষ্টতই Qt4Ag (Qt এবং AGG প্রয়োজন), GTKAgg (GTK an AGG) বা WXAgg (wxWidgets এবং Agg) এর মতো একটি ব্যাকএন্ড সমর্থনকারী গুই ব্যবহার আমদানি করতেন।

আমি ডাব্লুএক্সএজিজি ব্যবহারের চেষ্টা করে শুরু করব, এটি ছাড়াও এটি কীভাবে আপনি পাইথন এবং ম্যাটপ্ল্লোলিব (উত্স, প্যাকেজ ইত্যাদি) ইনস্টল করেছেন তার উপর নির্ভর করে



3

আপনি একটি ব্রাউজারে গ্রাফ দেখার চেষ্টা করতে পারেন।

নিম্নলিখিত ব্যবহার:

matplotlib.use('WebAgg')

2

আমি আমার নিজের VIRTUAL_ENV তে পাইথন, ন্যুপি, স্কিপি, ম্যাটপ্লোটিলিব সংকলনের চেষ্টা করার সময় এটি মারলাম

ম্যাটপ্লটলিব ইনস্টল করার আগে আপনাকে তৈরি করতে হবে এবং ইনস্টল করতে হবে: পাইগোবজেক্ট পাইকাইরো পাইগটক

এবং তারপরে এটি ম্যাটপ্ল্লোলিব দিয়ে করুন: ম্যাটপ্ললটিব তৈরির আগে 'পাইথন। তারপরে বিল্ড এবং ইনস্টল করুন

রফতানির আগে PKG_CONFIG_PATH = IR VIRTUAL_ENV / lib / pkgconfig


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