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

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

8
การพล็อตแบบไม่ปิดกั้นด้วย Matplotlib
ฉันเล่นกับ Numpy และ matplotlib ในช่วงสองสามวันที่ผ่านมา ฉันมีปัญหาในการพยายามทำให้ matplotlib พล็อตฟังก์ชันโดยไม่ปิดกั้นการดำเนินการ ฉันรู้ว่ามีกระทู้มากมายที่ SO ถามคำถามที่คล้ายกันและฉันก็ googled ค่อนข้างมาก แต่ยังไม่สามารถทำงานนี้ได้ ฉันได้ลองใช้ show (block = False) ตามที่บางคนแนะนำ แต่สิ่งที่ฉันได้รับคือหน้าต่างที่ค้าง ถ้าฉันเรียก show () ผลลัพธ์จะถูกวางแผนอย่างถูกต้อง แต่การดำเนินการจะถูกบล็อกจนกว่าหน้าต่างจะปิด จากหัวข้ออื่น ๆ ที่ฉันเคยอ่านฉันสงสัยว่าการแสดง (block = False) ทำงานหรือไม่ขึ้นอยู่กับแบ็กเอนด์ ถูกต้องหรือไม่ ส่วนหลังของฉันคือ Qt4Agg คุณช่วยดูรหัสของฉันและบอกฉันว่าคุณเห็นสิ่งผิดปกติหรือไม่? นี่คือรหัสของฉัน ขอบคุณสำหรับความช่วยเหลือ from math import * from matplotlib import pyplot as plt print …
147 python  matplotlib  plot 

9
อูบุนตูที่ใช้งาน `pip install` จะแสดงข้อผิดพลาด 'ไม่สามารถสร้างแพ็คเกจที่จำเป็นต่อไปนี้: * freetype'
เมื่อดำเนินการpip install -r requirements.txtฉันได้รับข้อผิดพลาดต่อไปนี้ระหว่างขั้นตอนการติดตั้งmatplotlib: REQUIRED DEPENDENCIES AND EXTENSIONS numpy: yes [not found. pip may install it below.] dateutil: yes [dateutil was not found. It is required for date axis support. pip/easy_install may attempt to install it after matplotlib.] tornado: yes [tornado was not found. It is required for the WebAgg …

4
รับสีแต่ละสีจากแผนที่สีใน matplotlib
หากคุณมี Colormap cmapตัวอย่างเช่น: cmap = matplotlib.cm.get_cmap('Spectral') คุณจะเอาสีใดสีหนึ่งออกมาระหว่าง 0 ถึง 1 ได้อย่างไรโดยที่ 0 คือสีแรกในแผนที่และ 1 คือสีสุดท้ายในแผนที่ ตามหลักการแล้วฉันจะได้สีกลางในแผนที่โดยทำ: >>> do_some_magic(cmap, 0.5) # Return an RGBA tuple (0.1, 0.2, 0.3, 1.0)

7
xlabel / ylabel ทั่วไปสำหรับ subplots matplotlib
ฉันมีแผนต่อไปนี้: fig,ax = plt.subplots(5,2,sharex=True,sharey=True,figsize=fig_size) และตอนนี้ฉันต้องการให้ป้ายกำกับแกน x ทั่วไปและป้ายแกน y ด้วย "ทั่วไป" ฉันหมายความว่าควรมีป้ายกำกับแกน x ขนาดใหญ่หนึ่งตารางด้านล่างกริดย่อยทั้งหมดและป้ายแกน y ขนาดใหญ่หนึ่งรายการทางด้านขวา ฉันไม่พบอะไรเกี่ยวกับเรื่องนี้ในเอกสารประกอบสำหรับplt.subplotsและ googlings ของฉันแนะนำว่าฉันต้องplt.subplot(111)เริ่มต้นด้วยการเริ่มต้นใหญ่- แต่ฉันจะใส่ย่อย 5 * 2 ลงในนั้นได้plt.subplotsอย่างไร
143 python  matplotlib 

2
พล็อต yerr / xerr เป็นพื้นที่แรเงาแทนที่จะเป็นแถบข้อผิดพลาด
ใน matplotlib ฉันจะลงจุดข้อผิดพลาดเป็นขอบเขตที่แรเงาแทนที่จะเป็นแถบข้อผิดพลาดได้อย่างไร ตัวอย่างเช่น: ค่อนข้างมากกว่า
142 python  matplotlib 

4
การจัดตำแหน่ง xticklabels ที่หมุนแล้วให้สอดคล้องกับ xticks ที่เกี่ยวข้อง
ตรวจสอบแกน x ของรูปด้านล่าง ฉันจะย้ายป้ายไปทางซ้ายเล็กน้อยเพื่อให้สอดคล้องกับเห็บที่เกี่ยวข้องได้อย่างไร ฉันหมุนฉลากโดยใช้: ax.set_xticks(xlabels_positions) ax.set_xticklabels(xlabels, rotation=45) แต่อย่างที่คุณเห็นการหมุนจะอยู่กึ่งกลางกึ่งกลางของป้ายข้อความ ซึ่งทำให้ดูเหมือนว่าพวกเขาจะถูกเลื่อนไปทางขวา ฉันได้ลองใช้สิ่งนี้แทน: ax.set_xticklabels(xlabels, rotation=45, rotation_mode="anchor") ... แต่มันไม่ได้ทำในสิ่งที่ฉันต้องการ และ"anchor"น่าจะเป็นค่าเดียวที่ใช้ได้สำหรับrotation_modeพารามิเตอร์
140 matplotlib 

3
วิธีตั้งค่า "ตำแหน่งกล้อง" สำหรับพล็อต 3 มิติโดยใช้ python / matplotlib
ฉันกำลังเรียนรู้วิธีใช้ mplot3d เพื่อสร้างพล็อตข้อมูล 3 มิติที่ดีและตอนนี้ฉันก็มีความสุขมาก สิ่งที่ฉันพยายามทำในขณะนี้คือภาพเคลื่อนไหวเล็กน้อยของพื้นผิวที่หมุนได้ เพื่อจุดประสงค์นั้นฉันต้องตั้งตำแหน่งกล้องสำหรับการฉายภาพสามมิติ ฉันเดาว่าสิ่งนี้ต้องเป็นไปได้เนื่องจากพื้นผิวสามารถหมุนได้โดยใช้เมาส์เมื่อใช้ matplotlib แบบโต้ตอบ แต่ฉันจะทำสิ่งนี้จากสคริปต์ได้อย่างไร? ฉันพบการเปลี่ยนแปลงมากมายใน mpl_toolkits.mplot3d.proj3d แต่ฉันไม่พบวิธีใช้สิ่งเหล่านี้ตามวัตถุประสงค์ของฉันและฉันไม่พบตัวอย่างใด ๆ สำหรับสิ่งที่ฉันพยายามทำ

12
เครื่องมือสร้างแผนภูมิ / การพล็อตที่อิง Unix ASCII
มีเครื่องมือบรรทัดคำสั่ง UNIX ที่ดีในการสร้างแผนภูมิ / กราฟ / พล็อตหรือไม่? ฉันกำลังมองหาบางอย่างที่จะลงจุด xy บนกราฟ ASCII เพื่อความชัดเจนฉันกำลังมองหาบางสิ่งที่จะแสดงผลกราฟใน ASCII (เช่นสไตล์ ASCII-art) ดังนั้นฉันสามารถใช้มันผ่านเซสชันเชลล์เชิงโต้ตอบโดยไม่ต้องใช้ X
139 unix  charts  graph  matplotlib 

6
Python Matplotlib ชื่อรูปซ้อนทับฉลากแกนเมื่อใช้ twiny
ฉันพยายามพล็อตสองปริมาณแยกกันบนกราฟเดียวกันโดยใช้ twiny ดังนี้: fig = figure() ax = fig.add_subplot(111) ax.plot(T, r, 'b-', T, R, 'r-', T, r_geo, 'g-') ax.set_yscale('log') ax.annotate('Approx. sea level', xy=(Planet.T_day*1.3,(Planet.R)/1000), xytext=(Planet.T_day*1.3, Planet.R/1000)) ax.annotate('Geostat. orbit', xy=(Planet.T_day*1.3, r_geo[0]), xytext=(Planet.T_day*1.3, r_geo[0])) ax.set_xlabel('Rotational period (hrs)') ax.set_ylabel('Orbital radius (km), logarithmic') ax.set_title('Orbital charts for ' + Planet.N, horizontalalignment='center', verticalalignment='top') ax2 = ax.twiny() ax2.plot(v,r,'k-') …

7
ฉันจะลบแกนด้านบนและด้านขวาใน matplotlib ได้อย่างไร
แทนที่จะเป็นสไตล์แกน "แบบบรรจุกล่อง" เริ่มต้นฉันต้องการให้มีเฉพาะแกนด้านซ้ายและด้านล่างเช่น: +------+ | | | | | | ---> | | | | +------+ +------- สิ่งนี้น่าจะง่าย แต่ฉันไม่พบตัวเลือกที่จำเป็นในเอกสาร
134 python  matplotlib 

3
วิธีการแปลงอาร์เรย์ NumPy เป็นภาพ PIL โดยใช้ matplotlib colormap
ฉันมีปัญหาง่ายๆ แต่ไม่สามารถหาวิธีแก้ปัญหาที่ดีได้ ฉันต้องการใช้อาร์เรย์ NumPy 2D ซึ่งแสดงถึงภาพสีเทาและแปลงเป็นภาพ RGB PIL ในขณะที่ใช้ colormaps ของ matplotlib ฉันสามารถรับเอาต์พุต PNG ที่เหมาะสมได้โดยใช้pyplot.figure.figimageคำสั่ง: dpi = 100.0 w, h = myarray.shape[1]/dpi, myarray.shape[0]/dpi fig = plt.figure(figsize=(w,h), dpi=dpi) fig.figimage(sub, cmap=cm.gist_earth) plt.savefig('out.png') แม้ว่าฉันจะปรับสิ่งนี้เพื่อให้ได้สิ่งที่ต้องการ (อาจใช้ StringIO เพื่อรับภาพ PIL) แต่ฉันสงสัยว่าไม่มีวิธีที่ง่ายกว่านี้ในการทำเช่นนั้นเนื่องจากดูเหมือนว่าจะเป็นปัญหาที่เป็นธรรมชาติมากในการสร้างภาพ สมมติว่าสิ่งนี้: colored_PIL_image = magic_function(array, cmap)

3
ความสับสนระหว่าง numpy, scipy, matplotlib และ pylab
Numpy, scipy, matplotlib และ pylab เป็นคำที่ใช้กันทั่วไปในหมู่พวกเขาที่ใช้ python ในการคำนวณทางวิทยาศาสตร์ ฉันเพิ่งเรียนรู้เล็กน้อยเกี่ยวกับ pylab และฉันก็สับสน เมื่อใดก็ตามที่ฉันต้องการนำเข้า numpy ฉันสามารถทำได้เสมอ: import numpy as np ฉันแค่พิจารณาว่าเมื่อฉันทำ from pylab import * numpy จะถูกนำเข้าด้วย (พร้อมnpนามแฝง) โดยพื้นฐานแล้วอันที่สองทำสิ่งต่างๆได้มากกว่าเมื่อเทียบกับอันแรก มีบางสิ่งที่ฉันต้องการถาม: ใช่หรือไม่ที่ pylab เป็นเพียงเครื่องห่อสำหรับ numpy, scipy และ matplotlib? เนื่องจาก np เป็นนามแฝง numpy ใน pylab นามแฝง scipy และ matplotlib ใน pylab คืออะไร? (เท่าที่ฉันรู้ plt …

7
เขียนเส้นแนวนอนโดยใช้ matplotlib
ฉันใช้การแก้ไขแบบอิสระเพื่อทำให้อนุกรมเวลาราบรื่นและต้องการเพิ่มเส้นแนวนอนในพล็อต แต่ดูเหมือนว่าจะมีปัญหาที่อยู่นอกเหนือการจับของฉัน ความช่วยเหลือใด ๆ จะเป็นประโยชน์จริงๆ นี่คือสิ่งที่ฉันมี: annual = np.arange(1,21,1) l = np.array(value_list) # a list with 20 values spl = UnivariateSpline(annual,l) xs = np.linspace(1,21,200) plt.plot(xs,spl(xs),'b') plt.plot([0,len(xs)],[40,40],'r--',lw=2) pylab.ylim([0,200]) plt.show() ปัญหาดูเหมือนว่าจะมีการใช้ของฉัน[0,len(xs)]สำหรับการวางแผนเส้นแนวนอน
131 python  matplotlib 

3
Matplotlib แปลงบรรทัดโปร่งใส
ฉันกำลังพล็อตสองลักษณะคล้ายกันใน matplotlib และฉันต้องการพล็อตแต่ละบรรทัดด้วยความโปร่งใสบางส่วนเพื่อให้สีแดง (พล็อตที่สอง) ไม่ปิดบังสีฟ้า แก้ไข : นี่คือภาพที่มีเส้นโปร่งใส
131 python  matplotlib 

5
Matplotlib: ข้อผิดพลาด“ การฉายที่ไม่รู้จัก '3d'”
ฉันเพิ่งติดตั้ง matplotlib และฉันพยายามเรียกใช้สคริปต์ตัวอย่างหนึ่งในนั้น อย่างไรก็ตามฉันพบข้อผิดพลาดรายละเอียดด้านล่าง ผมทำอะไรผิดหรือเปล่า? from mpl_toolkits.mplot3d import axes3d import matplotlib.pyplot as plt fig = plt.figure() ax = fig.gca(projection='3d') X, Y, Z = axes3d.get_test_data(0.05) cset = ax.contour(X, Y, Z, 16, extend3d=True) ax.clabel(cset, fontsize=9, inline=1) plt.show() ข้อผิดพลาดคือ Traceback (most recent call last): File "<string>", line 245, in run_nodebug File "<module1>", line …
130 python  matplotlib 

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