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

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

4
Matplotlib Legends ไม่ทำงาน
นับตั้งแต่อัปเกรด matplotlib ฉันได้รับข้อผิดพลาดต่อไปนี้ทุกครั้งที่พยายามสร้างตำนาน: /usr/lib/pymodules/python2.7/matplotlib/legend.py:610: UserWarning: Legend does not support [<matplotlib.lines.Line2D object at 0x3a30810>] Use proxy artist instead. http://matplotlib.sourceforge.net/users/legend_guide.html#using-proxy-artist warnings.warn("Legend does not support %s\nUse proxy artist instead.\n\nhttp://matplotlib.sourceforge.net/users/legend_guide.html#using-proxy-artist\n" % (str(orig_handle),)) /usr/lib/pymodules/python2.7/matplotlib/legend.py:610: UserWarning: Legend does not support [<matplotlib.lines.Line2D object at 0x3a30990>] Use proxy artist instead. http://matplotlib.sourceforge.net/users/legend_guide.html#using-proxy-artist warnings.warn("Legend does not support %s\nUse proxy artist …

10
แสดงภาพด้วย Python
ฉันพยายามใช้ IPython.display ด้วยรหัสต่อไปนี้: from IPython.display import display, Image display(Image(filename='MyImage.png')) ฉันพยายามใช้ matplotlib ด้วยรหัสต่อไปนี้: import matplotlib.pyplot as plt import matplotlib.image as mpimg plt.imshow(mpimg.imread('MyImage.png')) ในทั้งสองกรณีจะไม่มีอะไรปรากฏแม้แต่ข้อความแสดงข้อผิดพลาด

4
วิธีการลงจุดสองคอลัมน์ของกรอบข้อมูลแพนด้าโดยใช้จุด?
ฉันมีกรอบข้อมูลแพนด้าและต้องการพล็อตค่าจากคอลัมน์หนึ่งเทียบกับค่าจากคอลัมน์อื่น โชคดีที่มีplotวิธีการที่เกี่ยวข้องกับ data-frames ที่ดูเหมือนจะทำในสิ่งที่ฉันต้องการ: df.plot(x='col_name_1', y='col_name_2') น่าเสียดายที่ดูเหมือนว่าในรูปแบบพล็อต (แสดงรายการที่นี่หลังkindพารามิเตอร์) จะไม่มีคะแนน ฉันสามารถใช้เส้นหรือแท่งหรือแม้กระทั่งความหนาแน่น แต่ไม่ใช่จุด มีวิธีแก้ไขที่สามารถช่วยแก้ปัญหานี้ได้หรือไม่

1
แบ่งแกน x ของสองพล็อตย่อยอย่างไรหลังจากสร้างเสร็จแล้ว
ฉันกำลังพยายามแบ่งปันแกนย่อยสองแกน แต่ฉันต้องการแบ่งปันแกน x หลังจากสร้างรูปแล้ว ตัวอย่างเช่นฉันสร้างรูปนี้: import numpy as np import matplotlib.pyplot as plt t= np.arange(1000)/100. x = np.sin(2*np.pi*10*t) y = np.cos(2*np.pi*10*t) fig=plt.figure() ax1 = plt.subplot(211) plt.plot(t,x) ax2 = plt.subplot(212) plt.plot(t,y) # some code to share both x axis plt.show() Instead of the comment I would insert some code to share …

4
RuntimeWarning: พบค่าที่ไม่ถูกต้องในการหาร
ฉันต้องทำโปรแกรมโดยใช้วิธีของออยเลอร์สำหรับโมเดล "ball in a spring" from pylab import* from math import* m=0.1 Lo=1 tt=30 k=200 t=20 g=9.81 dt=0.01 n=int((ceil(t/dt))) km=k/m r0=[-5,5*sqrt(3)] v0=[-5,5*sqrt(3)] a=zeros((n,2)) r=zeros((n,2)) v=zeros((n,2)) t=zeros((n,2)) r[1,:]=r0 v[1,:]=v0 for i in range(n-1): rr=dot(r[i,:],r[i,:])**0.5 a=-g+km*cos(tt)*(rr-L0)*r[i,:]/rr v[i+1,:]=v[i,:]+a*dt r[i+1,:]=r[i,:]+v[i+1,:]*dt t[i+1]=t[i]+dt #print norm(r[i,:]) plot(r[:,0],r[:,1]) xlim(-100,100) ylim(-100,100) xlabel('x [m]') ylabel('y [m]') show() ฉันได้รับข้อผิดพลาดนี้เรื่อย ๆ : …

6
พล็อตแถบโดยใช้ matplotlib โดยใช้พจนานุกรม
มีวิธีใดในการวางพล็อตแท่งโดยmatplotlibใช้ข้อมูลโดยตรงจาก dict คำสั่งของฉันมีลักษณะดังนี้: D = {u'Label1':26, u'Label2': 17, u'Label3':30} ผมคาดหวังว่า fig = plt.figure(figsize=(5.5,3),dpi=300) ax = fig.add_subplot(111) bar = ax.bar(D,range(1,len(D)+1,1),0.5) ทำงาน แต่มันไม่ได้ นี่คือข้อผิดพลาด: >>> ax.bar(D,range(1,len(D)+1,1),0.5) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.7/site-packages/matplotlib/axes.py", line 4904, in bar self.add_patch(r) File "/usr/local/lib/python2.7/site-packages/matplotlib/axes.py", line 1570, in add_patch self._update_patch_limits(p) File …

6
การทำให้เส้นตารางแนวตั้งปรากฏในพล็อตเส้นใน matplotlib
ฉันต้องการรับเส้นกริดทั้งแนวนอนและแนวตั้งบนพล็อตของฉัน แต่มีเพียงเส้นกริดแนวนอนเท่านั้นที่ปรากฏตามค่าเริ่มต้น ฉันใช้pandas.DataFrameจากแบบสอบถาม sql ใน python เพื่อสร้างพล็อตเส้นที่มีวันที่บนแกน x ฉันไม่แน่ใจว่าเหตุใดจึงไม่ปรากฏในวันที่และฉันพยายามค้นหาคำตอบสำหรับสิ่งนี้ แต่ไม่พบ สิ่งที่ฉันใช้ในการพล็อตกราฟคือโค้ดง่ายๆด้านล่าง data.plot() grid('on') ข้อมูลคือ DataFrame ซึ่งมีวันที่และข้อมูลจากแบบสอบถาม sql ฉันได้ลองเพิ่มโค้ดด้านล่างแล้ว แต่ฉันยังคงได้ผลลัพธ์เดียวกันโดยไม่มีเส้นตารางแนวตั้ง ax = plt.axes() ax.yaxis.grid() # horizontal lines ax.xaxis.grid() # vertical lines ข้อเสนอแนะใด ๆ ?

4
เปลี่ยนมาตราส่วนแกน x ใน matplotlib
ฉันสร้างพล็อตนี้โดยใช้ Matlab การใช้ matplotlib x-axies จะวาดตัวเลขขนาดใหญ่เช่น 100000, 200000, 300000 ฉันต้องการมีบางอย่างเช่น 1, 2, 3 และ 10 ^ 5 เพื่อระบุว่าเป็น 100000, 200000, 300000 มีวิธีง่ายๆในการสร้างมาตราส่วนดังกล่าวใน matplotlib หรือไม่?

5
การเพิ่มป้ายกำกับค่าบนแผนภูมิแท่ง matplotlib
ฉันติดอยู่กับบางสิ่งที่รู้สึกว่าน่าจะค่อนข้างง่าย โค้ดที่ฉันนำมาด้านล่างเป็นตัวอย่างจากโครงการขนาดใหญ่ที่ฉันกำลังทำอยู่ ฉันไม่เห็นเหตุผลที่จะโพสต์รายละเอียดทั้งหมดดังนั้นโปรดยอมรับโครงสร้างข้อมูลที่ฉันนำมาตามที่เป็นอยู่ โดยพื้นฐานแล้วฉันกำลังสร้างแผนภูมิแท่งและฉันสามารถหาวิธีเพิ่มป้ายกำกับค่าบนแท่งได้ (ตรงกลางแท่งหรือด้านบน) ดูตัวอย่างในเว็บ แต่ไม่ประสบความสำเร็จในการติดตั้งโค้ดของตัวเอง ฉันเชื่อว่าวิธีแก้ปัญหานั้นใช้ 'text' หรือ 'annotate' แต่ฉัน: a) ไม่รู้ว่าจะใช้อันไหน (และโดยทั่วไปแล้วยังไม่ทราบว่าจะใช้เมื่อใด) b) มองไม่เห็นเพื่อนำเสนอป้ายกำกับค่า ขอขอบคุณสำหรับความช่วยเหลือของคุณรหัสของฉันด้านล่าง ขอบคุณล่วงหน้า! import numpy as np import pandas as pd import matplotlib.pyplot as plt pd.set_option('display.mpl_style', 'default') %matplotlib inline # Bring some raw data. frequencies = [6, 16, 75, 160, 244, 260, 145, 73, …

22
วิธีขยายหน้าต่าง plt.show () ให้ใหญ่ที่สุดโดยใช้ Python
เพียงแค่อยากรู้อยากเห็นฉันต้องการทราบวิธีการทำในโค้ดด้านล่าง ฉันค้นหาคำตอบ แต่ก็ไม่มีประโยชน์ import numpy as np import matplotlib.pyplot as plt data=np.random.exponential(scale=180, size=10000) print ('el valor medio de la distribucion exponencial es: ') print np.average(data) plt.hist(data,bins=len(data)**0.5,normed=True, cumulative=True, facecolor='red', label='datos tamano paqutes acumulativa', alpha=0.5) plt.legend() plt.xlabel('algo') plt.ylabel('algo') plt.grid() plt.show()

4
รับรอบสีของเส้นเริ่มต้น
ฉันสังเกตว่าเมื่อคุณพล็อตว่าบรรทัดแรกเป็นสีน้ำเงินจากนั้นเป็นสีเขียวตามด้วยสีแดงและอื่น ๆ มีวิธีใดบ้างในการเข้าถึงรายการสีนี้? ฉันได้เห็นโพสต์ล้านโพสต์เกี่ยวกับวิธีการเปลี่ยนวงจรสีหรือเข้าถึงตัววนซ้ำ แต่ไม่ใช่วิธีรับรายการสีที่ matplotlib วนรอบตามค่าเริ่มต้น
95 matplotlib 

4
Matplotlib figure facecolor (สีพื้นหลัง)
ใครช่วยอธิบายได้ไหมว่าทำไมโค้ดด้านล่างถึงใช้ไม่ได้เมื่อตั้งค่าสีของรูป import matplotlib.pyplot as plt # create figure instance fig1 = plt.figure(1) fig1.set_figheight(11) fig1.set_figwidth(8.5) rect = fig1.patch rect.set_facecolor('red') # works with plt.show(). # Does not work with plt.savefig("trial_fig.png") ax = fig1.add_subplot(1,1,1) x = 1, 2, 3 y = 1, 4, 9 ax.plot(x, y) # plt.show() # Will show red face …

2
วิธีสร้างสองแปลงเคียงข้างกันโดยใช้ Python
ฉันพบตัวอย่างต่อไปนี้ใน matplotlib: import numpy as np import matplotlib.pyplot as plt x1 = np.linspace(0.0, 5.0) x2 = np.linspace(0.0, 2.0) y1 = np.cos(2 * np.pi * x1) * np.exp(-x1) y2 = np.cos(2 * np.pi * x2) plt.subplot(2, 1, 1) plt.plot(x1, y1, 'ko-') plt.title('A tale of 2 subplots') plt.ylabel('Damped oscillation') plt.subplot(2, 1, 2) …

3
ใส่คำอธิบายประกอบแท่งที่มีค่าบนแผนภาพของ Pandas
ฉันกำลังมองหาวิธีใส่คำอธิบายประกอบแท่งของฉันในพล็อตแท่ง Pandas ด้วยค่าตัวเลขที่โค้งมนจาก DataFrame ของฉัน >>> df=pd.DataFrame({'A':np.random.rand(2),'B':np.random.rand(2)},index=['value1','value2'] ) >>> df A B value1 0.440922 0.911800 value2 0.588242 0.797366 ฉันต้องการได้รับสิ่งนี้: ฉันลองใช้ตัวอย่างโค้ดนี้แล้ว แต่คำอธิบายประกอบจะอยู่กึ่งกลางของขีด x: >>> ax = df.plot(kind='bar') >>> for idx, label in enumerate(list(df.index)): for acc in df.columns: value = np.round(df.ix[idx][acc],decimals=2) ax.annotate(value, (idx, value), xytext=(0, 15), textcoords='offset points')

5
พล็อต DataFrames ที่แตกต่างกันในรูปเดียวกัน
ฉันมีไฟล์อุณหภูมิที่มีบันทึกอุณหภูมิหลายปีในรูปแบบด้านล่าง: 2012-04-12,16:13:09,20.6 2012-04-12,17:13:09,20.9 2012-04-12,18:13:09,20.6 2007-05-12,19:13:09,5.4 2007-05-12,20:13:09,20.6 2007-05-12,20:13:09,20.6 2005-08-11,11:13:09,20.6 2005-08-11,11:13:09,17.5 2005-08-13,07:13:09,20.6 2006-04-13,01:13:09,20.6 ทุกปีจะมีตัวเลขเวลาที่บันทึกแตกต่างกันดังนั้นวันที่และเวลาของแพนด้าจึงแตกต่างกัน ฉันต้องการพล็อตข้อมูลของปีที่ต่างกันในรูปเดียวกันเพื่อเปรียบเทียบ แกน X คือ ม.ค. ถึง ธ.ค. แกน Y คืออุณหภูมิ ฉันควรทำอย่างไร

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