φυβλαςのβλογ
บล็อกของ phyblas



numpy และ matplotlib



ภาพกราฟตัวอย่างที่วาดโดย matplotlib (จากบทที่ ๔๐)

numpy เป็นมอดูลสำหรับการคำนวณทางคณิตศาสตร์
matplotlib เป็นมอดูลสำหรับวาดกราฟและแผนภาพต่างๆ



numpy & matplotlib เบื้องต้น

บทความส่วนนี้เขียนขึ้นเพื่อสอนการใช้ numpy และ matplotlib ในระดับเบื้องต้น เหมาะกับคนที่อ่านเนื้อหาไพธอนเบื้องต้นจบอย่างน้อยบทที่ ๑๖ แล้ว

***ในวงเล็บเหลี่ยม [ ] ด้านหน้า ตัวย่อ np แทน numpy ส่วน plt แทน matplotlib.pyplot และ mpl แทน matplotlib

เนื้อหาปรับปรุงครั้งล่าสุด 2019/04/08

บทที่ ๑: บทนำ

บทที่ ๒: การใช้อาเรย์เบื้องต้น
[np.] array arange astype linspace ones zeros full empty identity eye copy
บทที่ ๓: การคำนวณของอาเรย์
[np.] abs sqrt log log10 exp sin cos tan arcsin arccos arctan sinh cosh tanh arcsinh arccosh arctanh radians degrees dot cross
บทที่ ๔: การตัดแต่งแก้ไขอาเรย์
[np.] reshape resize flatten ravel transpose T swapaxes expand_dims stack hstack vstack column_stack concatenate split hsplit vsplit tile repeat
บทที่ ๕: การวาดกราฟเบื้องต้น
[plt.] plot show savefig
บทที่ ๖: ทำความเข้าใจกับส่วนประกอบของกราฟ
[plt.] figure gca
บทที่ ๗: การปรับแต่งส่วนประกอบของกราฟ
[plt.] xlim ylim xticks yticks set_xticklabels set_yticklabels set_aspect axes set_axis_bgcolor
บทที่ ๘: การใส่ข้อความบนกราฟ
[plt.] title xlabel ylabel legend [mpl.font_manager.] FontProperties
บทที่ ๙: การปรับแต่งแกนกราฟ
[plt.] grid set_xscale set_yscale semilogx semilogy loglog invert_xaxis invert_yaxis xaxis yaxis tick_params spines setp
บทที่ ๑๐: การวาดหลายกราฟในภาพเดียว
[plt.] subplot subplot2grid subplots_adjust subplots
บทที่ ๑๑: การประกอบกราฟเข้าด้วยกัน
[plt.] twinx twiny
บทที่ ๑๒: แผนภูมิแท่ง
[plt.] bar barh
บทที่ ๑๓: ฮิสโทแกรม
[plt.] hist
บทที่ ๑๔: แผนภูมิวงกลม
[plt.] pie
บทที่ ๑๕: การสุ่ม
[np.] random
บทที่ ๑๖: แผนภาพการกระจาย
[plt.] scatter
บทที่ ๑๗: การคำนวณและวิเคราะห์ข้อมูลภายในอาเรย์
[np.] min max ptp argmin argmax unravel_index sum mean median std var cumsum sort argsort
บทที่ ๑๘: แถบความคลาดเคลื่อน
[plt.] errorbar
บทที่ ๑๙: ดัชนีบูลและดัชนีแฟนซี กับการคัดกรองส่วนประกอบในอาเรย์
[np.] where select choose
บทที่ ๒๐: กราฟไม้ขีดไฟ
[plt.] stem
บทที่ ๒๑: การเปรียบเทียบอาเรย์
[np.] any all allclose isclose array_equal array_equiv minimum maximum
บทที่ ๒๒: การระบายสีพื้นระหว่างเส้นกราฟ
[plt.] fill_between fill_betweenx
บทที่ ๒๓: อาเรย์สามมิติ
[np.] dstack dsplit
บทที่ ๒๔: แผนภาพไล่สีและคัลเลอร์แม็ป
[np.] meshgrid [plt.] colorbar get_cmap pcolor pcolormesh
บทที่ ๒๕: การปรับแต่งคัลเลอร์แม็ป
[mpl.colors.] Normalize LogNorm BoundaryNorm
บทที่ ๒๖: การปรับแต่งแถบสี

บทที่ ๒๗: การแจกแจงความหนาแน่น
[np.] histogram2d [plt.] hist2d hexbin
บทที่ ๒๘: คอนทัวร์
[plt.] contour contourf clabel
บทที่ ๒๙: สนามลูกศร
[plt.] quiver quiverkey
บทที่ ๓๐: ความชันและอนุพันธ์เชิงตัวเลข
[np.] diff gradient
บทที่ ๓๑: เส้นกระแส
[plt.] streamplot
บทที่ ๓๒: อาเรย์แนวทแยง และอาเรย์สามเหลี่ยม
[np.] diag diagflat fill_diagonal diagonal trace tri triu tril
บทที่ ๓๓: การวาดในระบบพิกัดเชิงขั้ว
[plt.] set_rgrids set_rlabel_position set_rlim set_rmax set_rmin
บทที่ ๓๔: อาเรย์ของจำนวนเชิงซ้อน
[np.] real imag conj angle
บทที่ ๓๕: การเพิ่มคำอธิบายลงบนกราฟ
[plt.] annotate text
บทที่ ๓๖: การเพิ่มเส้นและรูปร่างต่างๆ
[plt.] axvspan axhline axvline axhspan add_patch [mpl.patches.] Rectangle Polygon Ellipse Circle Arc Wedge
บทที่ ๓๗: การจัดรูปแบบการแสดงผลของขีดบอกค่าบนแกน
[plt.] minorticks_on [mpl.ticker.] MultipleLocator LinearLocator MaxNLocator IndexLocator AutoMinorLocator FixedFormatter FormatStrFormatter FuncFormatter
บทที่ ๓๘: การใช้วันและเวลาเป็นค่าในกราฟ
[mpl.dates.] DateFormatter DateLocator date2num num2date
บทที่ ๓๙: การอ่านและเขียนอาเรย์ลงไฟล์
[np.] savetxt loadtxt save load savez
บทที่ ๔๐: การจัดการรูปภาพ
[mpl.image.] imread imsave [plt.] imshow

คณิตศาสตร์ขั้นสูงหน่อย

⊟ [2018/05/17] วิเคราะห์ความสัมพันธ์ระหว่างตัวแปรจากค่าความแปรปรวนร่วมเกี่ยวและสหสัมพันธ์
⊟ [2018/05/25] การสร้างค่าสุ่มด้วยการแจกแจงแบบปกติหลายตัวแปร
⊟ [2018/06/09] ทำความเข้าใจคอนโวลูชัน


เนื้อหาเสริม

⊟ [2016/06/11] การเปลี่ยนตัวเลขบอกค่าในกราฟเป็นเลขไทยใน matplotlib
⊟ [2018/01/04] ใช้ h5py เพื่อบันทึกอาเรย์ numpy เป็นไฟล์ hdf5


สารบัญ

รวมคำแปลวลีเด็ดจากญี่ปุ่น
มอดูลต่างๆ
-- numpy
-- matplotlib

-- pandas
-- manim
-- opencv
-- pyqt
-- pytorch
การเรียนรู้ของเครื่อง
-- โครงข่าย
     ประสาทเทียม
ภาษา javascript
ภาษา mongol
ภาษาศาสตร์
maya
ความน่าจะเป็น
บันทึกในญี่ปุ่น
บันทึกในจีน
-- บันทึกในปักกิ่ง
-- บันทึกในฮ่องกง
-- บันทึกในมาเก๊า
บันทึกในไต้หวัน
บันทึกในยุโรปเหนือ
บันทึกในประเทศอื่นๆ
qiita
บทความอื่นๆ

บทความแบ่งตามหมวด



ติดตามอัปเดตของบล็อกได้ที่แฟนเพจ

  ค้นหาบทความ

  บทความแนะนำ

ตัวอักษรกรีกและเปรียบเทียบการใช้งานในภาษากรีกโบราณและกรีกสมัยใหม่
ที่มาของอักษรไทยและความเกี่ยวพันกับอักษรอื่นๆในตระกูลอักษรพราหมี
การสร้างแบบจำลองสามมิติเป็นไฟล์ .obj วิธีการอย่างง่ายที่ไม่ว่าใครก็ลองทำได้ทันที
รวมรายชื่อนักร้องเพลงกวางตุ้ง
ภาษาจีนแบ่งเป็นสำเนียงอะไรบ้าง มีความแตกต่างกันมากแค่ไหน
ทำความเข้าใจระบอบประชาธิปไตยจากประวัติศาสตร์ความเป็นมา
เรียนรู้วิธีการใช้ regular expression (regex)
การใช้ unix shell เบื้องต้น ใน linux และ mac
g ในภาษาญี่ปุ่นออกเสียง "ก" หรือ "ง" กันแน่
ทำความรู้จักกับปัญญาประดิษฐ์และการเรียนรู้ของเครื่อง
ค้นพบระบบดาวเคราะห์ ๘ ดวง เบื้องหลังความสำเร็จคือปัญญาประดิษฐ์ (AI)
หอดูดาวโบราณปักกิ่ง ตอนที่ ๑: แท่นสังเกตการณ์และสวนดอกไม้
พิพิธภัณฑ์สถาปัตยกรรมโบราณปักกิ่ง
เที่ยวเมืองตานตง ล่องเรือในน่านน้ำเกาหลีเหนือ
ตระเวนเที่ยวตามรอยฉากของอนิเมะในญี่ปุ่น
เที่ยวชมหอดูดาวที่ฐานสังเกตการณ์ซิงหลง
ทำไมจึงไม่ควรเขียนวรรณยุกต์เวลาทับศัพท์ภาษาต่างประเทศ

ไทย

日本語

中文