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

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

5
วิธีการวาดเส้นแนวตั้งบนพล็อตที่กำหนดใน matplotlib?
กำหนดพล็อตของสัญญาณในการแสดงเวลาวิธีการวาดเส้นที่ทำเครื่องหมายดัชนีเวลาที่สอดคล้องกัน? โดยเฉพาะเมื่อพล็อตสัญญาณพร้อมดัชนีเวลาตั้งแต่ 0 ถึง 2.6 ฉันต้องการวาดเส้นสีแดงแนวตั้งเพื่อระบุดัชนีเวลาที่สอดคล้องกันสำหรับรายการ[0.22058956, 0.33088437, 2.20589566]ฉันจะทำอย่างไร
259 python  matplotlib 

19
มีวิธีแยกตัวแปลง matplotlib เพื่อให้การคำนวณสามารถดำเนินต่อไปได้หรือไม่?
หลังจากคำแนะนำเหล่านี้ในล่าม Python จะได้หน้าต่างพร้อมพล็อต: from matplotlib.pyplot import * plot([1,2,3]) show() # other code น่าเสียดายที่ฉันไม่รู้วิธีดำเนินการสำรวจตัวเลขที่สร้างขึ้นแบบโต้ตอบต่อไปshow()ในขณะที่โปรแกรมทำการคำนวณเพิ่มเติม เป็นไปได้หรือไม่? บางครั้งการคำนวณมีความยาวและมันจะช่วยถ้าพวกเขาจะดำเนินการในระหว่างการตรวจสอบผลกลาง
258 python  matplotlib  plot 


7
พล็อตกระจาย Matplotlib พร้อมข้อความที่แตกต่างกันในแต่ละจุดข้อมูล
ฉันกำลังพยายามพล็อตกระจายและบันทึกข้อมูลจุดด้วยตัวเลขที่แตกต่างจากรายการ ตัวอย่างเช่นฉันต้องการพล็อตyvs xและใส่คำอธิบายประกอบด้วยตัวเลขที่nเกี่ยวข้อง y = [2.56422, 3.77284, 3.52623, 3.51468, 3.02199] z = [0.15, 0.3, 0.45, 0.6, 0.75] n = [58, 651, 393, 203, 123] ax = fig.add_subplot(111) ax1.scatter(z, y, fmt='o') ความคิดใด ๆ

2
matplotlib Legend Markers เพียงครั้งเดียว
ฉันมักพล็อตจุดบนพล็อต matplotlib ด้วย: x = 10 y = 100 plot(x, y, "k*", label="Global Optimum") legend() อย่างไรก็ตามสิ่งนี้ทำให้ตำนานใส่ดาวในตำนานเป็นสองเท่าเช่นที่ดูเหมือนว่า: * * Global Optimum เมื่อฉันต้องการให้มันดูเหมือน: * Global Optimum ฉันจะทำสิ่งนี้ได้อย่างไร
238 python  matplotlib 

4
Matplotlib subplots ขนาดแตกต่างกัน
ฉันต้องเพิ่มสองแผนการย่อยลงในรูป หนึ่งแผนย่อยจะต้องมีความกว้างประมาณสามเท่าของที่สอง (ความสูงเดียวกัน) ฉันใช้วิธีนี้GridSpecกับการcolspanโต้แย้งสำเร็จแล้วแต่ฉันต้องการทำสิ่งนี้โดยใช้figureดังนั้นฉันสามารถบันทึกเป็น PDF ได้ ฉันสามารถปรับรูปแรกโดยใช้figsizeอาร์กิวเมนต์ในตัวสร้าง แต่ฉันจะเปลี่ยนขนาดของพล็อตที่สองได้อย่างไร

10
Matplotlib 2 แผนการย่อย, 1 Colorbar
ฉันใช้เวลานานเกินไปในการค้นคว้าวิธีรับสอง subplots เพื่อแชร์แกน y เดียวกันกับ colorbar เดียวที่แชร์ระหว่าง Matplotlib สิ่งที่เกิดขึ้นคือเมื่อฉันเรียกใช้colorbar()ฟังก์ชั่นอย่างใดอย่างหนึ่งsubplot1หรือsubplot2มันจะปรับขนาดพล็อตแบบอัตโนมัติเพื่อให้ colorbar บวกกับพล็อตจะพอดีภายในกล่อง 'subplot' ขอบเขต ขนาด เพื่อหลีกเลี่ยงปัญหานี้ฉันพยายามสร้างแผนย่อยที่สามซึ่งฉันถูกแฮ็กเพื่อทำให้ไม่มีพล็อตที่มีแถบสีอยู่ ปัญหาเดียวคือตอนนี้ความสูงและความกว้างของทั้งสองแปลงไม่เท่ากันและฉันไม่สามารถหาวิธีที่จะทำให้มันดูโอเค นี่คือรหัสของฉัน: from __future__ import division import matplotlib.pyplot as plt import numpy as np from matplotlib import patches from matplotlib.ticker import NullFormatter # SIS Functions TE = 1 # Einstein radius g1 = lambda x,y: …

12
พล็อตฮิสโตแกรมสองกราฟบนแผนภูมิเดี่ยวด้วย matplotlib
ฉันสร้างพล็อตฮิสโตแกรมโดยใช้ข้อมูลจากไฟล์และไม่มีปัญหา ตอนนี้ฉันต้องการรวบรวมข้อมูลจากไฟล์อื่นในฮิสโตแกรมเดียวกันดังนั้นฉันจึงทำสิ่งนี้ n,bins,patchs = ax.hist(mydata1,100) n,bins,patchs = ax.hist(mydata2,100) แต่ปัญหาคือว่าสำหรับแต่ละช่วงเวลาจะมีเพียงแถบที่มีค่าสูงสุดปรากฏขึ้นและอีกอันจะถูกซ่อนไว้ ฉันสงสัยว่าฉันจะพล็อตฮิสโตแกรมทั้งสองในเวลาเดียวกันด้วยสีที่ต่างกันได้อย่างไร

12
ฉันจะพล็อตแบบเรียลไทม์ในการวนรอบโดยใช้ matplotlib ได้อย่างไร
ฉันพยายามพล็อตข้อมูลบางส่วนจากกล้องแบบเรียลไทม์โดยใช้ OpenCV อย่างไรก็ตามการวางแผนตามเวลาจริง (โดยใช้ matplotlib) ดูเหมือนจะไม่ทำงาน ฉันได้แยกปัญหาออกเป็นตัวอย่างง่ายๆนี้: fig = plt.figure() plt.axis([0, 1000, 0, 1]) i = 0 x = list() y = list() while i < 1000: temp_y = np.random.random() x.append(i) y.append(temp_y) plt.scatter(i, temp_y) i += 1 plt.show() ฉันคาดหวังว่าตัวอย่างนี้จะพล็อต 1,000 คะแนนแยกกัน สิ่งที่เกิดขึ้นจริงคือหน้าต่างปรากฏขึ้นพร้อมกับจุดแรกที่แสดง (ตกลงกับสิ่งนั้น) จากนั้นรอให้การวนซ้ำให้เสร็จก่อนที่มันจะเติมส่วนที่เหลือของกราฟ ความคิดใดที่ว่าทำไมฉันถึงไม่เห็นคะแนนเติมทีละครั้ง?

7
แสดงภาพเป็นโทนสีเทาโดยใช้ matplotlib
ฉันพยายามที่จะแสดงภาพระดับสีเทาโดยใช้matplotlib.pyplot.imshow () ปัญหาของฉันคือภาพสีเทาจะแสดงเป็นตารางสี ฉันต้องการสีเทาเพราะฉันต้องการวาดที่ด้านบนของภาพด้วยสี ฉันอ่านรูปภาพและแปลงเป็นสีเทาโดยใช้Image.open ของ PIL (). convert ("L") image = Image.open(file).convert("L") จากนั้นฉันแปลงภาพเป็นเมทริกซ์เพื่อให้ฉันสามารถทำการประมวลผลภาพได้อย่างง่ายดายโดยใช้ matrix = scipy.misc.fromimage(image, 0) อย่างไรก็ตามเมื่อฉันทำ figure() matplotlib.pyplot.imshow(matrix) show() มันแสดงภาพโดยใช้ colormap (เช่นมันไม่ใช่สีเทา) ฉันทำอะไรผิดที่นี่

7
วิธีการเปลี่ยนสีพื้นหลังของพล็อต
ฉันกำลังทำพล็อตกระจายใน matplotlib และต้องเปลี่ยนพื้นหลังของพล็อตจริงให้เป็นสีดำ ฉันรู้วิธีเปลี่ยนสีใบหน้าของเนื้อเรื่องโดยใช้: fig = plt.figure() fig.patch.set_facecolor('xkcd:mint green') ปัญหาของฉันคือการเปลี่ยนสีของพื้นที่รอบพล็อต ฉันจะเปลี่ยนสีพื้นหลังจริงของพล็อตได้อย่างไร
226 python  matplotlib 

7
วิธีเพิ่มชื่อเรื่องลงในแผนการย่อยใน Matplotlib?
ฉันมีหนึ่งรูปที่มีหลายย่อย fig = plt.figure(num=None, figsize=(26, 12), dpi=80, facecolor='w', edgecolor='k') fig.canvas.set_window_title('Window Title') # Returns the Axes instance ax = fig.add_subplot(311) ax2 = fig.add_subplot(312) ax3 = fig.add_subplot(313) ฉันจะเพิ่มชื่อให้กับแผนการย่อยได้อย่างไร fig.suptitleเพิ่มชื่อเรื่องให้กับกราฟทั้งหมดและแม้ว่าจะax.set_title()มีอยู่ แต่สิ่งหลังไม่ได้เพิ่มชื่อเรื่องใด ๆ ลงในแผนย่อยของฉัน ขอขอบคุณสำหรับความช่วยเหลือของคุณ. แก้ไข: set_title()แก้ไขพิมพ์ผิดเกี่ยวกับ ขอบคุณ Rutger Kassies

3
การย้ายคำอธิบายแผนภูมิ matplotlib นอกแกนทำให้ตัดออกโดยกล่องรูป
ฉันคุ้นเคยกับคำถามต่อไปนี้: Matplotlib บันทึกรูปที่มีตำนานนอกพล็อต วิธีการนำตำนานออกจากพล็อต ดูเหมือนว่าคำตอบในคำถามเหล่านี้มีความสามารถในการเล่นซอกับการหดตัวของแกนที่แน่นอนเพื่อให้ตำนานพอดี อย่างไรก็ตามการลดขนาดของแกนไม่ใช่วิธีแก้ปัญหาในอุดมคติเพราะทำให้ข้อมูลมีขนาดเล็กลงทำให้ยากต่อการตีความ โดยเฉพาะอย่างยิ่งเมื่อมีความซับซ้อนและมีหลายสิ่งที่เกิดขึ้น ... จึงต้องมีตำนานที่ยิ่งใหญ่ ตัวอย่างของตำนานที่ซับซ้อนในเอกสารแสดงให้เห็นถึงความจำเป็นในการนี้เพราะตำนานในพล็อตของพวกเขาปิดบังจุดข้อมูลหลายจุดอย่างสมบูรณ์ http://matplotlib.sourceforge.net/users/legend_guide.html#legend-of-complex-plots สิ่งที่ฉันต้องการจะทำคือการขยายขนาดของกล่องรูปแบบไดนามิกเพื่อรองรับตำนานรูปขยาย import matplotlib.pyplot as plt import numpy as np x = np.arange(-2*np.pi, 2*np.pi, 0.1) fig = plt.figure(1) ax = fig.add_subplot(111) ax.plot(x, np.sin(x), label='Sine') ax.plot(x, np.cos(x), label='Cosine') ax.plot(x, np.arctan(x), label='Inverse tan') lgd = ax.legend(loc=9, bbox_to_anchor=(0.5,0)) ax.grid('on') โปรดสังเกตว่าจริง ๆ แล้วป้ายกำกับ 'Inverse …

3
วิธีการตั้งค่าหัวเรื่องหลักเดียวที่อยู่เหนือแผนการย่อยทั้งหมดด้วย Pyplot ได้อย่างไร
pyplotฉันใช้ ฉันมี 4 แผนการย่อย วิธีการตั้งค่าชื่อหลักเดียวข้างต้นย่อยทั้งหมดหรือไม่ title()ตั้งไว้เหนือแผนย่อยสุดท้าย
219 python  matplotlib 

10
แก้ไขข้อความเลเบลเห็บ
ฉันต้องการแก้ไขป้ายกำกับที่เลือกไม่กี่ตัวในพล็อต ตัวอย่างเช่นถ้าฉัน: label = axes.yaxis.get_major_ticks()[2].label label.set_fontsize(size) label.set_rotation('vertical') ขนาดตัวอักษรและการวางแนวของฉลากเห็บมีการเปลี่ยนแปลง อย่างไรก็ตามหากลอง: label.set_text('Foo') ไม่มีการแก้ไขฉลากเลเบล นอกจากนี้ถ้าฉันทำ: print label.get_text() ไม่มีการพิมพ์อะไรเลย นี่คือความแปลกประหลาดมากขึ้น เมื่อฉันลองทำสิ่งนี้: from pylab import * axes = figure().add_subplot(111) t = arange(0.0, 2.0, 0.01) s = sin(2*pi*t) axes.plot(t, s) for ticklabel in axes.get_xticklabels(): print ticklabel.get_text() มีการพิมพ์เฉพาะสตริงว่าง แต่พล็อตมีเครื่องหมายที่ระบุว่า '0.0', '0.5', '1.0', '1.5' และ '2.0'
216 python  matplotlib 

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