คำถามติดแท็ก matplotlib

Matplotlib เป็นไลบรารีการพล็อตสำหรับ Python ซึ่งอาจใช้แบบโต้ตอบหรือฝังใน GUI แบบสแตนด์อะโลน อินเทอร์เฟซ "pyplot" ขนาดกะทัดรัดคล้ายกับฟังก์ชันการลงจุดของMATLAB®

3
ข้อผิดพลาดของหน่วยความจำขณะใช้ pip ติดตั้ง Matplotlib
ฉันใช้ Python 2.7 หากฉันพยายามติดตั้ง Matplotlib ฉันได้รับข้อผิดพลาดนี้หากฉันใช้ "pip install matplotlib" Exception: Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 232, in main status = self.run(options, args) File "/usr/local/lib/python2.7/dist-packages/pip/commands/install.py", line 339, in run requirement_set.prepare_files(finder) File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 355, in prepare_files do_download, session=self.session, File "/usr/local/lib/python2.7/dist-packages/pip/download.py", line 782, in unpack_url session, File "/usr/local/lib/python2.7/dist-packages/pip/download.py", line …

8
ฉันจะตั้งค่า 'แบ็กเอนด์' ใน matplotlib ใน Python ได้อย่างไร
ฉันเป็นผู้ใช้ matplotlib ใหม่แพลตฟอร์มของฉันคือ Ubuntu 10.04 Python 2.6.5 นี่คือรหัสของฉัน import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt plt.plot([1,2,3]) ข้อผิดพลาดคือ: /usr/local/lib/python2.6/dist-packages/matplotlib/backends/__init__.py:41: UserWarning: Your currently selected backend, 'agg' does not support show(). Please select a GUI backend in your matplotlibrc file ('/usr/local/lib/python2.6/dist-packages/matplotlib/mpl-data/matplotlibrc') or with matplotlib.use() (backend, matplotlib.matplotlib_fname())) ฉันติดตั้งไลบรารี Anti-Grain Geometry apt-get install libaggแต่ใช้ไม่ได้ ฉันพยายามใช้อาร์กิวเมนต์อื่น …

9
รับสถานะวัฏจักรสี matplotlib
เป็นไปได้ไหมที่จะสอบถามสถานะปัจจุบันของวงจรสี matplotlib กล่าวอีกนัยหนึ่งมีฟังก์ชั่นget_cycle_stateที่จะทำงานในลักษณะต่อไปนี้หรือไม่? >>> plot(x1, y1) >>> plot(x2, y2) >>> state = get_cycle_state() >>> print state 2 โดยที่ฉันคาดว่ารัฐจะเป็นดัชนีของสีถัดไปที่จะใช้ในพล็อต หรืออีกวิธีหนึ่งหากส่งคืนสีถัดไป ("r" สำหรับรอบเริ่มต้นในตัวอย่างด้านบน) ก็จะดีเช่นกัน

8
แผนการกระจายใน Pandas / Pyplot: วิธีการลงจุดตามหมวดหมู่
ฉันกำลังพยายามสร้างพล็อตการกระจายอย่างง่ายใน pyplot โดยใช้วัตถุ Pandas DataFrame แต่ต้องการวิธีที่มีประสิทธิภาพในการพล็อตตัวแปรสองตัว แต่มีสัญลักษณ์ที่กำหนดโดยคอลัมน์ที่สาม (คีย์) ฉันได้ลองใช้ df.groupby หลายวิธีแล้ว แต่ไม่สำเร็จ สคริปต์ df ตัวอย่างอยู่ด้านล่าง สีนี้จะแสดงเครื่องหมายตาม "key1" แต่ Id ต้องการดูคำอธิบายแผนภูมิที่มีหมวดหมู่ "key1" ฉันปิด? ขอบคุณ. import numpy as np import pandas as pd import matplotlib.pyplot as plt df = pd.DataFrame(np.random.normal(10,1,30).reshape(10,3), index = pd.date_range('2010-01-01', freq = 'M', periods = 10), columns = ('one', …

2
เปลี่ยนค่าบนแกนกราฟ matplotlib imshow ()
สมมติว่าฉันมีข้อมูลอินพุต: data = np.random.normal(loc=100,scale=10,size=(500,1,32)) hist = np.ones((32,20)) # initialise hist for z in range(32): hist[z],edges = np.histogram(data[:,0,z],bins=np.arange(80,122,2)) ฉันสามารถวางแผนโดยใช้imshow(): plt.imshow(hist,cmap='Reds') รับ: อย่างไรก็ตามค่าแกน x ไม่ตรงกับข้อมูลอินพุต (เช่นค่าเฉลี่ย 100 ช่วง 80 ถึง 122) ดังนั้นฉันต้องการเปลี่ยนแกน x เพื่อแสดงค่าในรูปแบบedges. ฉันเหนื่อย: ax = plt.gca() ax.set_xlabel([80,122]) # range of values in edges ... # this shifts the plot so …

9
วิธีเปลี่ยนแบ็กเอนด์ใน matplotlib / Python
ฉันกำลังดิ้นรนกับปัญหาต่อไปนี้ ฉันต้องการสร้างรายงานที่ประกอบด้วยชุดแผนภูมิ แผนภูมิเหล่านี้ทั้งหมดยกเว้นแผนภูมิเดียวสร้างโดยใช้แบ็กเอนด์เริ่มต้นของ Matplotlib (TkAgg) ต้องสร้างแผนภูมิหนึ่งรายการโดยใช้แบ็กเอนด์ไคโรเหตุผลคือฉันกำลังพล็อตกราฟ igraph และสามารถพล็อตได้โดยใช้ไคโร ปัญหาคือฉันไม่สามารถเปลี่ยนแบ็กเอนด์ได้ทันทีตัวอย่างเช่นสิ่งต่อไปนี้ใช้ไม่ได้: matplotlib.pyplot.switch_backend('cairo.png') (ฉันรู้ว่าฟังก์ชัน switch_backend กำลังทดลอง) และฉันได้พยายามยังmatplotlib.use("cairo.png")แต่นี้นำไปสู่การแก้ปัญหาการนำเข้าเป็นคำสั่งที่ควรจะมาก่อนนำเข้าmatplotlib.use("cairo.png") matplotlib.pyplotแต่ฉันต้องการแบ็กเอนด์สองแบบที่แตกต่างกันตลอดช่วงชีวิตของสคริปต์ คำถามของฉันคือใครบางคนมีข้อมูลโค้ดที่แสดงวิธีเปลี่ยนแบ็กเอนด์ใน Matplotlib หรือไม่ ขอบคุณมาก! อัปเดต: ฉันได้เขียนตัวอย่างข้อมูลที่โหลด matplotlib แสดงแบ็กเอนด์เริ่มต้นยกเลิกการโหลด matplotlib โหลดซ้ำและเปลี่ยนแบ็กเอนด์: import matplotlib import matplotlib.pyplot as plt import sys print matplotlib.pyplot.get_backend() modules = [] for module in sys.modules: if module.startswith('matplotlib'): modules.append(module) for module in modules: sys.modules.pop(module) …

7
matplotlib (ความยาวหน่วยเท่ากัน): ด้วยอัตราส่วน 'เท่ากัน' แกน z ไม่เท่ากับ x- และ y-
เมื่อฉันตั้งค่าอัตราส่วนเท่ากันสำหรับกราฟ 3 มิติแกน z จะไม่เปลี่ยนเป็น 'เท่ากับ' ดังนั้นสิ่งนี้: fig = pylab.figure() mesFig = fig.gca(projection='3d', adjustable='box') mesFig.axis('equal') mesFig.plot(xC, yC, zC, 'r.') mesFig.plot(xO, yO, zO, 'b.') pyplot.show() ให้ฉันดังต่อไปนี้: โดยที่เห็นได้ชัดว่าความยาวหน่วยของแกน z ไม่เท่ากับหน่วย x และ y ฉันจะทำให้ความยาวหน่วยของทั้งสามแกนเท่ากันได้อย่างไร วิธีแก้ปัญหาทั้งหมดที่ฉันหาไม่ได้ผล ขอขอบคุณ.


2
matplotlib.pyplot จะไม่ลืมพล็อตก่อนหน้า - ฉันจะล้าง / รีเฟรชได้อย่างไร
คุณmatplotlib.pyplotจะ "ลืม" แผนการก่อนหน้านี้ได้อย่างไร ฉันกำลังพยายามวางแผนหลายครั้งโดยใช้ไฟล์ matplotlib.pyplot รหัสมีลักษณะดังนี้: def plottest(): import numpy as np import matplotlib.pyplot as plt a=np.random.rand(10,) b=np.random.rand(10,) c=np.random.rand(10,) plt.plot(a,label='a') plt.plot(b,label='b') plt.plot(c,label='c') plt.legend(loc='upper left') plt.ylabel('mag') plt.xlabel('element)') plt.show() e=np.random.rand(10,) f=np.random.rand(10,) g=np.random.rand(10,) plt.plot(e,label='e') plt.plot(f,label='f') plt.plot(g,label='g') plt.legend(loc='upper left') plt.ylabel('mag') plt.xlabel('element)') plt.show() น่าเสียดายที่ฉันได้รับพล็อตเดิม ๆ ต่อไป (อันที่จริงแล้วมาจากโค้ดอื่น ๆ ที่ฉันรันและทำเสร็จเมื่อไม่นานมานี้) ไม่ว่าฉันจะทำอะไรก็ตาม รหัสที่คล้ายกันใช้งานได้สำหรับฉันก่อนหน้านี้ ฉันได้ดูคำถามเหล่านี้แล้ว: "ทำความสะอาดกระดานชนวน" อย่างไร? Matplotlib …

5
การถดถอยเชิงเส้นด้วย matplotlib / numpy
ฉันพยายามที่จะสร้างการถดถอยเชิงเส้นในพล็อตที่กระจายผมได้สร้าง แต่ข้อมูลของฉันอยู่ในรูปแบบรายการและตัวอย่างทั้งหมดที่ฉันสามารถหาของใช้จำเป็นต้องใช้polyfit ไม่ยอมรับรายการแม้ว่า ฉันได้ค้นหาสูงและต่ำเกี่ยวกับวิธีการแปลงรายการเป็นอาร์เรย์และดูเหมือนไม่มีอะไรชัดเจน ฉันพลาดอะไรไปรึเปล่า?arangearange ต่อไปนี้ฉันจะใช้รายการจำนวนเต็มเป็นข้อมูลเข้าได้ดีที่สุดpolyfitอย่างไร นี่คือตัวอย่าง polyfit ที่ฉันกำลังติดตาม: from pylab import * x = arange(data) y = arange(data) m,b = polyfit(x, y, 1) plot(x, y, 'yo', x, m*x+b, '--k') show()

7
ข้อผิดพลาด python: ไม่มีโมดูลชื่อ pylab
ฉันยังใหม่กับ Python และต้องการใช้plotฟังก์ชันนี้เพื่อสร้างกราฟ ฉันใช้ ubuntu 12.04 ฉันทำตามขั้นตอนการติดตั้ง Python จากhttp://eli.thegreenplace.net/2011/10/10/installing-python-2-7-on-ubuntu/แต่เมื่อฉันทำ from pylab import * ฉันได้รับข้อผิดพลาดนี้ >>> from pylab import * Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named pylab เวอร์ชัน Python ของฉันคือpython 2.7. ใครช่วยบอกทีว่าฉันขาดอะไรที่นี่?

9
การกำหนดจุดกึ่งกลางของ colormap ใน matplotlib
ฉันต้องการกำหนดจุดกึ่งกลางของ colormap คือข้อมูลของฉันเปลี่ยนจาก -5 ถึง 10 ฉันต้องการให้ศูนย์อยู่ตรงกลาง ฉันคิดว่าวิธีที่จะทำได้คือการทำให้คลาสย่อยเป็นปกติและใช้บรรทัดฐาน แต่ฉันไม่พบตัวอย่างใด ๆ และมันก็ไม่ชัดเจนสำหรับฉันว่าฉันต้องใช้อะไรบ้าง

2
วิธีใดเป็นวิธีที่แนะนำในการลงจุด: matplotlib หรือ pylab [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันเห็นว่าฉันสามารถพล็อตในPythonโดยใช้: import matplotlib matplotlib.pyplot.plot(...) หรือ: import pylab pylab.plot(...) ทั้งสองคนนี้ใช้เดียวกันmatplotlibรหัสพล็อต ดังนั้นนักพัฒนา / เอกสาร Matplotlib ข้อใดแนะนำให้เป็นวิธีที่ดีกว่าในการลงจุด ทำไม?

1
Pandas timeseries พล็อตการตั้งค่าแกน x เห็บและป้ายกำกับหลักและรอง
ฉันต้องการตั้งค่า xticks หลักและรองและป้ายกำกับสำหรับกราฟอนุกรมเวลาที่พล็อตจากวัตถุอนุกรมเวลาของ Pandas หน้า 0.9 "มีอะไรใหม่" ของ Pandas ระบุว่า: "คุณสามารถใช้ to_pydatetime หรือลงทะเบียนตัวแปลงสำหรับประเภท Timestamp" แต่ฉันไม่สามารถหาวิธีทำได้เพื่อให้ฉันสามารถใช้คำสั่งmatplotlib ax.xaxis.set_major_locatorและax.xaxis.set_major_formatter(และรอง) ได้ ถ้าฉันใช้มันโดยไม่แปลงเวลาแพนด้าแกน x ขีดและป้ายกำกับจะผิด ด้วยการใช้พารามิเตอร์ 'xticks' ฉันสามารถส่งเห็บหลักไปยัง pandas.plot จากนั้นตั้งค่าป้ายกำกับหลัก ฉันไม่สามารถหาวิธีทำเห็บรองโดยใช้วิธีนี้ได้ (ฉันสามารถตั้งค่าป้ายกำกับบนเครื่องหมายขีดเล็กเริ่มต้นที่กำหนดโดย pandas.plot) นี่คือรหัสทดสอบของฉัน: import pandas print 'pandas.__version__ is ', pandas.__version__ print 'matplotlib.__version__ is ', matplotlib.__version__ dStart = datetime.datetime(2011,5,1) # 1 May dEnd = datetime.datetime(2011,7,1) …

2
Imshow: ขอบเขตและแง่มุม
ฉันกำลังเขียนระบบซอฟต์แวร์ที่แสดงภาพชิ้นส่วนและเส้นโครงร่างผ่านชุดข้อมูล 3 มิติ ฉันใช้matplotlibและโดยเฉพาะimshowเพื่อแสดงภาพบัฟเฟอร์รูปภาพที่ฉันได้รับกลับมาจากโค้ดการวิเคราะห์ของฉัน เนื่องจากฉันต้องการใส่คำอธิบายประกอบภาพด้วยแกนพล็อตฉันจึงใช้คีย์เวิร์ดขอบเขตที่imshowใช้ในการแมปพิกัดพิกเซลบัฟเฟอร์รูปภาพกับระบบพิกัดพื้นที่ข้อมูล เคราะห์ร้ายmatplotlibไม่รู้เรื่องหน่วย Say (การเป็นตัวอย่างเทียม) 1000 m X 1 kmที่ผมอยากจะพล็อตรูปภาพที่มีขนาดของ [0, 1000, 0, 1]ในกรณีที่ว่าเท่าที่จะเป็นสิ่งที่ชอบ แม้ว่าอาร์เรย์รูปภาพจะเป็นสี่เหลี่ยมจัตุรัสเนื่องจากอัตราส่วนภาพโดยนัยของคีย์เวิร์ดขอบเขตคือ 1,000 แกนพล็อตที่ได้จะมีอัตราส่วนภาพเท่ากับ 1,000 เป็นไปได้หรือไม่ที่จะบังคับอัตราส่วนกว้างยาวของพล็อตในขณะที่ยังคงรักษาเครื่องหมายขีดและป้ายกำกับหลักที่สร้างขึ้นโดยอัตโนมัติโดยใช้คีย์เวิร์ดขอบเขต

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