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

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

4
ฉันจะพล็อตฮิสโตแกรมเพื่อให้ความสูงของแท่งรวมเป็น 1 ใน matplotlib ได้อย่างไร
ฉันต้องการพล็อตฮิสโตแกรมปกติจากเวกเตอร์โดยใช้ matplotlib ฉันลองทำสิ่งต่อไปนี้: plt.hist(myarray, normed=True) เช่นเดียวกับ: plt.hist(myarray, normed=1) แต่ทั้งสองตัวเลือกไม่ได้สร้างแกน y จาก [0, 1] ดังนั้นความสูงของแท่งฮิสโตแกรมถึง 1 ฉันต้องการสร้างฮิสโตแกรมแบบนี้ - ฉันจะทำได้อย่างไร?

3
วิธีให้สีที่กำหนดเองของกราฟแท่งแพนด้า / matplotlib
ฉันเพิ่งเริ่มใช้ pandas / matplotlib แทน Excel เพื่อสร้างแผนภูมิแท่งแบบเรียงซ้อน ฉันพบปัญหา (1) มีเพียง 5 สีใน colormap เริ่มต้นดังนั้นหากฉันมีมากกว่า 5 หมวดหมู่สีจะซ้ำ ฉันจะระบุสีเพิ่มเติมได้อย่างไร? ตามหลักการแล้วการไล่ระดับสีที่มีสีเริ่มต้นและสีสิ้นสุดและวิธีการสร้าง n สีแบบไดนามิกระหว่าง? (2) สีไม่ถูกใจสายตา ฉันจะระบุชุดสีที่กำหนดเองได้อย่างไร? หรือการไล่ระดับสีก็ใช้ได้เช่นกัน ตัวอย่างที่แสดงทั้งสองประเด็นข้างต้นอยู่ด้านล่าง: 4 from matplotlib import pyplot 5 from pandas import * 6 import random 7 8 x = [{i:random.randint(1,5)} for i in range(10)] 9 df = …

2
ฉันจะพล็อตค่า NaN เป็นสีพิเศษด้วย imshow ใน matplotlib ได้อย่างไร
ฉันพยายามใช้ imshow ใน matplotlib เพื่อพล็อตข้อมูลเป็นแผนที่ความร้อน แต่ค่าบางค่าเป็น NaN ฉันต้องการให้ NaN แสดงผลเป็นสีพิเศษที่ไม่พบใน colormap ตัวอย่าง: import numpy as np import matplotlib.pyplot as plt f = plt.figure() ax = f.add_subplot(111) a = np.arange(25).reshape((5,5)).astype(float) a[3,:] = np.nan ax.imshow(a, interpolation='nearest') f.canvas.draw() ภาพที่ได้จะเป็นสีฟ้าทั้งหมดโดยไม่คาดคิด (สีต่ำสุดในเจ็ท Colormap) อย่างไรก็ตามถ้าฉันวางแผนเช่นนี้: ax.imshow(a, interpolation='nearest', vmin=0, vmax=24) - แล้วฉันจะได้อะไรที่ดีขึ้น แต่ค่า NaN ถูกวาดเป็นสีเดียวกับ vmin ... …
85 python  matplotlib  nan 

1
ขนาด hex ใน hexplins matplotlib ขึ้นอยู่กับความหนาแน่นของจุดใกล้เคียง
ฉันมีรหัสต่อไปนี้ซึ่งก่อให้เกิดรูปต่อไปนี้ import numpy as np np.random.seed(3) import pandas as pd import matplotlib.pyplot as plt df = pd.DataFrame() df['X'] = list(np.random.randint(100, size=100)) + list(np.random.randint(30, size=100)) df['Y'] = list(np.random.randint(100, size=100)) + list(np.random.randint(30, size=100)) df['Bin'] = df.apply(lambda row: .1 if row['X'] < 30 and row['Y'] < 30 else .9, axis=1) fig, ax = …

1
มีวิธีใน matplotlib ในการตรวจสอบว่าศิลปินคนใดที่อยู่ในพื้นที่ที่แสดงอยู่ในปัจจุบันของแกน?
ฉันมีโปรแกรมที่มีรูปแบบอินเทอร์แอคทีฟซึ่งศิลปินหลายคนถูกวาดเป็นครั้งคราว ในรูปนี้คุณยังสามารถซูมและกวาดโดยใช้เมาส์ อย่างไรก็ตามการแสดงในระหว่างการซูมปรากฎว่าไม่ค่อยดีนักเพราะศิลปินทุกคนวาดขึ้นมาใหม่เสมอ มีวิธีการตรวจสอบว่าศิลปินคนไหนที่อยู่ในพื้นที่แสดงในปัจจุบันและวาดใหม่เท่านั้น? (ในตัวอย่างด้านล่างน้ำหอมยังคงค่อนข้างดี แต่มันสามารถทำให้แย่ลงโดยพลการโดยใช้ศิลปินที่ซับซ้อนมากขึ้น) ฉันมีปัญหาเกี่ยวกับ performace ที่คล้ายกันกับhoverวิธีที่เมื่อใดก็ตามที่มันถูกเรียกว่ามันวิ่งcanvas.draw()ในตอนท้าย แต่อย่างที่คุณเห็นฉันพบวิธีแก้ปัญหาที่เรียบร้อยด้วยการใช้แคชและเรียกคืนพื้นหลังของแกน (ตามนี้ ) สิ่งนี้ปรับปรุงการแสดงได้อย่างมีนัยสำคัญและตอนนี้ถึงแม้จะมีศิลปินหลายคนมันก็ราบรื่นดี อาจจะมีวิธีที่คล้ายกันในการทำเช่นนี้ แต่สำหรับpanและzoomวิธีการ? ขออภัยสำหรับตัวอย่างโค้ดแบบยาวส่วนใหญ่ไม่เกี่ยวข้องโดยตรงกับคำถาม แต่จำเป็นสำหรับตัวอย่างการทำงานเพื่อเน้นปัญหา แก้ไข ฉันอัปเดต MWE เป็นสิ่งที่เป็นตัวแทนของรหัสจริงของฉัน import numpy as np import numpy as np import sys import matplotlib.pyplot as plt from matplotlib.backends.backend_qt5agg import \ FigureCanvasQTAgg import matplotlib.patheffects as PathEffects from matplotlib.text import Annotation from matplotlib.collections …

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