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

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

8
ฉันจะพล็อต Pandas DataFrames ที่แยกเป็นพล็อตย่อยได้อย่างไร
ฉันมี Pandas DataFrames สองสามตัวที่ใช้มาตราส่วนค่าเดียวกัน แต่มีคอลัมน์และดัชนีต่างกัน เมื่อเรียกใช้df.plot()ฉันจะได้ภาพพล็อตแยกต่างหาก สิ่งที่ฉันต้องการจริงๆคือให้พวกเขาทั้งหมดอยู่ในพล็อตเรื่องเดียวกับเรื่องยิบย่อย แต่น่าเสียดายที่ฉันไม่สามารถหาวิธีแก้ปัญหาได้และจะขอขอบคุณเป็นอย่างสูงสำหรับความช่วยเหลือ

4
จะทำให้สเกลของแกน x และแกน y เท่ากันใน Python matplotlib ได้อย่างไร?
ฉันต้องการวาดเส้นบนกราฟสี่เหลี่ยม ตาชั่งx-axisและy-axisควรจะเหมือนกัน เช่น x อยู่ในช่วง 0 ถึง 10 และมีขนาด 10 ซม. บนหน้าจอ y ต้องอยู่ในช่วง 0 ถึง 10 และต้องสูงถึง 10 ซม. ด้วย รูปทรงสี่เหลี่ยมต้องได้รับการดูแลแม้ว่าฉันจะยุ่งกับขนาดหน้าต่างก็ตาม ขณะนี้กราฟของฉันสเกลร่วมกับขนาดหน้าต่าง ฉันจะบรรลุเป้าหมายนี้ได้อย่างไร UPDATE: ฉันลองทำตามขั้นตอนต่อไปนี้ แต่ไม่ได้ผล plt.xlim(-3, 3) plt.ylim(-3, 3) plt.axis('equal')
128 python  matplotlib 

3
แกนฉลากบน Seaborn Barplot
ฉันพยายามใช้ป้ายกำกับของตัวเองสำหรับ Seaborn barplot ด้วยรหัสต่อไปนี้: import pandas as pd import seaborn as sns fake = pd.DataFrame({'cat': ['red', 'green', 'blue'], 'val': [1, 2, 3]}) fig = sns.barplot(x = 'val', y = 'cat', data = fake, color = 'black') fig.set_axis_labels('Colors', 'Values') อย่างไรก็ตามฉันได้รับข้อผิดพลาดว่า: AttributeError: 'AxesSubplot' object has no attribute 'set_axis_labels' สิ่งที่ช่วยให้?

4
Matplotlib - ตำนานระดับโลกและชื่อเรื่องนอกเหนือจากเรื่องย่อย
ฉันเริ่มต้นด้วย matplot และจัดการแปลงพื้นฐานบางอย่าง แต่ตอนนี้ฉันพบว่ามันยากที่จะค้นพบวิธีทำบางสิ่งที่ฉันต้องการตอนนี้ :( คำถามที่แท้จริงของฉันคือการวางชื่อระดับโลกและตำนานระดับโลกลงบนร่างที่มีพล็อตย่อยได้อย่างไร ฉันกำลังทำพล็อตย่อย 2x3 ซึ่งฉันมีกราฟที่แตกต่างกันมากมายในสีต่างๆ (ประมาณ 200) เพื่อแยกความแตกต่าง (ส่วนใหญ่) ของพวกเขาฉันเขียนสิ่งที่ชอบ def style(i, total): return dict(color=jet(i/total), linestyle=["-", "--", "-.", ":"][i%4], marker=["+", "*", "1", "2", "3", "4", "s"][i%7]) fig=plt.figure() p0=fig.add_subplot(321) for i, y in enumerate(data): p0.plot(x, trans0(y), "-", label=i, **style(i, total)) # and more subplots with other transN …

7
ฉันจะเปิดหน้าต่าง matplotlib แบบโต้ตอบในโน้ตบุ๊ก IPython ได้อย่างไร
ฉันใช้ IPython ด้วย--pylab=inlineและบางครั้งก็อยากจะเปลี่ยนไปใช้ matplotlib GUI แบบโต้ตอบที่ซูมได้เพื่อการดูพล็อต (อันที่ปรากฏขึ้นเมื่อคุณพล็อตบางอย่างในคอนโซล Python ของเทอร์มินัล) ฉันจะทำอย่างนั้นได้อย่างไร? โดยไม่ควรออกหรือรีสตาร์ทโน้ตบุ๊ก ปัญหาเกี่ยวกับอินไลน์พล็อตในโน้ตบุ๊ก IPy คือมีความละเอียด จำกัด และฉันไม่สามารถซูมเข้าไปเพื่อดูส่วนเล็ก ๆ บางส่วนได้ ด้วย maptlotlib GUI ที่เริ่มต้นจากเทอร์มินัลฉันสามารถเลือกสี่เหลี่ยมผืนผ้าของกราฟที่ฉันต้องการขยายและแกนจะปรับตามนั้น ฉันลองทดลองกับ from matplotlib import interactive interactive(True) และ interactive(False) แต่นั่นไม่ได้ทำอะไรเลย ฉันไม่พบคำแนะนำใด ๆ ทางออนไลน์เช่นกัน

4
Matplotlib: วาดเส้นกริดหลังองค์ประกอบกราฟอื่น ๆ
ใน Matplotlib ฉันสร้างเส้นกริดดังนี้: fig = pylab.figure() ax = fig.add_subplot(1,1,1) ax.yaxis.grid(color='gray', linestyle='dashed') อย่างไรก็ตามฉันไม่สามารถหาวิธี (หรือแม้ว่าจะเป็นไปได้) ในการทำให้เส้นกริดถูกวาดไว้ด้านหลังองค์ประกอบกราฟอื่น ๆ เช่นแท่ง การเปลี่ยนลำดับของการเพิ่มตารางเทียบกับการเพิ่มองค์ประกอบอื่น ๆ ไม่ได้สร้างความแตกต่าง เป็นไปได้หรือไม่ที่จะทำให้เส้นกริดปรากฏอยู่ด้านหลังทุกสิ่งทุกอย่าง?
124 python  matplotlib  grid 

3
เส้นแนวตั้งและแนวนอนใน matplotlib
ฉันไม่ค่อยเข้าใจว่าทำไมฉันไม่สามารถสร้างเส้นแนวนอนและแนวตั้งตามขีด จำกัด ที่กำหนดได้ ฉันต้องการผูกข้อมูลไว้ข้างกล่องนี้ อย่างไรก็ตามฝ่ายต่างๆดูเหมือนจะไม่ปฏิบัติตามคำแนะนำของฉัน ทำไมถึงเป็นแบบนี้? # CREATING A BOUNDING BOX # BOTTOM HORIZONTAL plt.axhline(y=.4, xmin=0.25, xmax=0.402, linewidth=2, color = 'k') # RIGHT VERTICAL plt.axvline(x=0.402, ymin=0.4, ymax = 0.615, linewidth=2, color='k') # LEFT VERTICAL plt.axvline(x=0.1, ymin=0.58, ymax = 0.79, linewidth=2, color='k') plt.show()
122 matplotlib 

2
วิธีสร้างเส้นตารางหลักและรองด้วย linestyles ที่แตกต่างกันใน Python
ขณะนี้ฉันกำลังใช้matplotlib.pyplotสร้างกราฟและต้องการให้เส้นตารางหลักเป็นสีทึบและสีดำและเส้นรองจะเป็นสีเทาหรือเส้นประ ในคุณสมบัติของเส้นตารางwhich=both/major/mineจากนั้นสีและรูปแบบจะถูกกำหนดโดย linestyle มีวิธีระบุ linestyle เล็กน้อยเท่านั้นหรือไม่? รหัสที่เหมาะสมที่ฉันมีอยู่คือ plt.plot(current, counts, 'rd', markersize=8) plt.yscale('log') plt.grid(b=True, which='both', color='0.65', linestyle='-')
122 python  matplotlib 

5
จะสร้างพล็อตความหนาแน่นใน matplotlib ได้อย่างไร?
ใน RI สามารถสร้างผลลัพธ์ที่ต้องการได้โดยทำ: data = c(rep(1.5, 7), rep(2.5, 2), rep(3.5, 8), rep(4.5, 3), rep(5.5, 1), rep(6.5, 8)) plot(density(data, bw=0.5)) ใน python (พร้อม matplotlib) สิ่งที่ใกล้เคียงที่สุดที่ฉันมีคือฮิสโตแกรมง่ายๆ: import matplotlib.pyplot as plt data = [1.5]*7 + [2.5]*2 + [3.5]*8 + [4.5]*3 + [5.5]*1 + [6.5]*8 plt.hist(data, bins=6) plt.show() ฉันลองใช้พารามิเตอร์ normed = True ด้วยแต่ไม่สามารถหาอะไรได้นอกจากพยายามทำให้ gaussian …
122 python  r  numpy  matplotlib  scipy 

6
การบันทึกตัวเลข Matplotlib แบบโต้ตอบ
มีวิธีบันทึกรูป Matplotlib เพื่อให้สามารถเปิดใหม่และเรียกคืนการโต้ตอบทั่วไปได้หรือไม่? (เช่นเดียวกับรูปแบบ. fig ใน MATLAB หรือไม่) ฉันพบว่าตัวเองใช้สคริปต์เดียวกันหลายครั้งเพื่อสร้างตัวเลขเชิงโต้ตอบเหล่านี้ หรือฉันกำลังส่งไฟล์ PNG แบบคงที่ให้เพื่อนร่วมงานหลายไฟล์เพื่อแสดงแง่มุมต่างๆ ฉันอยากจะส่งวัตถุรูปและให้พวกเขาโต้ตอบด้วยตัวเอง
120 python  matplotlib 

5
การเพิ่มบรรทัดตามอำเภอใจให้กับพล็อต matplotlib ในโน้ตบุ๊ก ipython
ฉันค่อนข้างใหม่สำหรับทั้ง python / matplotlib และใช้ผ่านโน้ตบุ๊ก ipython ฉันกำลังพยายามเพิ่มบรรทัดคำอธิบายประกอบลงในกราฟที่มีอยู่และฉันไม่สามารถหาวิธีแสดงเส้นบนกราฟได้ ตัวอย่างเช่นถ้าฉันพล็อตสิ่งต่อไปนี้: import numpy as np np.random.seed(5) x = arange(1, 101) y = 20 + 3 * x + np.random.normal(0, 60, 100) p = plot(x, y, "o") ฉันได้รับกราฟต่อไปนี้: ฉันจะเพิ่มเส้นแนวตั้งจาก (70,100) ถึง (70,250) ได้อย่างไร เส้นทแยงมุมจาก (70,100) ถึง (90,200) ล่ะ? ฉันได้ลองทำบางอย่างแล้วโดยLine2D()ไม่มีผลอะไรเลยนอกจากความสับสน ในRฉันจะใช้ฟังก์ชันเซ็กเมนต์ () ซึ่งจะเพิ่มส่วนของบรรทัด มีเทียบเท่าในmatplotlib?

3
การเพิ่มป้ายชื่อแกน y ให้กับแกน y ทุติยภูมิใน matplotlib
ฉันสามารถเพิ่มป้ายกำกับ ay ให้กับแกน y ด้านซ้ายโดยใช้plt.ylabelแต่จะเพิ่มลงในแกน y รองได้อย่างไร table = sql.read_frame(query,connection) table[0].plot(color=colors[0],ylim=(0,100)) table[1].plot(secondary_y=True,color=colors[1]) plt.ylabel('$')
119 python  matplotlib 

5
วิธีเพิ่มหัวเรื่องในซีบอร์นบ็อกซ์พล็อต
ดูเหมือนจะเป็น Google ที่ใช้งานได้ดี แต่ไม่พบสิ่งที่ใช้งานได้ทางออนไลน์ ฉันได้ลองทั้งสองsns.boxplot('Day', 'Count', data= gg).title('lalala')และsns.boxplot('Day', 'Count', data= gg).suptitle('lalala'). ไม่มีผล ฉันคิดว่าอาจเป็นเพราะฉันทำงานกับ matplotlib ด้วย


5
จะลบช่องว่างระหว่างพล็อตย่อยใน matplotlib ได้อย่างไร?
โค้ดด้านล่างสร้างช่องว่างระหว่างพล็อตย่อย ฉันจะลบช่องว่างระหว่างพล็อตย่อยและทำให้ภาพเป็นตารางแน่นได้อย่างไร import matplotlib.pyplot as plt for i in range(16): i = i + 1 ax1 = plt.subplot(4, 4, i) plt.axis('on') ax1.set_xticklabels([]) ax1.set_yticklabels([]) ax1.set_aspect('equal') plt.subplots_adjust(wspace=None, hspace=None) plt.show()
116 python  matplotlib 

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