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

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

12
การสร้าง PNG ด้วย matplotlib เมื่อไม่แสดง DISPLAY
ฉันกำลังพยายามใช้ networkx กับ Python เมื่อฉันเรียกใช้โปรแกรมนี้จะได้รับข้อผิดพลาดนี้ มีอะไรหายไปหรือเปล่า #!/usr/bin/env python import networkx as nx import matplotlib import matplotlib.pyplot import matplotlib.pyplot as plt G=nx.Graph() G.add_node(1) G.add_nodes_from([2,3,4,5,6,7,8,9,10]) #nx.draw_graphviz(G) #nx_write_dot(G, 'node.png') nx.draw(G) plt.savefig("/var/www/node.png") Traceback (most recent call last): File "graph.py", line 13, in <module> nx.draw(G) File "/usr/lib/pymodules/python2.5/networkx/drawing/nx_pylab.py", line 124, in draw cf=pylab.gcf() File "/usr/lib/pymodules/python2.5/matplotlib/pyplot.py", line …
319 python  matplotlib  graph 

6
ปรับปรุงขนาด / ระยะห่างของพล็อตย่อยด้วยพล็อตย่อยจำนวนมากใน matplotlib
คล้ายกับคำถามนี้มากแต่ด้วยความแตกต่างที่ร่างของฉันอาจมีขนาดใหญ่เท่าที่ควรจะเป็น ฉันจำเป็นต้องสร้างพล็อตที่ซ้อนกันเป็นแนวตั้งทั้งกลุ่มใน matplotlib ผลลัพธ์จะถูกบันทึกโดยใช้ figsave และดูบนหน้าเว็บดังนั้นฉันไม่สนใจว่าภาพสุดท้ายจะสูงเท่าใดตราบใดที่มีการเว้นระยะย่อยย่อยดังนั้นจึงไม่ทับซ้อนกัน ไม่ว่าฉันจะยอมให้ร่างใหญ่ขนาดไหนดูเหมือนว่าย่อยจะทับซ้อนกันเสมอ ขณะนี้รหัสของฉันดูเหมือน import matplotlib.pyplot as plt import my_other_module titles, x_lists, y_lists = my_other_module.get_data() fig = plt.figure(figsize=(10,60)) for i, y_list in enumerate(y_lists): plt.subplot(len(titles), 1, i) plt.xlabel("Some X label") plt.ylabel("Some Y label") plt.title(titles[i]) plt.plot(x_lists[i],y_list) fig.savefig('out.png', dpi=100)
313 python  matplotlib 

13
หมุนข้อความแกนใน python matplotlib
ฉันไม่สามารถหาวิธีหมุนข้อความบนแกน X ได้ มันคือการประทับเวลาดังนั้นเมื่อจำนวนตัวอย่างเพิ่มขึ้นพวกเขาก็จะเข้ามาใกล้กันมากขึ้นจนกว่าจะทับซ้อนกัน ฉันต้องการหมุนข้อความ 90 องศาเพื่อให้กลุ่มตัวอย่างเข้าใกล้กันมากขึ้นพวกเขาจะไม่ทับซ้อนกัน ด้านล่างคือสิ่งที่ฉันมีมันทำงานได้ดียกเว้นว่าฉันไม่สามารถหาวิธีหมุนข้อความแกน X ได้ import sys import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt import datetime font = {'family' : 'normal', 'weight' : 'bold', 'size' : 8} matplotlib.rc('font', **font) values = open('stats.csv', 'r').readlines() time = [datetime.datetime.fromtimestamp(float(i.split(',')[0].strip())) for i in values[1:]] delay = [float(i.split(',')[1].strip()) for i …
313 python  matplotlib 

6
ทำไม xlabel ของฉันถูกตัดในพล็อต matplotlib ของฉัน
ฉันกำลังวางแผนชุดข้อมูลโดยmatplotlibที่ฉันมี xlabel ที่ค่อนข้าง "สูง" (เป็นสูตรที่เรนเดอร์ใน TeX ที่มีเศษส่วนและดังนั้นจึงมีความสูงเทียบเท่ากับข้อความสองบรรทัด) ไม่ว่าในกรณีใดด้านล่างของสูตรจะถูกตัดออกเสมอเมื่อฉันวาดรูป ดูเหมือนว่าการเปลี่ยนขนาดของรูปจะไม่ช่วยได้และฉันก็ไม่สามารถหาวิธีเลื่อนแกน x "ขึ้น" เพื่อให้มีที่ว่างสำหรับ xlabel ได้ บางอย่างเช่นนั้นจะเป็นวิธีแก้ปัญหาชั่วคราวที่สมเหตุสมผล แต่สิ่งที่ดีก็น่าจะมีวิธีที่จะทำให้ matplotlib รับรู้โดยอัตโนมัติว่าฉลากถูกตัดออกและปรับขนาดตามนั้น นี่คือตัวอย่างของสิ่งที่ฉันหมายถึง: import matplotlib.pyplot as plt plt.figure() plt.ylabel(r'$\ln\left(\frac{x_a-x_b}{x_a-x_c}\right)$') plt.xlabel(r'$\ln\left(\frac{x_a-x_d}{x_a-x_e}\right)$') plt.show() ในขณะที่คุณสามารถเห็น ylabel ทั้งหมด xlabel จะถูกตัดที่ด้านล่าง ในกรณีนี้เป็นปัญหาเฉพาะของเครื่องฉันเรียกใช้งานบน OSX 10.6.8 ด้วย matplotlib 1.0.0
303 python  matplotlib 

10
Matplotlib ทำให้ขนาดตัวอักษรป้ายเห็บมีขนาดเล็กลง
ในรูป matplotlib ฉันจะทำให้ขนาดตัวอักษรสำหรับป้ายกำกับเห็บใช้ax1.set_xticklabels()น้อยลงได้อย่างไร นอกจากนี้เราจะหมุนจากแนวนอนเป็นแนวตั้งได้อย่างไร
299 python  matplotlib 

9
ลบ xticks ในพล็อต matplotlib หรือไม่?
ฉันมีพล็อต semilogx และฉันต้องการลบ xticks ฉันเหนื่อย: plt.gca().set_xticks([]) plt.xticks([]) ax.set_xticks([]) ตารางหายไป (ok) แต่ยังมีเห็บขนาดเล็กอยู่ (ที่สถานที่ของเห็บหลัก) จะลบออกได้อย่างไร
290 python  matplotlib  plot 

6
แกนทุติยภูมิที่มี twinx (): จะเพิ่มตำนานอย่างไร?
ฉันมีโครงเรื่องที่มีแกน y สองแกนใช้twinx()อยู่ ฉันยังให้ป้ายกำกับให้กับบรรทัดและต้องการแสดงด้วยlegend()แต่ฉันก็ทำได้เพียงได้รับเลเบลของหนึ่งแกนในตำนาน: import numpy as np import matplotlib.pyplot as plt from matplotlib import rc rc('mathtext', default='regular') fig = plt.figure() ax = fig.add_subplot(111) ax.plot(time, Swdown, '-', label = 'Swdown') ax.plot(time, Rn, '-', label = 'Rn') ax2 = ax.twinx() ax2.plot(time, temp, '-r', label = 'temp') ax.legend(loc=0) ax.grid() ax.set_xlabel("Time (h)") ax.set_ylabel(r"Radiation …

2
ฉันจะเปลี่ยนขนาดรูปด้วยแผนการย่อยได้อย่างไร
ฉันเจอตัวอย่างนี้ในเว็บไซต์ Matplotlib ฉันสงสัยว่ามันเป็นไปได้ที่จะเพิ่มขนาดของรูปหรือไม่ ฉันลองด้วย f.figsize(15,15) แต่มันไม่ทำอะไรเลย
287 python  matplotlib 

11
Matplotlib แปลง: ลบแกนตำนานและช่องว่างสีขาว
ฉันยังใหม่กับ Python และ Matplotlib ฉันต้องการใช้ colormap กับภาพและเขียนภาพผลลัพธ์โดยไม่ต้องใช้แกนป้ายชื่อเรื่องหรืออะไรก็ตามที่เพิ่มโดยอัตโนมัติโดย matplotlib นี่คือสิ่งที่ฉันทำ: def make_image(inputname,outputname): data = mpimg.imread(inputname)[:,:,0] fig = plt.imshow(data) fig.set_cmap('hot') fig.axes.get_xaxis().set_visible(False) fig.axes.get_yaxis().set_visible(False) plt.savefig(outputname) มันประสบความสำเร็จในการลบแกนของรูป แต่รูปที่บันทึกนั้นแสดงการเติมเต็มสีขาวและกรอบรอบภาพที่แท้จริง ฉันจะลบพวกเขา (อย่างน้อยช่องว่างภายในสีขาว) ได้อย่างไร ขอบคุณ
285 python  matplotlib 

4
ทำไมตัวอย่างมากมายจึงใช้ `fig, ax = plt.subplots ()` ใน Matplotlib / pyplot / python
ฉันกำลังเรียนรู้ที่จะใช้matplotlibโดยการศึกษาตัวอย่างและตัวอย่างมากมายดูเหมือนจะมีบรรทัดดังต่อไปนี้ก่อนที่จะสร้างพล็อตเดียว ... fig, ax = plt.subplots() นี่คือตัวอย่างบางส่วน... แก้ไขข้อความเลเบลเห็บ http://matplotlib.org/examples/pylab_examples/boxplot_demo2.html ฉันเห็นว่าฟังก์ชั่นนี้ใช้บ่อยมากแม้ว่าตัวอย่างจะพยายามสร้างแผนภูมิเดียวเท่านั้น มีข้อได้เปรียบอื่น ๆ อีกไหม? การสาธิตอย่างเป็นทางการสำหรับsubplots()ใช้f, ax = subplotsเมื่อสร้างแผนภูมิเดียวและจะใช้อ้างอิงขวานหลังจากนั้นเท่านั้น นี่คือรหัสที่พวกเขาใช้ # Just a figure and one subplot f, ax = plt.subplots() ax.plot(x, y) ax.set_title('Simple plot')

5
Python, Matplotlib, subplot: จะตั้งช่วงแกนได้อย่างไร?
ฉันจะกำหนดช่วงแกน y ของแผนย่อยที่สองเป็น [0,1000] ได้อย่างไร พล็อต FFT ของข้อมูลของฉัน (คอลัมน์ในไฟล์ข้อความ) ส่งผลให้เกิดการขัดขวาง (inf.?) เพื่อไม่ให้มองเห็นข้อมูลจริง pylab.ylim([0,1000]) ไม่มีผลโชคไม่ดี นี่คือสคริปต์ทั้งหมด: # based on http://www.swharden.com/blog/2009-01-21-signal-filtering-with-python/ import numpy, scipy, pylab, random xs = [] rawsignal = [] with open("test.dat", 'r') as f: for line in f: if line[0] != '#' and len(line) > 0: xs.append( int( line.split()[0] …
266 python  range  axis  matplotlib 

9
ย้อนกลับแกน Y ใน PyPlot
ฉันมีกราฟพล็อตกระจายที่มีพิกัดสุ่ม x, y ปัจจุบันแกน Y เริ่มต้นที่ 0 และขึ้นไปจนถึงค่าสูงสุด ฉันอยากให้แกน Y เริ่มต้นที่ค่าสูงสุดและเพิ่มขึ้นเป็น 0 points = [(10,5), (5,11), (24,13), (7,8)] x_arr = [] y_arr = [] for x,y in points: x_arr.append(x) y_arr.append(y) plt.scatter(x_arr,y_arr)
265 python  matplotlib 

7
การเพิ่มคำอธิบายแผนภูมิให้กับ PyPlot ใน Matplotlib อย่างง่ายที่สุดเท่าที่จะทำได้
TL; DR ->เราจะสร้างคำอธิบายสำหรับกราฟเส้นMatplotlibได้PyPlotโดยไม่ต้องสร้างตัวแปรเพิ่มเติมได้อย่างไร โปรดพิจารณาสคริปต์การสร้างกราฟด้านล่าง: if __name__ == '__main__': PyPlot.plot(total_lengths, sort_times_bubble, 'b-', total_lengths, sort_times_ins, 'r-', total_lengths, sort_times_merge_r, 'g+', total_lengths, sort_times_merge_i, 'p-', ) PyPlot.title("Combined Statistics") PyPlot.xlabel("Length of list (number)") PyPlot.ylabel("Time taken (seconds)") PyPlot.show() ในขณะที่คุณสามารถดูนี้คือการใช้พื้นฐานมากของ'smatplotlib PyPlotสิ่งนี้จะสร้างกราฟตามที่ต้องการด้านล่าง: ไม่มีอะไรพิเศษฉันรู้ อย่างไรก็ตามมันไม่ชัดเจนว่าข้อมูลใดถูกพล็อตตรงไหน (ฉันพยายามพล็อตข้อมูลของอัลกอริธึมการเรียงลำดับความยาวเทียบกับเวลาและฉันต้องการให้แน่ใจว่าคนรู้ว่าบรรทัดไหนอยู่) ดังนั้นฉันต้องการตำนาน แต่ดูตัวอย่างต่อไปนี้ด้านล่าง ( จากเว็บไซต์อย่างเป็นทางการ ): ax = subplot(1,1,1) p1, = ax.plot([1,2,3], label="line 1") p2, …
263 python  matplotlib  plot 

7
จะทำให้แปลงอินไลน์ใน Jupyter Notebook ใหญ่ขึ้นได้อย่างไร
ฉันได้แปลงอินไลน์ลงในสมุดบันทึก Ipython ของฉันด้วย " %matplotlib inline." ตอนนี้พล็อตจะปรากฏขึ้น อย่างไรก็ตามมันมีขนาดเล็กมาก มีวิธีทำให้ขนาดใหญ่ขึ้นโดยใช้การตั้งค่าโน้ตบุ๊กหรือการตั้งค่าพล็อตหรือไม่?

4
สีที่มีชื่อใน matplotlib
matplotlib มีสีอะไรบ้างที่มีชื่อสำหรับใช้ในแปลง? ฉันสามารถค้นหารายการในเอกสาร matplotlib ที่อ้างว่าเป็นเพียงชื่อเท่านั้น: b: blue g: green r: red c: cyan m: magenta y: yellow k: black w: white อย่างไรก็ตามฉันพบว่าสีเหล่านี้สามารถใช้งานได้อย่างน้อยในบริบทนี้: scatter(X,Y, color='red') scatter(X,Y, color='orange') scatter(X,Y, color='darkgreen') แต่สิ่งเหล่านี้ไม่ได้อยู่ในรายการด้านบน ไม่มีใครรู้รายการสีที่มีชื่อที่มีอยู่อย่างละเอียด

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