ম্যাটপ্লোটিলেব কোনও প্লট উইন্ডো নেই


90

আমি স্নেপটিক প্যাকেজ সিস্টেমটি ব্যবহার করে কেবল উবুন্টু 9.10-এ ম্যাটপ্লটলিব ইনস্টল করেছি। যাইহোক, যখন আমি নিম্নলিখিত সহজ উদাহরণটি চেষ্টা করি

>>> from pylab import plot;
>>> plot([1,2,3],[1,2,3])
[<matplotlib.lines.Line2D object at 0x9aa78ec>]

আমি কোন প্লট উইন্ডো পাই না। প্লট উইন্ডোটি কীভাবে প্রদর্শিত হবে সে সম্পর্কে কোনও ধারণা?


8
পাইলাব পূর্বনির্ধারিতভাবে প্লটটি দেখায় না, যেহেতু অঙ্কন এবং ধ্রুবক আপডেট করা ব্যয়বহুল। আপনার একটি স্পষ্ট করার দরকার show()
অলোক সিংহল

4
এই ইস্যুতে কিছু অফিসিয়াল ডকুমেন্টেশন: matplotlib.org/faq/…
স্টেফেনবিজ

উত্তর:



38

pylab.show() কাজ করে তবে ব্লক করে (আপনার উইন্ডোটি বন্ধ করতে হবে)।

pylab.ion()আপনি যখন শুরু করবেন তখন আরও অনেক সুবিধাজনক সমাধান হ'ল (ইন্টারেক্টিভ মোড অন): সমস্ত (পাইলাব সমতুল্য) pyplot.*কমান্ডগুলি তাদের প্লটটি তত্ক্ষণাত প্রদর্শন করে। ইন্টারেক্টিভ মোডের আরও তথ্য অফিসিয়াল ওয়েবসাইটে পাওয়া যাবে।

আমি আরও বেশি সুবিধাজনক ipython -pylab( --pylabনতুন সংস্করণগুলিতে) ব্যবহার করে দ্বিতীয়টি রেখেছি , যা আপনাকে from … import …অংশটি এড়িয়ে যেতে দেয় ( %pylabনতুন আইপিথন সংস্করণগুলিতেও কাজ করে)।


4
তবে pylab.show()একটি চিত্র খোলার জন্য আপনাকে প্রথমে কল করতে হবে ।
স্টিভ তেজোয়া

4
@ স্টিভ: আমার অভিজ্ঞতা হ'ল এটি দৃ strongly়ভাবে ব্যাকএন্ডের উপর নির্ভর করে। নিয়মিত পাইথন শেলটি সহ ম্যাক ওএস এক্সে, আমাকে () বা (অঙ্কন () এর জন্য এই বিষয়টির জন্য) করতে হবে না: প্লট () একটি নতুন উইন্ডো খুলবে।
এরিক হে লেবিগোট

4
আহ ঠিক আছে. ভাল যুক্তি. লিনাক্সে আইপিথন নিয়ে আমার কেবল অভিজ্ঞতা আছে।
স্টিভ তেজোয়া

অঙ্কন () আমার পক্ষে কাজ করে না, তবে পাইলব.ইন () কাজ করে। আমি OSX
ব্যবহারকারী1506145

পাইথন শেলের মধ্যে সর্বশেষ ম্যাটপ্লটলিবের সাথে একই জিনিস। আমি আমার উত্তর আপডেট করেছি, ধন্যবাদ।
এরিক হে লেবিগোট


11

নীচের কোড স্নিপেট গ্রহ এবং পাইথন শেল উভয়কেই কাজ করে:

import numpy as np
import matplotlib.pyplot as plt

# Come up with x and y
x = np.arange(0, 5, 0.1)
y = np.sin(x)

# Just print x and y for fun
print x
print y

# Plot the x and y and you are supposed to see a sine curve
plt.plot(x, y)

# Without the line below, the figure won't show
plt.show()

অন্যান্য অনেক উত্তর যেমন পরিষ্কার করে দেয়, এই মুহূর্তে এটি আপনার জন্য কাজ করতে পারে তবে এটি আপনার ম্যাটপ্ল্লিটিব ব্যাকএন্ডকে কীভাবে কনফিগার করা হয়েছে তার উপর নির্ভর করে।
nealmcb

9

কোন ত্রুটি দেখাতে হবে? এটি ব্যাকএন্ড সেট না করার একটি সমস্যা হতে পারে। আপনি এটি পাইথন ইন্টারপ্রেটার বা কনফিগারেশন ফাইল থেকে সেট করতে পারেন (.matplotlib/matplotlibrc আপনার হোম ডিরেক্টরিতে ) ।

কোডটিতে ব্যাকএন্ড সেট করতে আপনি করতে পারেন

import matplotlib
matplotlib.use('Agg')

যেখানে 'অ্যাগ' ব্যাকেন্ডের নাম। কোন ব্যাকেন্ডগুলি উপস্থিত তা আপনার ইনস্টলেশন এবং ওএসের উপর নির্ভর করে।

http://matplotlib.sourceforge.net/faq/installing_faq.html#backes

http://matplotlib.org/users/customizing.html


4
সম্পূর্ণরূপে কাজ করে, ধন্যবাদ। স্পষ্টরূপে, সবচেয়ে সহজ কাজটি (একবার আপনি জানতেন যে এটি অবশ্যই কাজ করছে) আপনার ব্যাকএন্ডটি এতে সেট .matplotlib/matplotlibrcকরা backend: Agg। তারপরে আপনাকে useপ্রতিবার স্পষ্টভাবে একটি করতে হবে না :)
dsummerl

2

আধুনিক আইপিথন একটি alচ্ছিক --matplotlibব্যাকএন্ড প্যারামিটার সহ " " যুক্তি ব্যবহার করে । এটি "অটো" -এ ডিফল্ট হয়, যা সাধারণত ম্যাক এবং উইন্ডোতে যথেষ্ট ভাল। আমি এটি উবুন্টু বা অন্য কোনও লিনাক্স বিতরণে পরীক্ষা করে দেখিনি, তবে আমি এটির কাজটি আশা করব।

ipython --matplotlib

0

যদি আপনি কোন সমস্যা সম্মুখীন হন pylab.show() আইপিথন উইন্ডোকে হিমায়িত করে (এটি ম্যাক ওএস এক্স নির্দিষ্ট হতে পারে; নিশ্চিত নয়) তবে আপনি আইপিথন উইন্ডোতে সিএমডি-সি করতে পারেন, প্লটের উইন্ডোতে স্যুইচ করতে পারেন এবং এটি বের হয়ে যাবে।

স্পষ্টতই, ভবিষ্যতের কলগুলি pylab.show()আইপিথন উইন্ডো হিমায়িত করবে না, কেবল প্রথম কল। দুর্ভাগ্যক্রমে, আমি খুঁজে পেয়েছি যে প্ল্যাট উইন্ডো / শো () এর সাথে মিথস্ক্রিয়াগুলি প্রতিবার ম্যাটপ্ল্লোলিব পুনরায় ইনস্টল করার সময় পরিবর্তিত হয়, তাই এই সমাধানটি সর্বদা না ধরে থাকতে পারে।


0

আপনি যদি --pylabবিকল্পটি দিয়ে আইপিথন শুরু করেন তবে আপনার কল করার দরকার নেই show()বা draw()। এটা চেষ্টা কর:

ipython  --pylab=inline

0

--pylabজুপিটারের পক্ষে আর কাজ করে না , তবে ভাগ্যক্রমে আমরা ফাংশনটিতে একটি কার্যকারিতা এবং কার্যকারিতা ipython_config.pyউভয়ই পেতে পারি ।pylabautoreload

c.InteractiveShellApp.extensions = ['autoreload', 'pylab']
c.InteractiveShellApp.exec_lines = ['%autoreload 2', '%pylab']

0

আপনি যদি অ্যানাকোন্ডা এবং স্পাইডার ব্যবহারকারী হন তবে আপনার জন্য সেরা সমাধানটি হ'ল:

সরঞ্জাম -> পছন্দসমূহ -> আইপিথন কনসোল -> গ্রাফিক বিভাগ

তারপরে গ্রাফিক্সের জন্য সমর্থন (ম্যাটপ্লটলিব) বিভাগে:

দুটি উপলভ্য বিকল্প নির্বাচন করুন

এবং গ্রাফিক্স ব্যাকএন্ডে :

স্বয়ংক্রিয় নির্বাচন করুন


-5

Easy_install ব্যবহার করার সময় আর একটি সম্ভাবনা হ'ল ম্যাটপ্ল্লোলিবের অতি সাম্প্রতিক সংস্করণ আপনার প্রয়োজন। চেষ্টা করুন:

import pkg_resources
pkg_resources.require("matplotlib")

আপনি matplotlib বা এর কোনও মডিউল আমদানি করার আগে।


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