"% Matplotlib ইনলাইন" এর উদ্দেশ্য


482

কেউ আমাকে বোঝাতে পারেন যে এর ব্যবহার %matplotlib inlineকী?


22
এটি একটি যাদু ফাংশন যা চিত্রকে নোটবুকে উপস্থাপন করে (চিত্রের বস্তুর ডাম্প প্রদর্শন করার পরিবর্তে)। একটি সরল ম্যাটপ্লটলিব টিউটোরিয়াল এখানে ডেটা-ব্লগার.কম / ২০১/ / ১১ / ১৫ / ১৮ পাওয়া যায় ।
www.data-blogger.com


উত্তর:


285

%matplotlibআইপিথনে একটি যাদু ফাংশন । আপনার সুবিধার জন্য পড়ার জন্য আমি এখানে প্রাসঙ্গিক ডকুমেন্টেশন উদ্ধৃত করব:

আইপিথনের একটি পূর্বনির্ধারিত 'ম্যাজিক ফাংশন' রয়েছে যা আপনি কমান্ড লাইন স্টাইল সিনট্যাক্সের মাধ্যমে কল করতে পারেন set দুটি ধরণের যাদুকর রয়েছে, লাইন-ভিত্তিক এবং ঘর-কেন্দ্রিক। লাইন ম্যাজিকগুলি% চরিত্রের সাথে উপস্থাপিত হয় এবং অনেকটা ওএস কমান্ড-লাইন কলগুলির মতো কাজ করে: তারা বাকী রেখাটি আর্গুমেন্ট হিসাবে পেয়ে থাকে, যেখানে আর্গুমেন্টগুলি প্রথম বন্ধনী বা উদ্ধৃতি ছাড়াই পাস করা হয়। লাইনের ম্যাজিকগুলি ফলাফলগুলি ফিরিয়ে দিতে পারে এবং একটি কার্যভারের ডানদিকে ব্যবহার করা যেতে পারে। সেল যাদুবিদ্যাগুলি একটি ডাবল %% সহ উপস্থাপিত হয় এবং সেগুলি এমন ফাংশন যা কেবল যুক্তিরূপে বাকী রেখার বাকী নয়, তার নীচের লাইনগুলিকে পৃথক যুক্তিতেও যুক্ত করে।

%matplotlib inline matplotlib এর ব্যাকএন্ডকে 'ইনলাইন' ব্যাকএন্ডে সেট করে :

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

'ইনলাইন' ব্যাকএন্ড ব্যবহার করার সময়, আপনার ম্যাটপ্ল্লিটিব গ্রাফগুলি কোডের পাশে, আপনার নোটবুকে অন্তর্ভুক্ত করা হবে। আইপিথন নোটবুকটি কীভাবে আপনার কোডটিতে এটি ব্যবহার করতে হয় তার রেফারেন্সের জন্য ম্যাটপ্ল্লিটিব প্লট কীভাবে ইনলাইন করা যায় তা পড়ার পক্ষে এটি মূল্যবান হতে পারে ।

ভাল হিসাবে আপনি ইন্ট্যার্যাক্টিভিটির চান, আপনি ব্যবহার করতে পারেন nbagg ব্যাকএন্ড সঙ্গে %matplotlib notebook(IPython 3.x মধ্যে) হিসাবে বর্ণনা, এখানে


4
% matplotlib ইনলাইন

4
@ জাড্ডা আপনি আইপিথন ব্যবহার করছেন? যদি তা না হয় তবে আপনি একটি সিনট্যাক্স ত্রুটি পাবেন, কারণ এটি বৈধ সিপাইথন নয় (পাইথনের 'স্ট্যান্ডার্ড' ইন্টারপ্রেটার)। আপনি যদি আইপিথন নোটবুক ব্যবহার না করেন তবে এটিকে ব্যবহার করার সামান্য বিন্দু নেই, পুরো পয়েন্টটি হ'ল প্লটগুলি একটি নোটবুকের সাথে ইনলাইন রেন্ডার করা।
অরোরা 10001

হ্যাঁ. টেনসরফ্লো অবজেক্ট সনাক্তকরণ এপিআই প্রয়োগ করতে আমি স্পাইডার আইডিইতে (অ্যানাকোন্ডার অংশ) এ ব্যবহার করছি

3
সেক্ষেত্রে @ জাড্ডা, মনে হচ্ছে আপনি জিজ্ঞাসা করার জন্য একটি নতুন প্রশ্ন পেয়েছেন । আপনার সমস্ত প্রাসঙ্গিক বিবরণ সেখানে অন্তর্ভুক্ত করা উচিত যাতে আপনি এই প্রশ্নের উত্তরগুলির চেয়ে আপনার প্রশ্নের জন্য আরও মনোযোগ পেতে পারেন। শুভকামনা।
অরোরা 10001

2
ঠিক আছে, তবে বিকল্পটি কী: যদি এমন কোনও যাদু সক্রিয় না হয় তবে প্লটগুলি কীভাবে দেখব?
জাকএল

77

আপনি আইপিথন চালাচ্ছেন, তবে %matplotlib inlineআপনার প্লটের আউটপুটগুলি প্রদর্শিত হবে এবং নোটবুকের মধ্যে সংরক্ষণ করা হবে।

ডকুমেন্টেশন অনুযায়ী

এটি সেট আপ করতে, কোনও প্লট বা আমদানি সম্পাদনের আগে matplotlibআপনাকে কার্যকর করতে হবে %matplotlib magic command। আইপিথনের সাথে সঠিকভাবে হাতে কাজ করার জন্য এটি পর্দার পিছনে প্রয়োজনীয় সেটআপ সম্পাদন করে matplotlib; এটি আসলে কোনও পাইথন আমদানি কমান্ড কার্যকর করে না, অর্থাৎ নামকরণে কোনও নাম যুক্ত করা হয় না।

আইপিথন সরবরাহ করে একটি বিশেষ আকর্ষণীয় ব্যাকএন্ড, হ'ল inlineব্যাকএন্ড। এটি কেবল জুপিটার নোটবুক এবং জুপিটার কিউটি কনসোলের জন্য উপলব্ধ। এটি নিম্নলিখিত হিসাবে আহ্বান করা যেতে পারে:

%matplotlib inline

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


32

যদি আপনি আপনার জুপিটার নোটবুকটিতে প্লট যুক্ত করতে চান তবে %matplotlib inlineএটি একটি আদর্শ সমাধান। এবং অন্যান্য ম্যাজিক কমান্ডগুলি matplotlibজুপিটারের মধ্যে ইন্টারেক্টিভভাবে ব্যবহার করবে ।

%matplotlib: যে কোনও pltপ্লট কমান্ডের ফলে চিত্রের উইন্ডোটি খোলা হবে এবং প্লট আপডেট করার জন্য আরও কমান্ড চালানো যেতে পারে। কিছু পরিবর্তন স্বয়ংক্রিয়ভাবে আঁকা হবে না, আপডেট জোর করতে, ব্যবহার করতেplt.draw()

%matplotlib notebook: নোটবুকের মধ্যে এম্বেড করা ইন্টারেক্টিভ প্লটগুলিকে নেতৃত্ব দেবে, আপনি চিত্রটি জুম ও আকার পরিবর্তন করতে পারবেন

%matplotlib inline: কেবল নোটবুকে স্থির চিত্রগুলি আঁকুন


7

আইপিথন 5.0 এবং ম্যাটপ্ল্লোব 2.0. দিয়ে শুরু করে আপনি আইপথনের নির্দিষ্ট যাদু ব্যবহার এবং matplotlib.pyplot.ion()/matplotlib.pyplot.ioff()এ্যাপিথনের বাইরে কাজ করার সুবিধাও ব্যবহার করতে পারেন।

আইপিথন ডক্স


আমি মনে করি এটি ব্যাকএন্ড পরিবর্তন করা থেকে আলাদা। ব্যাকএন্ড না হলে inlineপ্লটগুলি বাইরের উইন্ডোগুলিতে উত্পন্ন হয় এবং নোটবুকে প্রদর্শন করার জন্য আপনাকে ডিসপ্লে () ব্যবহার করতে হবে।
ভিনসেঞ্জুও

4

ব্যাকএন্ড কী তা আপনি যদি না জানেন তবে আপনি এটি পড়তে পারেন: https://matplotlib.org/tutorials/intrrodctory/usage.html#backends

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

সুতরাং আপনি যখন% matplotlib ইনলাইন টাইপ করেন, এটি ইনলাইন ব্যাকএন্ড সক্রিয় করে। আগের পোস্টগুলিতে যেমন আলোচনা করা হয়েছে:

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


4

এর অর্থ হ'ল যে কোনও গ্রাফ যা আমরা আমাদের কোডের অংশ হিসাবে তৈরি করছি তা একই নোটবুকে প্রদর্শিত হবে এবং পৃথক উইন্ডোতে নয় যা ঘটতে পারে যদি আমরা এই যাদু বিবরণটি ব্যবহার না করি।


3

এটি পরিষ্কারভাবে ব্যাখ্যা করতে:

আপনি যদি এটি পছন্দ না করেন:

এখানে চিত্র বর্ণনা লিখুন

যোগ %matplotlib inline

এখানে চিত্র বর্ণনা লিখুন

এবং সেখানে এটি আপনার জ্যুপির নোটবুকে রয়েছে।


2

টি এল; ডিআর

%matplotlib inline - আউটপুট ইনলাইন প্রদর্শন করে


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

%matplotlibআইপিথনের সাথে সঠিকভাবে হাতে-হাতে কাজ করার জন্য পর্দার পিছনে প্রয়োজনীয় সেটআপ সম্পাদন করা একটি ম্যাজিক কমান্ড matplotlib; এটি কোনও পাইথন আমদানি কমান্ড কার্যকর করে না, অর্থাত্ নামের জায়গায় কোনও নাম যুক্ত করা হয় না।

পৃথক উইন্ডোতে আউটপুট প্রদর্শন করুন

%matplotlib

আউটপুট ইনলাইন প্রদর্শন করুন

(কেবলমাত্র জপিটার নোটবুক এবং জুপিটার কিউটি কনসোলের জন্য উপলব্ধ)

%matplotlib inline

ইন্টারেক্টিভ ব্যাকএন্ডের সাথে প্রদর্শন করুন

(বৈধ মান 'GTK3Agg', 'GTK3Cairo', 'MacOSX', 'nbAgg', 'Qt4Agg', 'Qt4Cairo', 'Qt5Agg', 'Qt5Cairo', 'TkAgg', 'TkCairo', 'WebAgg', 'WX', 'WXAgg', 'WXCairo', 'agg', 'cairo', 'pdf', 'pgf', 'ps', 'svg', 'template')

%matplotlib gtk

উদাহরণ - GTK3Agg - একটি GTK 3.x ক্যানভাসে একটি এগ্রি রেন্ডারিং (পিটিজিওজেক্ট এবং পাইকাইরো বা কায়রোকফি প্রয়োজন)।

ম্যাটপ্ল্লিটিব ইন্টারেক্টিভ ব্যাকেন্ডস সম্পর্কে আরও বিশদ: এখানে


শুরু করে IPython 5.0এবং matplotlib 2.0আপনি আইপিথনের নির্দিষ্ট যাদু ব্যবহার এবং এ্যাপিথনের বাইরেও কাজ করার সুবিধাগুলি ব্যবহার করতে পারেন matplotlib.pyplot.ion()/ ব্যবহার করতে পারেন matplotlib.pyplot.ioff()

তথ্যসূত্র : আইপিথন সমৃদ্ধ আউটপুট - ইন্টারেক্টিভ প্লটিং


এখানে বাস্তব প্রশ্ন, দুঃখিত ... "আইপিথন কার্নেল" কী এবং "ম্যাজিক কমান্ড" কী। পাইথন হঠাৎ আমার উপর বিভক্ত হয়ে অ পাইথোনিক হয়ে গেছে? আমি এই ধারণাগুলি সম্পর্কে কখনও শুনিনি।
lb_so

পাইথন নোটবুকের জন্য (আইপিনব) - একটি আইপথন কার্নাল বা জুপিটার কার্নাল প্রকল্পটি ব্যবহার করার জন্য পাইথন (এবং নির্ভরতা) এর সংস্করণ। আপনি একটি জুপিটার নোটবুক শুরু করতে পারেন এবং তারপরে পাইথনের একটি আলাদা কনফিগারেশন সহ পরিবেশে চলকগুলি এবং আরও অনেক কিছু কনফিগার করে ক্যারানালগুলি পরিবর্তন করতে পারেন।
আনি মেনন

@ আইবি_সো ম্যাজিক কমান্ডটি আইপিথন / জুপিটার বৈশিষ্ট্য। এখানে আরও পড়ুন।
আনি মেনন

0

আপনি যদি জপিটার নোটবুকটি চালাচ্ছেন তবে,% ম্যাটপ্লটলিব ইনলাইন কমান্ড আপনার প্লট আউটপুটগুলি নোটবুকে প্রদর্শিত হবে এবং এটিও সংরক্ষণ করা যাবে।


-8

এটি লিখতে বাধ্যতামূলক নয়। এটি ( %matplotlib) যাদু ফাংশন ছাড়াই আমার পক্ষে দুর্দান্ত কাজ করেছে । আমি সাইপডার সংকলক ব্যবহার করছি, এটি অ্যানাকোন্ডায় আসে।


13
স্পাইডার একটি আইডিই, সংকলক নয়।
ম্যাথিউ ব্রুচার

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