วิธีตั้งค่าขนาดเริ่มต้นของรูป matplotlib ในโน้ตบุ๊ก ipython


104

ฉันใช้ "$ ipython notebook --pylab inline" เพื่อเริ่มสมุดบันทึก ipython ขนาดของรูป matplotlib ที่แสดงใหญ่เกินไปสำหรับฉันและฉันต้องปรับด้วยตนเอง จะกำหนดขนาดเริ่มต้นสำหรับรูปที่แสดงในเซลล์ได้อย่างไร?

คำตอบ:


123

ฉันเชื่อว่าการทำงานต่อไปนี้ในเวอร์ชัน 0.11 ขึ้นไป ในการตรวจสอบเวอร์ชัน:

$ ipython --version

อาจเป็นการคุ้มค่าที่จะเพิ่มข้อมูลนี้ในคำถามของคุณ

สารละลาย:

ipython_notebook_config.pyคุณต้องไปหาไฟล์ ขึ้นอยู่กับขั้นตอนการติดตั้งของคุณสิ่งนี้ควรอยู่ในที่ใดที่หนึ่งเช่น

.config/ipython/profile_default/ipython_notebook_config.py

อยู่ที่ไหน.configในโฮมไดเร็กทอรีของคุณ

เมื่อคุณพบไฟล์นี้แล้วให้ค้นหาบรรทัดต่อไปนี้

# Subset of matplotlib rcParams that should be different for the inline backend.
# c.InlineBackend.rc = {'font.size': 10, 'figure.figsize': (6.0, 4.0), 'figure.facecolor': 'white', 'savefig.dpi': 72, 'figure.subplot.bottom': 0.125, 'figure.edgecolor': 'white'}

c.InlineBack...ยกเลิกการใส่ข้อคิดเห็นบรรทัดนี้และกำหนด figsize เริ่มต้นของคุณในรายการพจนานุกรมที่สอง

โปรดทราบว่าสิ่งนี้สามารถทำได้ในสคริปต์ python (และด้วยเหตุนี้การโต้ตอบใน IPython) โดยใช้

pylab.rcParams['figure.figsize'] = (10.0, 8.0)

6
ใน ipython 2.0 ไฟล์ config อยู่ใน. ipython / profile_default / ipython_notebook_config.py
Fabian Pedregosa

1
ใน iPython เวอร์ชันเก่าipython_notebook_config.pyจะไม่มีบรรทัดสำหรับกำหนดค่าแบ็กเอนด์แบบอินไลน์ เนื่องจากไฟล์คอนฟิกูเรชันไม่ได้รับการอัปเดตโดยอัตโนมัติเมื่อคุณอัปเดต iPython (อย่างน้อยก็ใน Windows) คุณจึงต้องลบและสร้างไฟล์กำหนดค่าใหม่โดยเรียกใช้ipython profile createตามที่ @anmol แนะนำด้านล่าง
Puggie

1
ipython profile locateคุณสามารถค้นหาโปรไฟล์ที่มีอยู่ด้วย
j08lue

22
และถ้าคุณใช้ matplotlib แทน pyplot คำสั่งแบบโต้ตอบคือ matplotlib.rcParams['figure.figsize'] = (10.0, 8.0)
Luke

ฉันใช้ jupyter 4.1.0-6 กับ python-ipykernel 4.5.2-3 และ ipython 5.3.0-1 (ทั้งหมดบน Arch) และฉันไม่มีไฟล์ชื่อipython_notebook_config.pyภายใต้~. มีความคิดอย่างไรว่าสิ่งต่างๆอาจเปลี่ยนแปลงไปในเวอร์ชันล่าสุดได้อย่างไร
Pastafarianist

112

การทำงานชอบเสน่ห์สำหรับฉัน:

matplotlib.rcParams['figure.figsize'] = (20.0, 10.0)

17
ฉันไม่รู้ว่าสำนวนนี้เป็นอย่างไร แต่ฉันปรับสิ่งนี้สำหรับสมุดบันทึก jupyter ของฉันเพื่อให้ใช้งานได้:import matplotlib.pyplot as plt %matplotlib inline plt.rcParams['figure.figsize'] = (20.0, 10.0)
brycemcd

8
นอกจากนี้ยังมีplt.rc('figure', figsize=(20.0, 10.0))
joelostblom

2
ค่อนข้างแปลก แต่หลังจากการอัปเดตบางอย่างฉันจำเป็นต้องแยก%matplotlib inlineและplt.rc(...)ข้ามเซลล์ต่างๆเพื่อให้หลังใช้งานได้ เช่นเดียวกับmatplotlib.rcParams[...]
uranix

3
ตรวจสอบให้แน่ใจว่าบรรทัดนี้อยู่หลัง%matplotlib inline
Rishabh Agrahari

17

หากคุณไม่มีไฟล์ ipython_notebook_config.py นี้คุณสามารถสร้างได้โดยทำตาม readme แล้วพิมพ์

ipython profile create

16

เพื่อความสมบูรณ์สิ่งนี้ก็ใช้ได้เช่นกัน

from IPython.core.pylabtools import figsize
figsize(14, 7)

มันเป็นกระดาษห่อตัวrcParamsแก้ปัญหา


สำคัญสำหรับโน้ตบุ๊กขนาดใหญ่ที่มีหลายแปลงและใช้งานได้ดี
CATALUNA84

8

ใน iPython 3.0.0 จำเป็นต้องกำหนดค่าแบ็กเอนด์แบบอินไลน์ในรูปแบบipython_kernel_config.py. คุณต้องเพิ่มc.InlineBackend.rcบรรทัด ... ด้วยตนเอง(ตามที่กล่าวไว้ในคำตอบของGreg ) สิ่งนี้จะส่งผลต่อทั้งแบ็กเอนด์แบบอินไลน์ในคอนโซล Qt และโน้ตบุ๊ก


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.