আইপিথন নোটবুক matplotlib প্লট ইনলাইন কিভাবে করবেন


829

আমি পাইথন ২.7.২ এবং আইপিথন ১.১.০ সহ ম্যাকওএস এক্স-তে আইপিথন নোটবুকটি ব্যবহার করার চেষ্টা করছি।

আমি ইনলাইন দেখানোর জন্য ম্যাটপ্ল্লিটিব গ্রাফিক্স পেতে পারি না।

import matplotlib
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline  

আমি চেষ্টা করেছি %pylab inlineএবং আইপথন কমান্ড লাইন আর্গুমেন্ট --pylab=inlineকিন্তু এটি কোনও পার্থক্য করে না।

x = np.linspace(0, 3*np.pi, 500)
plt.plot(x, np.sin(x**2))
plt.title('A simple chirp')
plt.show()

ইনলাইন গ্রাফিক্সের পরিবর্তে, আমি এটি পেয়েছি:

<matplotlib.figure.Figure at 0x110b9c450>

এবং matplotlib.get_backend()দেখায় যে আমার 'module://IPython.kernel.zmq.pylab.backend_inline'ব্যাকএন্ড রয়েছে।


আপনার কোড স্নিপেট উত্পাদন করা উচিত নয় <matplotlib.figure.Figure at 0x110b9c450>কিন্তু <matplotlib.text.Text at 0x94f9320>(আপনার শেষ লাইনটি একটি শিরোনাম মুদ্রণ করা হয়, কারণ)। যাইহোক, আপনার কোড (% matplotlib ইনলাইন এবং plt.show () সহ) উইন্ডোতে প্রত্যাশা অনুযায়ী কাজ করে
joaquin

এই পরামর্শগুলির জন্য ধন্যবাদ, তবে তারা আমার পক্ষে কাজ করে না। আমি এখনও কোনও ইনলাইন গ্রাফিক্স ছাড়াই উপরের আউটপুটটি পাই। আপনার কি কোনও সমস্যা সমাধানের পরামর্শ আছে?
ইয়ান ফিসকে

কোন সুত্র নেই. একই পাইথন, একই আইপথন (এবং একই ব্যাকএন্ড) তবে উইন্ডোতে, এবং এটি কাজ করে .... আমি মনে করি প্লটটি আপনার জন্য কাজ করছে যখন ইনলাইন না, তাই না?
জোয়াকুইন

2
ছাড়া %matplotlib inline, কার্নেল স্থায়ীভাবে ব্যস্ত থাকে এবং আমি কোনও আউটপুট পাই না। এটি মেরে ফেলতে হবে। এটি MacOSXব্যাকএন্ড ব্যবহার করার চেষ্টা করছে তবে আমার ধারণা এটি কোনও কারণে এটি খুলতে পারে না। আইপথন নোটবুক ব্যবহার না করার সময়, ম্যাটপ্লটলিবের জন্য ম্যাকোএসএক্স ব্যাকএন্ড ঠিকঠাক কাজ করে।
ইয়ান ফিস্কে

1
আমার একটি অভিন্ন লক্ষণ ছিল তবে এটি প্রমাণিত হয়েছে যে আমি OSX 10.8 এ ক্যানোপির একটি 32 বিট সংস্করণ ইনস্টল করেছি had 64 বিট সংস্করণ দিয়ে পুনরায় ইনস্টল করা এটি ঠিক করে দিয়েছে।
ভিকি টি

উত্তর:


1128

আমি %matplotlib inlineনোটবুকের প্রথম কক্ষে ব্যবহার করেছি এবং এটি কাজ করে। আমার মনে হয় আপনার চেষ্টা করা উচিত:

%matplotlib inline

import matplotlib
import numpy as np
import matplotlib.pyplot as plt

আপনার কনফিগার ফাইলগুলিতে নিম্নলিখিত কনফিগারেশন বিকল্পগুলি সেট করে আপনি সর্বদা আপনার আইপিথন কার্নেলগুলি ইনলাইন মোডে শুরু করতে পারেন:

c.IPKernelApp.matplotlib=<CaselessStrEnum>
  Default: None
  Choices: ['auto', 'gtk', 'gtk3', 'inline', 'nbagg', 'notebook', 'osx', 'qt', 'qt4', 'qt5', 'tk', 'wx']
  Configure matplotlib for interactive use with the default matplotlib backend.

7
আমি এটিকে সঠিক উত্তর হিসাবে চিহ্নিত করব। বিকল্পটি --pylab inlineকাজ করে, তবে আপনাকে নিম্নলিখিত সতর্কবার্তাটি দিয়ে স্বাগত জানায়: পাইল্যাব মোডে সমস্ত কার্নেলগুলি শুরু করার প্রস্তাব দেওয়া হয় না, এবং ভবিষ্যতে প্রকাশে অক্ষম করা হবে। পরিবর্তে matplotlib সক্ষম করতে% matplotlib যাদু ব্যবহার করুন। পাইলাব অনেকগুলি আমদানিকে বোঝায় যা বিভ্রান্তিকর পার্শ্ব প্রতিক্রিয়া হতে পারে এবং আপনার নোটবুকগুলির পুনরুত্পাদনযোগ্যতার ক্ষতি করতে পারে।
এমপ্যাভলভ

1
@ ইএনর্ড 9 @ মাইটওয়ल्फ: আমি আইপথন (এবং মতলবের পরিবর্তে পাইথন প্রোগ্রামিং) ব্যবহার করতে শিখছি; import matplotlib' do versus [নাম] 'হিসাবে ম্যাটপ্লটলিব কী আমদানি করে ? সরল মন্তব্যের জন্য ক্ষমা করুন
TSGM

1
@ eNord9 @ মাইটওয়ালফ: এবং এটি কীভাবে mat ম্যাটপ্ল্লোলিব আমদানি এমপিএল থেকে 'তুলনা করে।
TSGM

2
@ টিএসজিএম আপনার প্রশ্নের জন্য আমি যে সর্বোত্তম ব্যাখ্যাটি দেখেছি তা হ'ল: ইফবোট.আর.জি.
ইমপোর্ট-

ধন্যবাদ @ eNord9। আপডেটগুলি এবং সমস্ত কিছু সহ কিছুক্ষণ হয়ে যাওয়ার পরে আমি কেবল আপনার আদেশগুলি পরীক্ষা করেছি। পাইথন ২.7.৯ এবং আইপিথন ৩.১.০ এ এখন সবকিছু ঠিক আছে।
ইয়ান ফিস্কে

214

যদি আপনার ম্যাটপ্ল্লোলিব সংস্করণটি 1.4 এর উপরে হয় তবে এটি ব্যবহার করাও সম্ভব

আইপিথন 3.x এবং উপরের

%matplotlib notebook

import matplotlib.pyplot as plt

পুরানো সংস্করণ

%matplotlib nbagg

import matplotlib.pyplot as plt

উভয়ই nbagg ব্যাকএন্ড সক্রিয় করবে , যা ইন্টারঅ্যাক্টিভিটি সক্ষম করে।

এনব্যাগ ব্যাকএন্ডের সাথে প্লট উদাহরণ করুন


এটি নিয়ে কাজ করবে বলে মনে হচ্ছে না %config InlineBackend.figure_format='retina'। ইন্টারেক্টিভ রেটিনা চিত্রগুলি কীভাবে পাবেন?
ওরোম

হুম ... রেটিনা ফিগারগুলির সাথে আমার খুব বেশি দক্ষতা নেই। আমি কেবল হোঁচট খেয়েছি এই লিঙ্কটি , তবে এটি অবহেলা করা যেতে পারে। যদি আরও লোকেরা এটি সম্পর্কে ভাবতে থাকে তবে আমি আপনার এসও প্রশ্নটি এখানে লিঙ্ক করব এবং উত্তরগুলির সাথে আপনার শুভ কামনা রইল। সেরা
লাইটেন

31
এই উত্তর আন্ডাররেটেড হয়। %matplotlib notebookএর চেয়ে আরও ভাল ভিজ্যুয়ালাইজেশন সরবরাহ করে %matplotlib inline
হাইউ

9
%matplotlib notebookজুপিটার নোটবুক ৪.১.১ / উবুন্টু ১.0.০৪ / ক্রোম ব্যবহার করে (কোনও ধরণের কিছু প্রদর্শন করে, তবে ফাঁকা) ব্যবহার করে না, %matplotlib inlineচিত্রগুলি দেখায়, তবে তারা আক্ষরিক "ইনলাইন" নয়, মার্কডাউন পাঠ্যের পরে আসে।
মাইকেল 25

6
আপনি যদি %matplotlib inlineপ্রথমে চেষ্টা করে থাকেন এবং তারপরে স্যুইচ করেন %matplotlib notebook, আপনি খালি ফলাফল পেতে পারেন। কার্নেলটি পুনরায় চালু করুন এবং আবার চালান।
Czechnology

90

Ctrl + + Enter

%matplotlib inline

যাদু লাইন: ডি

দেখুন: ম্যাটপ্ল্লিটিবের সাথে প্লট করা


1
পছন্দ করেছেন বিকল্পভাবে, আপনি গিথুব-এ আইপথন রেপোতে যেতে পারেন, 'উদাহরণস্বরূপ' ফোল্ডারে যেতে পারেন, 'ম্যাটপ্লাটলিবের সাথে প্লটিং' নোটবুকটি পেতে পারেন।
কোডফার্মার

24

%pylab inlineম্যাজিক কমান্ড ব্যবহার করুন ।


14
আর নেই: "আইপথন নোটবুক - আইপিএল ইনলাইন [ই 15: 01: 18.182 নোটবুক অ্যাপ্লিকেশন] কমান্ড লাইনে --pylab নির্দিষ্ট করার জন্য সমর্থন সরানো হয়েছে। [ই 15: 01: 18.182 নোটবুক অ্যাপ্লিকেশন] দয়া করে ব্যবহার করুন %pylab inlineবা %matplotlib inlineনোটবুক নিজেই। "
ডেভ এক্স

14

জুপিটারে ডিফল্টরূপে ম্যাটপ্ল্লোলিব ইনলাইন তৈরি করতে (আইপিথন 3):

  1. ফাইল সম্পাদনা করুন ~/.ipython/profile_default/ipython_config.py

  2. লাইন যুক্ত করুন c.InteractiveShellApp.matplotlib = 'inline'

দয়া করে নোট করুন যে এই লাইনটি যুক্ত করা কার্যকর ipython_notebook_config.pyহবে না। অন্যথায় এটি জুপিটার এবং আইপিথন 3.1.0 এর সাথে ভাল কাজ করে


10

আমাকে ফুবারবিকিউর সাথে একমত হতে হবে (তার পোস্টের নীচে কেবল একটি মন্তব্য সন্নিবেশ করতে সক্ষম হওয়ার মতো পর্যাপ্ত রেকস আমার নেই):

এখন এটি সুপারিশ করা হয়েছে যে অজগর নোটবুকটি যুক্তির --pylabভিত্তিতে শুরু করা হয়নি , এবং ফার্নান্দো পেরেজের (আইপাইথনবের স্রষ্টা) মতে %matplotlib inlineপ্রাথমিক নোটবুক কমান্ড হওয়া উচিত।

এখানে দেখুন: http://nbviewer.ipython.org/github/ipython/ipython/blob/1.x/example/notebooks/Part%203%20-%20পল্টিং ২০২০ মেটপ্ল্লোটিব.আইপিনব



5

আমি অ্যানাকোন্ডা ইনস্টল করেছি তবে ম্যাটপ্ল্লোলিব প্লট করছে না

যখন আমি এটি করলাম এটি প্লট করা শুরু করে

import matplotlib
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline  

2

আপনি একটি সিনট্যাক্স ভুল দিয়ে এই সমস্যাটি অনুকরণ করতে পারেন, তবে %matplotlib inlineসমস্যাটি সমাধান করবেন না।

প্রথমে একটি প্লট তৈরির সঠিক পদ্ধতির উদাহরণ। ENord9 সরবরাহিত আমদানি এবং যাদুবিদ্যার সাথে প্রত্যাশা অনুযায়ী সবকিছুই কাজ করে ।

df_randNumbers1 = pd.DataFrame(np.random.randint(0,100,size=(100, 6)), columns=list('ABCDEF'))

df_randNumbers1.ix[:,["A","B"]].plot.kde()

তবে ()প্লটের ধরণের প্রান্তটি বন্ধ রেখে আপনি কিছুটা দ্ব্যর্থহীন অ-ত্রুটি পাবেন receive

ত্রুটিযুক্ত কোড:

df_randNumbers1.ix[:,["A","B"]].plot.kde

উদাহরণ ত্রুটি:

<bound method FramePlotMethods.kde of <pandas.tools.plotting.FramePlotMethods object at 0x000001DDAF029588>>

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


ছাড়া - এই একটি বাক্য গঠন ত্রুটি নয় ()থেকে ডাকা kde , iPython আপনি কহন কি kde হয় , যথা, একটি আবদ্ধ পদ্ধতি। সুতরাং আসলে আইপথনের দৃষ্টিকোণ থেকে, এটি মোটেও "ত্রুটি" নয়, সুতরাং কেন কোনও স্ট্যাক ট্রেস নেই।
কাইল স্ট্র্যান্ড

1
ধন্যবাদ কাইলস্ট্র্যান্ড আমার পোস্টটি পুনরায় পড়ার পরে আমার যা বলা উচিত ছিল তা হ'ল: "আমি ভেবেছিলাম যে %matplotlib inlineকমান্ডটি ব্যবহার করে আমার প্লটগুলি ইনলাইনটি না দেখানোর সমস্যা হয়েছে ally সত্যই আমি প্লটের ধরণের শেষে () রাখতে ভুলে গিয়েছিলাম So তাই যদি অন্য সব কিছুই ব্যর্থ হয়, ভুলের জন্য আপনার প্রথম বন্ধনী দেখুন "
ব্লেক এম

1

আমি যখন জপিটারে পৃথক কক্ষে প্লটিং কমান্ডগুলি চালাচ্ছিলাম তখন আমার একই সমস্যা হয়েছিল:

In [1]:  %matplotlib inline
         import matplotlib
         import matplotlib.pyplot as plt
         import numpy as np
In [2]:  x = np.array([1, 3, 4])
         y = np.array([1, 5, 3])
In [3]:  fig = plt.figure()
         <Figure size 432x288 with 0 Axes>                      #this might be the problem
In [4]:  ax = fig.add_subplot(1, 1, 1)
In [5]:  ax.scatter(x, y)
Out[5]:  <matplotlib.collections.PathCollection at 0x12341234>  # CAN'T SEE ANY PLOT :(
In [6]:  plt.show()                                             # STILL CAN'T SEE IT :(

প্লটিং কমান্ডগুলি একটি একক কক্ষে মার্জ করে সমস্যাটি সমাধান করা হয়েছিল:

In [1]:  %matplotlib inline
         import matplotlib
         import matplotlib.pyplot as plt
         import numpy as np
In [2]:  x = np.array([1, 3, 4])
         y = np.array([1, 5, 3])
In [3]:  fig = plt.figure()
         ax = fig.add_subplot(1, 1, 1)
         ax.scatter(x, y)
Out[3]:  <matplotlib.collections.PathCollection at 0x12341234>
         # AND HERE APPEARS THE PLOT AS DESIRED :)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.