আইপিথন নোটবুকটিতে স্বয়ংক্রিয়ভাবে% ম্যাটপ্লটলিব ইনলাইন চালান


92

আমি যতবার আইপিথন নোটবুক চালু করি, আমি চালিত প্রথম কমান্ডটি

%matplotlib inline

আমার কনফিগার ফাইলটি পরিবর্তন করার কোনও উপায় আছে যাতে আমি আইপিথন চালু করার সময় এটি স্বয়ংক্রিয়ভাবে এই মোডে চলে আসে?


4
'আইপথন -প্লেব' কাজ করে?
ক্রিস অ্যারেনা

যদি তা হয় তবে আপনি খুব সহজেই তা করতে আইপিথন ওরফে করতে পারেন।
ক্রিস অ্যারিনা 4

4
ipython --matplotlibআরও ভাল
টাকসওয়েল

উপেক্ষা করুন খয়রাত । নির্বাচিত উত্তর 5.5.0 এর জন্য কাজ করে। বাধ্যতামূলক 24 ঘন্টা সময়কালের পরে আমি অনুগ্রহ বন্ধ করব। এর জন্যে দুঃখিত!
রিকার্ডো ক্রুজ

আমি বাজি ধরছি আপনি আপনার নোটবুকটি শুরু করে দেওয়ার চেয়ে কেবল এই প্রশ্নটি টাইপ করার এবং সমাধানটি প্রয়োগের চেষ্টা করার জন্য আরও সময় ব্যয় করেছেন: ডি
ইন্টেলিজেন্ট-ইনফ্রাস্ট্রাকচার

উত্তর:


83

কনফিগারেশন উপায়

আইপিথনের কনফিগারেশনের জন্য প্রোফাইল রয়েছে, এটিতে অবস্থিত ~/.ipython/profile_*। ডিফল্ট প্রোফাইল বলা হয় profile_default। এই ফোল্ডারের মধ্যে দুটি প্রাথমিক কনফিগারেশন ফাইল রয়েছে:

  • ipython_config.py
  • ipython_kernel_config.py

Matplotlib এর জন্য ইনলাইন বিকল্পটি এতে যুক্ত করুন ipython_kernel_config.py:

c = get_config()
# ... Any other configurables you want to set
c.InteractiveShellApp.matplotlib = "inline"

matplotlib বনাম পাইব

এর ব্যবহার %pylabইনলাইন চক্রান্ত পেতে হয় নিরুৎসাহিত

এটি আপনার নেমস্পেসে সমস্ত ধরণের বন্দুকের পরিচয় দেয় যা আপনার কেবল প্রয়োজন হয় না।

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

import matplotlib.pyplot as plt
import numpy as np

আপনার আমদানি স্পষ্টভাবে টাইপ করার ক্ষুদ্র মূল্যটি আপনার কাছে পুনরায় প্রজননযোগ্য কোড রয়েছে এই বিষয়টি দ্বারা সম্পূর্ণরূপে কাটিয়ে উঠতে হবে।


4
ধন্যবাদ আমি ম্যাটপ্ল্লোলিব ডক্সে এই কনফিগার বিকল্পটি দেখেছি, তবে নিশ্চিত ছিলাম না যে এটি ম্যাটপ্লটলিব ব্যাকএন্ড সেট করেছে যা আপনি নিজে নিজে কল করার পরে%matplotlib কার্যকর হবে বা এটি উভয়ই ডিফল্ট ব্যাকএন্ড সেট করে এবং স্বয়ংক্রিয়ভাবে এটি অবিলম্বে ব্যবহারের জন্য সেট আপ করে কিনা আইপিথন পরিবেশ।
8one6

4
matplotlibবনাম সম্পর্কিত @ কাইল কেলির সম্পাদনায় যোগ করতে আইপিথন pylabপ্রতিটি সময় আপনি প্রোফাইল ব্যবহার করে লঞ্চ করার সময় স্বেচ্ছাসেবক পাইথন কোডটি খুব সহজেই কার্যকর করা সহজ করে দেয়। আমি বিশ্বাস করি একটি প্রোফাইল যেখানে আপনি স্বয়ংক্রিয়ভাবে সাধারণ আমদানির পছন্দ কর আছে খুবই সাধারণ import numpy as np; import pandas as pd; import matplotlib.pyplot as plt, ইত্যাদি বিশেষ দ্রষ্টব্য: pylabহয় না একই জিনিস pyplot। এটা বুঝতে আমার অবশ্যই এক মাস লেগেছিল।
8one6

4
এই (সেইসাথে SillyBear এর উত্তর) IPython 3. সঙ্গে কাজ করা বন্ধ করে github.com/ipython/docker-notebook/pull/7#issuecomment-54729770 "c.IPKernel.matplotlib" ... ব্যবহার করতে প্রস্তাব দেওয়া যা ত্ত কাজ করে না ।
পিট্রো ব্যাটিস্টন

4
এই উত্তরটি আমার পক্ষে কাজ করেছিল। আইপথন 3 এ দৃশ্যত একটি নতুন কনফিগারেশন ফাইল ipython_kernel_config.pyরয়েছে, এতে এই বিকল্প রয়েছে। ipython profile create testএকটি ডিফল্ট পেতে একটি নতুন প্রোফাইল ( ) তৈরি করুন ।
ডিজি গ্রেডি

4
এই বিকল্পটির পুনরায় নামকরণ করা হয়েছে বলে মনে হয়c.InteractiveShellApp.matplotlib = "inline"
tiago

6

আমি মনে করি আপনি যা চান তা কমান্ড লাইন থেকে নিম্নলিখিতটি চালানো হতে পারে:

ipython notebook --matplotlib=inline

আপনি যদি প্রতিবার সেমিডি লাইনে এটি টাইপ করতে পছন্দ না করেন তবে আপনার জন্য এটি করার জন্য একটি নাম তৈরি করতে পারেন।


4
দয়া করে আপনার পোস্টটি পরিবর্তন করুন --matplotlib inlineএবং - অ্যাপ্ল্যাব স্টাফ সরান। আইপথন ডেভেল এর এই পোস্টটি দেখুন কেন: carreau.github.io/posts/10- কোন- পাইপ্যাব- ধন্যবাদ.আইপিনব.ইচটিএমএল
জ্যাকব

4
সম্পর্কে একটি নোট matplotlib=inline: আপনি ম্যাটপ্ল্লোলিব ব্যবহার করতে চান কিনা তা বিবেচনা না করে এটি আপনার প্রবর্তন করা প্রতিটি কার্নেলকে ধীর করে দেবে।
কাইল কেলি

7
এটি আর কাজ করে না (অন্তত আইপিথন 4 হিসাবে)। কমান্ড লাইন বিকল্পগুলি --matplotlibবা --pylabউপেক্ষা করা হয়।
টিয়াগো

4
Jupyter কম্যান্ড-লাইন সাহায্যের জন্য সাহায্যের বলছেন এই বিকল্পগুলি অক্ষম করা হয়েছে এবং ব্যবহার করা উচিত %pylabবা %matplotlibপরিবর্তে।
কাস

4

Jupyter 5.Xনীচে কোড যুক্ত করে সেটিংসটি অক্ষম করা হয়েছিল এবং তার চেয়ে বেশি

pylab = Unicode('disabled', config=True,
    help=_("""
    DISABLED: use %pylab or %matplotlib in the notebook to enable matplotlib.
    """)
)

@observe('pylab')
def _update_pylab(self, change):
    """when --pylab is specified, display a warning and exit"""
    if change['new'] != 'warn':
        backend = ' %s' % change['new']
    else:
        backend = ''
    self.log.error(_("Support for specifying --pylab on the command line has been removed."))
    self.log.error(
        _("Please use `%pylab{0}` or `%matplotlib{0}` in the notebook itself.").format(backend)
    )
    self.exit(1)

এবং পূর্ববর্তী সংস্করণগুলিতে এটি প্রধানত একটি সতর্কতা ছিল। তবে এটি কোনও বড় সমস্যা নয় কারণ জুপিটার ধারণাটি ব্যবহার করে kernelsএবং নীচে কমান্ড চালিয়ে আপনি আপনার প্রকল্পের জন্য কার্নেলটি খুঁজে পেতে পারেন

$ jupyter kernelspec list
Available kernels:
  python3    /Users/tarunlalwani/Documents/Projects/SO/notebookinline/bin/../share/jupyter/kernels/python3

এটি আমাকে কার্নেল ফোল্ডারে যাওয়ার পথ দেয়। এখন আমি যদি /Users/tarunlalwani/Documents/Projects/SO/notebookinline/bin/../share/jupyter/kernels/python3/kernel.jsonফাইলটি খুলি , আমি নীচের মতো কিছু দেখতে পাচ্ছি

{
 "argv": [
  "python",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}",
 ],
 "display_name": "Python 3",
 "language": "python"
}

সুতরাং আপনি দেখতে পাচ্ছেন কার্নেলটি আরম্ভ করার জন্য কোন আদেশটি কার্যকর করা হয়। আপনি যদি নীচের কমান্ড চালাতে পারেন

$ python -m ipykernel_launcher --help
IPython: an enhanced interactive Python shell.

Subcommands
-----------

Subcommands are launched as `ipython-kernel cmd [args]`. For information on
using subcommand 'cmd', do: `ipython-kernel cmd -h`.

install
    Install the IPython kernel

Options
-------

Arguments that take values are actually convenience aliases to full
Configurables, whose aliases are listed on the help line. For more information
on full configurables, see '--help-all'.

....
--pylab=<CaselessStrEnum> (InteractiveShellApp.pylab)
    Default: None
    Choices: ['auto', 'agg', 'gtk', 'gtk3', 'inline', 'ipympl', 'nbagg', 'notebook', 'osx', 'pdf', 'ps', 'qt', 'qt4', 'qt5', 'svg', 'tk', 'widget', 'wx']
    Pre-load matplotlib and numpy for interactive use, selecting a particular
    matplotlib backend and loop integration.
--matplotlib=<CaselessStrEnum> (InteractiveShellApp.matplotlib)
    Default: None
    Choices: ['auto', 'agg', 'gtk', 'gtk3', 'inline', 'ipympl', 'nbagg', 'notebook', 'osx', 'pdf', 'ps', 'qt', 'qt4', 'qt5', 'svg', 'tk', 'widget', 'wx']
    Configure matplotlib for interactive use with the default matplotlib
    backend.
...    
To see all available configurables, use `--help-all`

সুতরাং এখন যদি আমরা আমাদের kernel.jsonফাইল আপডেট

{
 "argv": [
  "python",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}",
  "--pylab",
  "inline"
 ],
 "display_name": "Python 3",
 "language": "python"
}

এবং আমি যদি jupyter notebookগ্রাফটি চালিত করি তবে স্বয়ংক্রিয়ভাবে হয়inline

অটো ইনলাইন

নীচের পদ্ধতিটি এখনও কার্যকর হয় নোট করুন, যেখানে আপনি নীচের পথে একটি ফাইল তৈরি করেন

~ / .আইপিথন / প্রোফাইল_ডিফল্ট / আইপিথন_কারেল_কনফিগ.পি

c = get_config()
c.IPKernelApp.matplotlib = 'inline'

তবে এই পদ্ধতির অসুবিধাটি হ'ল এটি অজগর ব্যবহার করে প্রতিটি পরিবেশের একটি বিশ্বব্যাপী প্রভাব। আপনি যদি একক পরিবর্তন সহ পরিবেশের সর্বত্র একটি সাধারণ আচরণ করতে চান তবে এটি একটি সুবিধা হিসাবে বিবেচনা করতে পারেন।

সুতরাং আপনার প্রয়োজনের ভিত্তিতে আপনি কোন পদ্ধতিটি ব্যবহার করতে চান তা চয়ন করুন


3

আপনার ipython_config.pyফাইলটিতে নিম্নলিখিত লাইনগুলি অনুসন্ধান করুন

# c.InteractiveShellApp.matplotlib = None

এবং

# c.InteractiveShellApp.pylab = None

এবং তাদের uncomment। তারপরে, Noneআপনি যে ব্যাকএন্ডটি ব্যবহার করছেন (সেটি আমি ব্যবহার করি 'qt4') এ পরিবর্তন করুন এবং ফাইলটি সংরক্ষণ করুন। আইপিথন পুনরায় আরম্ভ করুন, এবং ম্যাটপ্ল্লিটিব এবং পাইবল্ড লোড করা উচিত - আপনি dir()বিশ্বব্যাপী নেমস্পেসে কোন মডিউলগুলি তা যাচাই করতে কমান্ডটি ব্যবহার করতে পারেন ।


3

(বর্তমান) আইপিথন ৩.২.০ (পাইথন ২ বা ৩)

লুকানো ফোল্ডার .ipython এর মধ্যে কনফিগারেশন ফাইলটি খুলুন

~/.ipython/profile_default/ipython_kernel_config.py

নিম্নলিখিত লাইন যুক্ত করুন

c.IPKernelApp.matplotlib = 'inline'

এটি সরাসরি পরে যোগ করুন

c = get_config()

2

@ কাইল কেলি এবং @ ডিজি গ্রাডি-তে আরও এখানে প্রবেশিকাটি পাওয়া যাবে যা

$HOME/.ipython/profile_default/ipython_kernel_config.py (বা আপনি যে কোনও প্রোফাইল তৈরি করেছেন)

পরিবর্তন

# Configure matplotlib for interactive use with the default matplotlib backend.
# c.IPKernelApp.matplotlib = none

প্রতি

# Configure matplotlib for interactive use with the default matplotlib backend.
c.IPKernelApp.matplotlib = 'inline'

এরপরে এটি আইপথন Qtconsole এবং নোটবুক সেশন উভয় ক্ষেত্রেই কাজ করবে।


2

ধারণ করে যে কোনও .pyফাইল তৈরি করুন~/.ipython/profile_default/startup/

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