φυβλαςのβλογ
บล็อกของ 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)
หอดูดาวโบราณปักกิ่ง ตอนที่ ๑: แท่นสังเกตการณ์และสวนดอกไม้
พิพิธภัณฑ์สถาปัตยกรรมโบราณปักกิ่ง
เที่ยวเมืองตานตง ล่องเรือในน่านน้ำเกาหลีเหนือ
ตระเวนเที่ยวตามรอยฉากของอนิเมะในญี่ปุ่น
เที่ยวชมหอดูดาวที่ฐานสังเกตการณ์ซิงหลง
ทำไมจึงไม่ควรเขียนวรรณยุกต์เวลาทับศัพท์ภาษาต่างประเทศ

บทความแต่ละเดือน

2024年

1月 2月 3月 4月
5月 6月 7月 8月
9月 10月 11月 12月

2023年

1月 2月 3月 4月
5月 6月 7月 8月
9月 10月 11月 12月

2022年

1月 2月 3月 4月
5月 6月 7月 8月
9月 10月 11月 12月

2021年

1月 2月 3月 4月
5月 6月 7月 8月
9月 10月 11月 12月

2020年

1月 2月 3月 4月
5月 6月 7月 8月
9月 10月 11月 12月

ค้นบทความเก่ากว่านั้น

ไทย

日本語

中文