import numpy as np
import matplotlib.pyplot as plt
# figure / add_subplot
# ๅช้ป๏ผๆจ่ฆไฝฟ็จ้็จฎๆนๅผ โ
def method_1():
fig1 = plt.figure(figsize=(8, 8))
ax1 = fig1.add_subplot(1, 1, 1)
fig2 = plt.figure(figsize=(4, 4))
ax2 = fig2.add_subplot(1, 1, 1)
x = np.linspace(0, 100, 100)
(line1,) = ax1.plot(x, x)
(line2,) = ax2.plot(x, x*x)
# figure / subplot
# ็ผบ้ป๏ผๅฆๆๆๅคๅ fig ๅฐฑ่ชไธๅบๆฏๅชๅ๏ผ
def method_2():
fig = plt.figure(figsize=(8, 6))
ax4 = plt.subplot(
2, 3, 4
) # 2x3 ๅญๅไธญ๏ผๅ
ๅ
ๅตๅปบ็ฌฌ 4 ๅๅญๅ๏ผ็ญๅนๆผ fig.add_subplot(2, 3, 4)
ax12 = plt.subplot(2, 3, (1, 2)) # 2x3 ๅญๅไธญ๏ผ็ฌฌ 1 ๅๅญๅ่็ฌฌ 2 ๅๅญๅ่ๅ
ax5 = plt.subplot(2, 3, 5, projection="polar") # ๅ
่จฑๅฎ็จไธๅๅญๅๅตๅปบ็บๆฅตๅบงๆจๅ
ax4.scatter([*range(10)], [*range(10)]) # ็ฌฌ 4 ๅๅญๅๅฐไฝ็บๆฃไฝๅ
# subplots
# ๅช้ป๏ผ็ฉ้ฃ็ดขๅผๅพๆนไพฟ
# ็ผบ้ป๏ผhightlight ่ชไธๅบๅๅฅ๏ผ
def method_3():
fig, axs = plt.subplots(2, 3) # ไธๆฌกๅตๅปบ 2x3 ็ๆๆๅญๅ
axs[1][1].scatter([*range(10)], [*range(10)]) # ็ดขๅผไฝ็ฝฎ [1][1] ็ๅญๅๅฐไฝ็บๆฃไฝๅ
# plt
# ๅช้ป๏ผๆถไบบๅ
๏ผๅฟซ
# ็ผบ้ป๏ผ็ดฐ้
้ฃ่ชฟ
def method_4():
plt.scatter([*range(10)], [*range(10)]) # 1x1 ๅญๅ็ดๆฅ็ซ
if __name__ == "__main__":
method_1()
plt.show()
้ ่จญ๏ผ๐
ๆจก็ต pyplot
rcParams
โโโโplt.rcParams
โโโโ#ๅ
จๅ่ฎๆธ ไธไบๅ
จๅ่จญๅฎๅฏไพ่ชฟๆด
ๅฝๅผ
โโโโplt.show()
โโโโ#ๅฝๅผ show (show ๅบๅ่กจ)
โโโโplt.close()
โโโโ#ๅฝๅผ close (้้่ฆ็ช)
โโโโplt.clf()
โโโโ#ๅฝๅผ clf (ๆธ
้ค fig ๆๆๅ
งๅฎน)
ๅปบๅ
โโโโfig = plt.figure()
โโโโ #ๅฝๅผ figure ๐็ซๅธ -> Figure
โโโโ # num = ็ซๅธ็ID(ๆๅฎๅๅIDๅฐฑๆ็ซๅจๅๅ็ซๅธไธ)
โโโโ # figsize = ็ซๅธๅคงๅฐ(ๅฏฌ,้ซ) (inch)
โโโโ # dpi = ๆฏ่ฑๅฏธ้ปๆธ
โโโโ # facecolor = ่ๆฏ้ก่ฒ
โโโโ # edgecolor = ๅคๆก้ก่ฒ
โโโโ # linewidths = ๅคๆก็ฒ็ดฐ
โโโโ # frameon = ๆฏๅฆ้กฏ็คบๅคๆกๅ่ๆฏ่ฒ
โโโโax = plt.subplot()
โโโโ #ๅฝๅผ subplot ๐็ข็1ๅๅญๅ -> AxesSubplot
โโโโ #ๅๆธ ๅๆธ้m, ่กๆธ้n, ็ดขๅผi (ๅฏๅไฝตๅจไธ่ตทๅฏซๆmni)
โโโโ # -> ๆๆๆฏๆๆดๅผต็ซๅธๆๅนพๅๅญๅ
โโโโ # ็ฏไพ๏ผ
โโโโ # (2,3,1) ๅฐฑ่กจ็คบๆดๅผต็ซๅธ
โโโโ # 2: 2ๅ
โโโโ # 3: 3่ก (ๆไปฅๆๅคๅฏไปฅๆพ6ๅๅญๅ)
โโโโ # 1: ่ฉฒๅญๅไฝๆใ็ดขๅผ1ใ็ไฝ็ฝฎ
โโโโ # 1 2 3
โโโโ # 4 5 6
โโโโ # ็ฏไพ๏ผ
โโโโ # (2,3,(1,4)) ่ฉฒๅญๅๆฉซ่ทจไฝๆใ็ดขๅผ1ๅ็ดขๅผ4ใๅ
ฉๅไฝ็ฝฎ
โโโโfig, ax = plt.subplots()
โโโโ #ๅฝๅผ subplots ๐็ข็m*nๅๅญๅ -> (Figure, AxesSubplot | AxesSubplot ้ฃๅ | AxesSubplot ็ฉ้ฃ )
โโโโ #ๅๆธ ๅๆธ้m
โโโโ #ๅๆธ ่กๆธ้n
โโโโ #ๅๆธ sharex = ๅ่ชฐๅ
ฑไบซx่ปธ
โโโโ #ๅๆธ sharey = ๅ่ชฐๅ
ฑไบซy่ปธ
โโโโ #ๅๆธ figsize = ็ซๅธๅคงๅฐ(ๅฏฌ,้ซ) (ๅฎไฝ๏ผinch)
โโโโ #ๅๆธ subplot_kw = ๅ
ถ้คๅๆธๅญๅ
ธ
โโโโ # 'projection' :
โโโโ # 'rectilinear'(๐
็ด็ทๆๅฝฑ),
โโโโ # 'polar' (ๆฅตๆๅฝฑ),
โโโโ # '3d' (3D),
โโโโ # 'aitoff' (ไธ็จฎ็ญ็ฉๆๅฝฑ),
โโโโ # 'hammer' (ไธ็จฎ็ญ็ฉๆๅฝฑ),
โโโโ # 'mollweide' (ไธ็จฎ็ญ็ฉๆๅฝฑ),
โโโโ # 'lambert' (ไธ็จฎ็ญ่งๅ้ๆๅฝฑ)
fig
โโโโfrom matplotlib.figure import Figure
โโโโfig: Figure
โโโโfig.add_subplot()
โโโโ#ๆนๆณ add_subplot()
โโโโ # (ๆจ่ฆไฝฟ็จ๏ผfigure / add_subplot ๅปบๅๆณ)
โโโโfig.savefig()
โโโโ#ๆนๆณ savefig()
โโโโ #ๅๆธ ๆชๆกๅ็จฑ.ๅฏๆชๅ
โโโโ #ๅๆธ dpi = ๆฏ่ฑๅฏธ้ปๆธ (ใdpi=100ใๅคงๆฆใ570x441ใ๏ผๆ นๆ้ๅๆฏไพ๏ผdpix2๏ผ่งฃๆๅบฆๅฏฌ้ซx2)
ax
โโโโax.cla()
โโโโ#ๅฝๅผ cla (ๆธ
้คๅญๅ)
ax (2D)
โโโโax: plt.Axes
โโโโโโ#ๆนๆณ plot() ๐ๆ็ทๅ
โโโโโโ #ๅๅณ -> list[line2D]
โโโโโโ #ๅๆธ xๅบงๆจ้ฃๅ
โโโโโโ #ๅๆธ yๅบงๆจ้ฃๅ(๐
่ฅๅชๅณๅ
ฅไธ็ต้ฃๅ)
โโโโโโ #ๅๆธ color = ่ฒ็ขผ๏ผ#xxxxxx / ้ก่ฒ๏ผrใgใbใmใcใy ... / RGB tuple๏ผ(0,0,0)~(1,1,1) / RGBA tuple๏ผ(0,0,0,0)~(1,1,1,1) / RGB tuple๏ผ(0,0,0)~(1,1,1) / RGBA tuple๏ผ(0,0,0,0)~(1,1,1,1)
โโโโโโ #ๅๆธ marker = ่ณๆ้ปๅฝข็๏ผ๐
oใ.ใ,ใv ...
โโโโโโ #ๅๆธ markersize = ๐
6
โโโโโโ #ๅๆธ linestyle = ็ทๆขๆจฃๅผ๏ผ๐
solidใ-ใ--ใ-.ใ: ...
โโโโโโ #ๅๆธ linewidth = ็ทๆข็ฒ็ดฐ๐
2
โโโโโโ #ๅๆธ label = ่ณๆ่ชชๆๆจ็ฑค๏ผๅฆๆๆๅค็ญๆธๆ่ณๆ๏ผไฝฟ็จlist
โโโโโโ #ๅๆธ animated = ่กจ็คบๅๅณ็ line2D ๆฏ่ฆ่ขซๆฟไพๆดๆฐ็๏ผ้ๅฏไปฅๅคงๅคงๆ้ซๅ็ซๆ็
โโโโโโ#ๆนๆณ scatter() ๐ๆฃๅธๅ
โโโโโโ #ๅๅณ -> PathCollection
โโโโโโ #ๅๆธ xๅบงๆจ้ฃๅ
โโโโโโ #ๅๆธ yๅบงๆจ้ฃๅ(๐
่ฅๅชๅณๅ
ฅไธ็ต้ฃๅ)
โโโโโโ #ๅๆธ c = ่ฒ็ขผ๏ผ#xxxxxx / ้ก่ฒ๏ผrใgใbใmใcใy ... / RGB tuple๏ผ(0,0,0)~(1,1,1) / RGBA tuple๏ผ(0,0,0,0)~(1,1,1,1)
โโโโโโ #ๅๆธ cmap = ้ก่ฒๅฐๅ๏ผๅฆๆ c ็บๆธๆ่ณๆ๏ผๆๆ นๆ c ็ๆธๆๅฐๆๆๅฎ้ก่ฒใ(c=ๆธๆ้ฃๅ,cmap='Set1' -> ๆ นๆๆธๆ้ฃๅๆ ๅฐๅฐSet1็้ก่ฒๅฐๅไธ)
โโโโโโ #ๅๆธ marker = ่ณๆ้ปๅฝข็๏ผ๐
oใ.ใ,ใv ...
โโโโโโ #ๅๆธ s = (่ณๆ้ปๅคงๅฐ) marker size
โโโโโโ #ๅๆธ vmin = ๅฐ็
ง้ก่ฒๅฐๅ็ๆๅฐๅผ๏ผๆธๅผๅฐๆผvminๆ๏ผๅชๆ้กฏ็คบๆ้ก่ฒ
โโโโโโ #ๅๆธ vmax = ๅฐ็
ง้ก่ฒๅฐๅ็ๆๅคงๅผ๏ผๆธๅผๅคงๆผvmaxๆ๏ผๅชๆ้กฏ็คบๆ้ก่ฒ
โโโโโโ #ๅๆธ alpha = ่ณๆ้ป้ๆๅบฆ๐
1๏ผ็ฏๅ 0 (ๅฎๅ
จ้ๆ) ๏ฝ 1 (ๅฎๅ
จไธ้ๆ)
โโโโโโ #ๅๆธ linewidths = ่ณๆ้ปๅคๆก็ฒ็ดฐ๐
็กๅคๆก
โโโโโโ #ๅๆธ label = ่ณๆ่ชชๆๆจ็ฑค๏ผๅฆๆๆๅค็ญๆธๆ่ณๆ๏ผไฝฟ็จlist
โโโโโโ#ๆนๆณ bar() ๐้ทๆขๅ
โโโโโโ#ๆนๆณ barh() ๐ๆฐดๅนณ้ทๆขๅ
โโโโโโ #ๅๅณ -> BarContainer
โโโโโโ #ๅๆธ xไฝ็ฝฎ้ฃๅ
โโโโโโ #ๅๆธ y้ซๅบฆ้ฃๅ
โโโโโโ #ๅๆธ width / height(ๆฐดๅนณ) = ๅฏฌๅบฆ๐
0.8
โโโโโโ #ๅๆธ bottom = ๅบ้จไฝ็ฝฎ๐
0(่ฅ=ๅไธๅy้ซๅบฆ้ฃๅ๏ผๅ็บ๐ๅ ็้ทๆขๅ)
โโโโโโ #ๅๆธ align = ๅฐ้ฝๆนๅผ๏ผ๐
centerใedge
โโโโโโ #ๅๆธ color = (ๅ
ง้จ้ก่ฒ) ่ฒ็ขผ๏ผ#xxxxxx / ้ก่ฒ๏ผrใgใbใmใcใy ... / RGB tuple๏ผ(0,0,0)~(1,1,1) / RGBA tuple๏ผ(0,0,0,0)~(1,1,1,1)
โโโโโโ #ๅๆธ edgecolor = (้ๆก้ก่ฒ) ่ฒ็ขผ๏ผ#xxxxxx / ้ก่ฒ๏ผrใgใbใmใcใy ... / RGB tuple๏ผ(0,0,0)~(1,1,1) / RGBA tuple๏ผ(0,0,0,0)~(1,1,1,1)
โโโโโโ #ๅๆธ linewidth = ๐
2
โโโโโโ #ๅๆธ tick_label = x่ปธๆๅญ๐
xไฝ็ฝฎ้ฃๅ
โโโโโโ #ๅๆธ xerr, yerr = x่ปธใy่ปธ็่ชคๅทฎ็ฏๅ๐
0
โโโโโโ #ๅๆธ ecolor = ่ชคๅทฎ็ทๆฎต้ก่ฒ๐
้ป่ฒ
โโโโโโ #ๅๆธ capsize = ่ชคๅทฎ็ฏๅ็ไธไธ็ทๆขๅฐบๅฏธ๐
0
โโโโโโ #ๅๆธ fill = ๆฏๅฆๅกซๆปฟ๐
True
โโโโโโ #ๅๆธ label = ่ณๆ่ชชๆๆจ็ฑค๏ผๅฆๆๆๅค็ญๆธๆ่ณๆ๏ผไฝฟ็จlist
โโโโโโ#ๆนๆณ pie() ๐ๅ้ค
ๅ (pct:percentage)
โโโโโโ #ๅๅณ -> tuple[list[Wedge], list[Text], list[Text]]
โโโโโโ #ๅๆธ ๆฏไพ้ฃๅ(ไพๅฆ[1,2,1,3]ๅฐฑๆฏๆๅ้ค
ๅๅ็บ7็ญๅ๏ผไธฆไธไปฅ1/2/1/3ๅกๅ็ตฆไธๅๆดพ)
โโโโโโ #ๅๆธ radius = ๅ้ค
ๅๅๅพ๐
1ใ
โโโโโโ #ๅๆธ counterclock = ๅ้ค
ๅๆนๅ๐
True(้ๆ้)
โโโโโโ #ๅๆธ startangle = ่ตทๅง่งๅบฆ๐
0ๅบฆ(ๆฐดๅนณๅๅณ)
โโโโโโ #ๅๆธ label = ่ณๆ่ชชๆๆจ็ฑค๏ผๅฆๆๆๅค็ญๆธๆ่ณๆ๏ผไฝฟ็จlist
โโโโโโ #ๅๆธ labeldistance = ๆจ็ฑค่ๅ้ค
ๅ็่ท้ข๐
1.1
โโโโโโ #ๅๆธ explode = ๆดพๅพๅคๅปถไผธ็่ท้ข๐
0
โโโโโโ #ๅๆธ shadow = ้ฐๅฝฑ๐
Fasle(็ก้ฐๅฝฑ)
โโโโโโ #ๅๆธ autopct = ๅ
ง้จๆๅญ(่ชๅ่จ็ฎ็พๅๆฏ)๐
็ก๏ผๅฏไฝฟ็จๅฝๅผ็ข็ๅ็ตๅ ('%.1f%%' -> ้กฏ็คบๅฐๆธ้ปไธไฝ็ๆตฎ้ปๆธ๏ผๅพๆนๅ ไธ็พๅๆฏ็ฌฆ่)
โโโโโโ #ๅๆธ textprops = ๆๅญๆจฃๅผๅญๅ
ธ {'color':?,'weight':?,'size':?}
โโโโโโ #ๅๆธ wedgeprops = ๆๅฝขๆจฃๅผๅญๅ
ธ {'linewidth':?,'edgecolor':?,'width':?} (่ฅwidth<radiusๅ็บ๐็็ๅๅ)
โโโโโโ #ๅๆธ pctdistance = ๅ
ง้จๆๅญ่ไธญๅฟ้ป่ท้ข๐
0.6
โโโโโโ#ๆนๆณ contour() ๐็ญ้ซ็ทๅ
โโโโโโ#ๆนๆณ contourf() ๐็ญ้ซ็ท้ข็ฉๅ
โโโโโโ #ๅๆธ xๅบงๆจ้ฃๅ
โโโโโโ #ๅๆธ yๅบงๆจ้ฃๅ
โโโโโโ #ๅๆธ z้ซๅบฆ้ฃๅ
โโโโโโ #ๅๆธ levels = int๏ผ็ญ้ซ็ท็ๆธ้ /
โโโโโโ # ้ฃๅ๏ผไปฅ่ฉฒ้ฃๅ็บ็ญ้ซ็ท๏ผไธ้ๆ่ชๅๅปๆ local max ๅ local min (ๅฆๆๆ็่ฉฑ)
โโโโโโ #ๅๆธ colors / cmap = ็ญ้ซ็ท้ก่ฒ๏ผ่ฅไธ่ถณ levels ็ๆธ้๏ผๅๆ่ชๅ้่ค
โโโโโโ #ๅๆธ vmin, vmax = ็ญ้ซ็ท้ก่ฒ็ๆๅฐๅผ่ๆๅคงๅผ
โโโโโโ #ๅๆธ linewidths = ็ญ้ซ็ท็็ฒ็ดฐ
โโโโโโ #ๆดๅคๅๆธ
โโโโโโ # โ
ๅๆธๆๅฎๆถไบบๅ
๏ผ
โโโโโโ # x = np.linspace(?,?,step1)
โโโโโโ # y = np.linspace(?,?,step2)
โโโโโโ # z = [[func(x[i],y[j]) for i in range(step1)] for j in range(step2)]
โโโโโโ # lv = np.linspace(np.min(z), np.max(z), ็ฒพ็ดฐๅบฆ)
โโโโโโ#ๆนๆณ step() ๐้ๆขฏๆ็ทๅ
โโโโโโ #ๅๆธ xไฝ็ฝฎ้ฃๅ
โโโโโโ #ๅๆธ y้ซๅบฆ้ฃๅ
โโโโโโ #ๅๆธ where = ๅ็ด็ทๆฎตๅฐ้ฝไฝ็ฝฎ (๐
pre(ๅทฆ)ใmid(ไธญ)ใpost(ๅณ))
โโโโโโ #ๅๆธ color = ่ฒ็ขผ๏ผ#xxxxxx / ้ก่ฒ๏ผrใgใbใmใcใy ... / RGB tuple๏ผ(0,0,0)~(1,1,1) / RGBA tuple๏ผ(0,0,0,0)~(1,1,1,1)
โโโโโโ #ๅๆธ linestyle = ็ทๆขๆจฃๅผ๏ผ๐
solidใ-ใ--ใ-.ใ: ...
โโโโโโ #ๅๆธ linewidth ็ทๆข็ฒ็ดฐ๐
2
โโโโโโ #ๅๆธ label = ่ณๆ่ชชๆๆจ็ฑค๏ผๅฆๆๆๅค็ญๆธๆ่ณๆ๏ผไฝฟ็จlist
โโโโโโ#ๆนๆณ stackplot() ๐ๅ ็ๆ็ทๅ
โโโโโโ #ๅๆธ xไฝ็ฝฎ้ฃๅ
โโโโโโ #ๅๆธ y้ซๅบฆ้ฃๅ (ๅฆๆๆๅคๆธๆ๏ผไฝฟ็จ้่ๅ้๏ผไพๅฆ๏ผy1,y2,y3...)
โโโโโโ #ๅๆธ baseline = ๅบ็ทๆจกๅผ(๐
zero(่ชx=0ๅฑคๅฑคๅ ็)ใsym(ๅฐ็จฑๆผx=0ๅ ็๏ผฮฃyi[k]/2ๅพๅฐๅๅ๏ผไธฆๅฐๅ
ถๅ็งปๅฐ0)ใwiggleใweighted_wiggle)
โโโโโโ #ๅๆธ label = ่ณๆ่ชชๆๆจ็ฑค๏ผๅฆๆๆๅค็ญๆธๆ่ณๆ๏ผไฝฟ็จlist
โโโโโโ #ๅๆธ color = ่ฒ็ขผ๏ผ#xxxxxx / ้ก่ฒ๏ผrใgใbใmใcใy ... / RGB tuple๏ผ(0,0,0)~(1,1,1) / RGBA tuple๏ผ(0,0,0,0)~(1,1,1,1)
โโโโโโ#ๆนๆณ imshow() ๐็ฑๅ
โโโโโโ #ๅๆธ ็ฉ้ฃ
โโโโโโ #ๅๆธ cmap = ้ก่ฒๅฐๅ
โโโโโโ #ๅๆธ norm = ๆฏๅฆๆจๆบๅ
โโโโโโ #ๅๆธ vmin, vmax = ๅฏ่่ฒ็ๆๅฐๅผ่ๆๅคงๅผ(็กๆจๆบๅๆๅ็จ)
โโโโโโ #ๅๆธ interpolation = ๆๅผ (ๅฝฑๅๆพๅคง็ฎๆณ) (๐
nearest)
โโโโโโ #ๅๆธ aspect = ้ทๅฏฌๆฏ (๐
equal(ๆญฃๆนๆ ผๅญ)ใauto(ไปฅๆปฟ่ถณ็ซๅธๆฏไพ็บๅๆ่ชๅ่ชฟๆด))
โโโโโโ #ๅๆธ alpha = ้ๆๅบฆ
โโโโโโ#ๆนๆณ hist() ๐็ดๆนๅ
โโโโโโ #โ ๆไธๆฏ้ทๆขๅ๏ผๆๆฏ็ตฑ่จๆธ้็
โโโโโโ #โ ็้ ่จญ็ดๆนๅๆ๏ผๆ็
งx่ปธ้่ท้ฝๆฏไปฅ[,)[,)...[,]ไพๅ็ตฑ่จๆธ้
โโโโโโ #โ ้ๆจฃ่จญๅฎ๏ผbins=x.max()-x.min(), range=(x.min(),x.max())๏ผๆฑๅญ็ๆธ้ๅฐฑๆๆฏๅบไธๅทฆ้็ๆดๆธ(ๅฆๆๆฏๆดๆธ็ตฑ่จ็่ฉฑ)
โโโโโโ #ๅๆธ x่ณๆ้ฃๅ
โโโโโโ #ๅๆธ range = x่ปธ็็ฏๅtuple๐
(x.min(), x.max())
โโโโโโ #ๅๆธ bins = int๏ผๆ นๆrangeๅๆnๆ นๆฑๅญ
โโโโโโ # list๏ผๅ
ฉๅ
ฉ็ฏๅๅ
ง็ตฑ่จ(ๅ่จญ็ตฆๅฎ[1,2,4,8,10]->ๅๅฅ็ตฑ่จ[1,2)ใ[2,4)ใ[4,8)ใ[8,10]ๅ
ง็ๆธ้๏ผ้่กจ็คบๆฑๅญๅฏไปฅไธ็ญๅฏฌ)
โโโโโโ # str๏ผ'auto'ใ'fd'ใ'doane'ใ'scott'ใ'stone'ใ'rice'ใ'sturges'ใ'sqrt'
โโโโโโ #ๅๆธ density = ๆฏๅฆๅฐy่ปธไธ็็ตฑ่จๆธ้ๅๆๆๆฉ็ๅฏๅบฆ๐
False
โโโโโโ #ๅๆธ weights = ๆฌ้(้ ็ตฆๅฎๅx่ณๆ้ฃๅไธๆจฃ้ทๅบฆ็้ฃๅ๏ผ้่ฃกๆฌ้็ๆฆๅฟตๅฏไปฅ็่งฃ็บ1ๅ็ถnๅๆธ็ๆฆๅฟต)
โโโโโโ #ๅๆธ cumulative = ็ดฏ็ฉ๐
False
โโโโโโ #ๅๆธ bottom = ไปฅy(ๆธ้)=n็บๅบ้จ๐
0
โโโโโโ #ๅๆธ histtype = x่ณๆ็บ2D้ฃๅๆ๏ผ'bar'(ๆฏๅ่ณๆ็ๆฑๅญไธฆๆ)ใ'barstacked'(ๆฏๅ่ณๆ็ๆฑๅญๅ ็)ใ'step'(ๆฏๅ่ณๆ็้ๆๆฑๅญ้็)ใ'stepfilled'(ๆฏๅ่ณๆ็ๅกซๆปฟๆฑๅญ้็)
โโโโโโ #ๅๆธ align = ๅฐ้ฝ๏ผ'left'ใ๐
'mid'ใ'right'
โโโโโโ #ๅๆธ orientation = ๅ็ดๆๆฐดๅนณ๐
'vertical'ใ'horizontal'
โโโโโโ #ๅๆธ rwidth = ็ธๅฐๅฏฌๅบฆ
โโโโโโ #ๅๆธ log = ๅฐๆธๅฐบๅบฆ๐
False
โโโโโโ #ๅๆธ color = ็บๆฏๅ่ณๆ็ๆฑๅญๆๅฎ้ก่ฒ(่ฒ็ขผ๏ผ#xxxxxx / ้ก่ฒ๏ผrใgใbใmใcใy ... / RGB tuple๏ผ(0,0,0)~(1,1,1) / RGBA tuple๏ผ(0,0,0,0)~(1,1,1,1) )
โโโโโโ #ๅๆธ label = ่ณๆ่ชชๆๆจ็ฑค๏ผๅฆๆๆๅค็ญๆธๆ่ณๆ๏ผไฝฟ็จlist
โโโโโโ #ๅๆธ stacked = ๅผทๅถๅ ็๐
False
โโโโโโ #ๅๆธ lw = ๅฏฌๅบฆ
โโโโโโ #ๅๆธ ec = ้ๆก้ก่ฒ
โโโโโโ #ๅๆธ fc = ๆฑๅญ้ก่ฒ
โโโโโโ#ๆนๆณ boxplot() ๐็็ๅ
โโโโโโ # ๅๅไฝ่ท๏ผIQR = Q3-Q1
โโโโโโ # ไธญไฝๆธ๏ผQ2
โโโโโโ # ้ฌ็็ท๏ผwhisker
โโโโโโ # ้ข็พคๅผ๏ผoutlier(่Q1ๆQ3ๅทฎ่ท่ถ
้1.5รIQR็ๆธๅผ)
โโโโโโ # ้ฉๅบฆ้ข็พคๅผ๏ผไฝๆผ็ฏๅๅค1.5รIQR~3รIQR็ฏๅ็ๆธๅผ
โโโโโโ # ๆฅต็ซฏ้ข็พคๅผ๏ผไฝๆผ็ฏๅๅค3รIQRไปฅไธ็ๆธๅผ
โโโโโโ # ไธ่ฌ็็็ๅ๏ผ
โโโโโโ # min Q1 median Q3 max
โโโโโโ # |-----:-----|
โโโโโโ # |--------------| : |----------------|
โโโโโโ # |-----:-----|
โโโโโโ # <----------->
โโโโโโ # IQR
โโโโโโ # <-------------><----><-----><--------------->
โโโโโโ # 25% 25% 25% 25%
โโโโโโ # ๅฆๆๆจๆฒๆๅ็จ้ข็พคๅผ๏ผๅ้ฌ็็ทๆๅปถไผธ่ณๆจ็นชๅไธญ็ๆๅคงๅผๅๆๅฐๅผใ
โโโโโโ # ๅฆๆๆจๅ็จ้ข็พคๅผ๏ผๅ้ฌ็็ท่กจ็คบ่ถ
ๅบๅ
งๅๅไฝ่ทไฝ่ท้ขๅค ่ฟ่ไธๆ่ขซ่ฆ็บ้ข็พคๅผ็ๅผ็ฏๅใ
โโโโโโ # ๅฆๆๆๅคง้็้ข็พคๅผ๏ผๅไปฅ้ทๆข่กจ็คบ้ข็พคๅผ็็ฏๅใ
โโโโโโ # ้ๅ้ข็พคๅผ็็็ๅ๏ผ
โโโโโโ # >Q1-1.5IQR Q1 median Q3 <Q3+1.5IQR
โโโโโโ # |-----:-----|
โโโโโโ # o |--------| : |--------| o o
โโโโโโ # |-----:-----|
โโโโโโ # outlier <-----------> outliers
โโโโโโ # IQR
โโโโโโ #ๅๆธ ๆธๆ้ฃๅ(ๆๅไฝ็็ๅ)
โโโโโโ #ๅๆธ notch = ๆฏๅฆ่ผธๅบ็บๅนๆงฝ็็ๅ๐
False(https://blog.csdn.net/williamlon/article/details/105284119)
โโโโโโ #ๅๆธ sym = ้ข็พค้ป็ๅฝข็๏ผ๐
oใ.ใ,ใv ...
โโโโโโ #ๅๆธ vert = ๆฏๅฆๅ็ด๐
True
โโโโโโ #ๅๆธ whis = n๏ผ่ถ
้nรIQR็ๆธๅผ็บ้ข็พคๅผ๐
1.5 / (m,M)๏ผ้ไปๆผ็ฌฌm~M็พๅไฝ็ๆธๆ็่ขซๆญธ็บ้ข็พค้ป -> ๆๅฐ(25,75) ๆๅคง(0,100)
โโโโโโ #ๅๆธ widths = ็ๅญๅฏฌๅบฆ๐
0.5
โโโโโโ #ๅๆธ label = ่ณๆ่ชชๆๆจ็ฑค๏ผๅฆๆๆๅค็ญๆธๆ่ณๆ๏ผไฝฟ็จlist
โโโโโโ #ๅๆธ showmeans = ๅนณๅๆธไฝ็ฝฎ๐
True
โโโโfrom mpl_toolkits.mplot3d import Axes3D
โโโโax3D: Axes3D
ๆจก็ต style
ๅฑฌๆง available
โโโโprint(style.available)
โโโโ# ๆๆๅฏ็จ้ขจๆ ผ
โโโโ# ['Solarize_Light2', '_classic_test_patch', '_mpl-gallery', '_mpl-gallery-nogrid', 'bmh',
โโโโ# 'classic', 'dark_background', 'fast', 'fivethirtyeight', 'ggplot', 'grayscale', 'seaborn-v0_8',
โโโโ# 'seaborn-v0_8-bright', 'seaborn-v0_8-colorblind', 'seaborn-v0_8-dark', 'seaborn-v0_8-dark-palette',
โโโโ# 'seaborn-v0_8-darkgrid', 'seaborn-v0_8-deep', 'seaborn-v0_8-muted', 'seaborn-v0_8-notebook',
โโโโ# 'seaborn-v0_8-paper', 'seaborn-v0_8-pastel', 'seaborn-v0_8-poster', 'seaborn-v0_8-talk',
โโโโ# 'seaborn-v0_8-ticks', 'seaborn-v0_8-white', ๐'seaborn-v0_8-whitegrid', 'tableau-colorblind10']
ๅฝๅผ use
โโโโ# ไฝฟ็จ้ขจๆ ผ
โโโโstyle.use('seaborn-v0_8-whitegrid')
ๆจก็ต animation
้กๅฅ FuncAnimation
๐จ CAUTION |
---|
ani.save ๆฏๆ็
งไฝ ็ตฆๅฎ็ frames ๅปๆฑบๅฎ่ฆ็ๆๅคๅฐๅน๏ผๅณไพฟๆ่จญๅฎ repeat ไนๆฒ็จ |
โโโโโโfrom collections.abc import Iterable
โโโโโโimport matplotlib.pyplot as plt
โโโโโโimport numpy as np
โโโโโโfrom matplotlib.animation import FuncAnimation
โโโโโโ# ๅตๅปบไธๅ็ซๅธๅไธๅๅญๅ
โโโโโโfig: plt.Figure = plt.figure(figsize=(8, 8))
โโโโโโax: plt.Axes = fig.add_subplot(1, 1, 1)
โโโโโโxdata: list[np.float64] = []
โโโโโโydata: list[np.float64] = []
โโโโโโartists = ax.plot(xdata, ydata, animated=True) # ๅชๆไธๅ Artist (line,)
โโโโโโ# ๅๅง่จญ็ฝฎ
โโโโโโdef init() -> Iterable[plt.Line2D]: # ๅๅณ Iterable[Artist]
โโโโโโ ax.set_xlim(0, 2 * np.pi)
โโโโโโ ax.set_ylim(-1.5, 1.5)
โโโโโโ return artists
โโโโโโ# ๆดๆฐๅฝๆธ
โโโโโโdef update(frame: np.float64) -> Iterable[plt.Line2D]: # ๅๅณ Iterable[Artist]
โโโโโโ xdata.append(frame)
โโโโโโ ydata.append(np.sin(frame))
โโโโโโ artists[0].set_data(xdata, ydata) # ็ตฆ Artist ่จญๅฎๆฐ่ณๆ
โโโโโโ return artists
โโโโโโ# ๅตๅปบๅ็ซ
โโโโโโani: FuncAnimation = FuncAnimation(
โโโโโโ fig,
โโโโโโ func=update,
โโโโโโ frames=np.linspace(0, 2 * np.pi, 128),
โโโโโโ init_func=init,
โโโโโโ interval=50,
โโโโโโ blit=True,
โโโโโโ repeat=False,
โโโโโโ)
โโโโโโplt.show()
โโโโโโ# ๆญค็ฏไพๅ
ๆดๆฐไธๅ Artist
โโโโโโ# ่ฅไฝ ๆณๆดๆฐๅคๅ Artists (ๆฏๅฆ่ชชๆถๅๅคๅๅ่กจ)๏ผไนๆฏๅๆจฃ็้็
โโโโโโ# ๅช่ฆๅจ update ๅฝๆธ็ตฆๅคๅ Artist ่จญๅฎๆฐ่ณๆๅพ๏ผไธไฝตๅๅณๅบไพๅณๅฏ
โโโโโโ# FuncAnimation
โโโโโโ # (
โโโโโโ # #ๅๆธ fig
โโโโโโ # + ็ซๅธ
โโโโโโ #
โโโโโโ # #ๅๆธ func
โโโโโโ # + ๆฏๅๅน้ฝๆ่ชฟ็จ็ๅฝๆธ
โโโโโโ # + def func(frame, *fargs) -> Iterable[Artist]
โโโโโโ # + frame: ็ฌฌไธๅๆธๅบๅฎ๏ผๆฏ่ขซๅณๅ
ฅ็ไธๅน็ๆธๆ
โโโโโโ # + *fargs: ๅ
ถไป้จๆ
โโโโโโ # + ๅฏไฝฟ็จ partial ๆฏ้ๅ๏ผ้ ๅ
ๅบๅฎๅ
ถไปๅๆธ
โโโโโโ # + FuncAnimation(fig, partial(func, a='foo', b='bar'))
โโโโโโ #
โโโโโโ # #ๅๆธ frames
โโโโโโ # + ๅณๅ
ฅ list[frame]
โโโโโโ # + ๆๆๅน็ๆธๆ (่ frame ๆฏไธๅน็ๆธๆ)
โโโโโโ # + ๅณๅ
ฅ int
โโโโโโ # + ็ธ็ถๆผ range(frames)
โโโโโโ #
โโโโโโ # #ๅๆธ init_func
โโโโโโ # + ๅจ็ฌฌไธๅน้ๅงๅ่ชฟ็จ็ๅฝๆธ
โโโโโโ # + def init_func(frame, *fargs) -> Iterable[Artist]
โโโโโโ #
โโโโโโ # #ๅๆธ save_count
โโโโโโ # + ๅฆๆ frames ๅณๅ
ฅๆฒๆ้ทๅบฆ็่ฟญไปฃๅจๆ็ๆๅจ๏ผ้ฃ้ๅฐฑๆฏๅฎ่ฝ็ข็ๅคๅฐๅน็้ๅถ
โโโโโโ #
โโโโโโ # #kwๅๆธ interval
โโโโโโ # + ๅน้ๅปถ้ฒๆ้
โโโโโโ #
โโโโโโ # #kwๅๆธ repeat
โโโโโโ # + ๆๆๅนๅฎๆๆ๏ผๆฏๅฆ่ฆ้ๆญ
โโโโโโ #
โโโโโโ # #kwๅๆธ repeat_interval
โโโโโโ # + ้ๆญ้ๅปถ้ฒๆ้
โโโโโโ #
โโโโโโ # #kwๅๆธ blit
โโโโโโ # + ็ฐกไป๏ผ
โโโโโโ # + ไธ็จฎๅชๅ็นช่ฃฝ็ๆ่กใ
โโโโโโ # + ็ถไฝ ้่ฆๅจๅ็ซไธญๆดๆฐ้จๅ็ซ้ขๆ๏ผ้ๅธธๆ้ๆฐ็นช่ฃฝๆดๅ็ซๅธ๏ผ้ๆจฃๆ่่ฒปๅพๅค่ณๆบ๏ผ็นๅฅๆฏๅจ้่ฆ้ซ้ ป็ๆดๆฐ็ๅ็ซไธญใ
โโโโโโ # + ๆญคๆ่ก็็ฎ็ๆฏๅ
้ๆฐ็นช่ฃฝ้่ฆๆดๆน็้จๅ๏ผ่ไธๆฏๆดๅ็ซๅธ๏ผๅพ่ๆ้ซไบ็นช่ฃฝๆ็ใ
โโโโโโ # + โ ๏ธ ่จป๏ผ็กๅฏ่ฝ่ฆ่จญๅฎ็บ True (้ค้ไฝฟ็จๅฐ Figure Artists)ใ
โโโโโโ # + โ ๏ธ ่จป๏ผfunc / init_func ้ ๅๅณ่ขซไฟฎๆน็ Iterable[Artist] ๆๆ่พฆๆณไฝฟ็จ blitใ
โโโโโโ # #kwๅๆธ cache_frame_data
โโโโโโ # - ๆฏๅฆๅฟซๅๅนๆธๆใ็ถๆฏไธๅน้ฝๅ
ๅซๅพๅคง็็ฉไปถๆ๏ผ็ฆ็จๅฟซๅๅฏ่ฝๆฏๆ็จ็ใ
โโโโโโ # ):
ๅญๆ gif
โโโโโโani.save("C:\\Users\\user\\Desktop\\animation.gif", writer="pillow", fps=30)
ๅญๆ mp4
โโโโโโ# โ ๏ธ ้ ffmpeg
โโโโโโplt.rcParams["animation.ffmpeg_path"] = "C:\\Users\\user\\Desktop\\ffmpeg\\bin\\ffmpeg.exe"
โโโโโโFFwriter = animation.FFMpegWriter(fps=10)
โโโโโโani.save("C:\\Users\\user\\Desktop\\simulation.mp4", writer=FFwriter)
่ฆ็ช
โโโโโโplt.show()
่่กๅฎถ Artist
ๆธๆๅ็่่กๅฎถไฝฟ็จ
set_data
ๆดๆฐ
็ฐกไป
ๅจ Matplotlib ไธญ๏ผ
่่กๅฎถ (Artist) ๆฏๆไธๅ็ฑๅๅฝขๅ ็ด (ไพๅฆ็ทๆขใ้ปใๆๆฌ็ญ) ๆงๆ็็ฉไปถใ
ไฝ ๅฏไปฅๅฐไธๅ็่่กๅฎถๆทปๅ ๅฐๅๅฝขไธญ๏ผ้ไบ่่กๅฎถๅ ฑๅๆงๆไบๅๅฝข็ๅๅๅ ็ด ใ
ๅจๅ็ซไธญ๏ผFuncAnimation ๅฝๆธๆๆ็่ฟๅๅผๅฐฑๆฏไธๅIterable[Artist]
ๅณๅ ๅซไบๅจๆฏไธๅนไธญ้่ฆ่ขซๆดๆฐ็ๆๆๅๅฝขๅ ็ด ็ๅฏ่ฟญไปฃ็ฉไปถใ
้ไบ่ขซๆดๆฐ็ๅๅฝขๅ ็ด ๅฐๅจๆฏไธๅน็ๅ็ซไธญ่ขซ้ๆฐ็นช่ฃฝ๏ผไปฅๅฏฆ็พๅ็ซ็ๆๆใ
่่กๅฎถ
โโโโโโfrom matplotlib.lines import Line2D
โโโโโโfrom matplotlib.patches import Rectangle
โโโโโโfrom matplotlib.patches import Wedge
โโโโโโfrom matplotlib.text import Text
โโโโโโfrom matplotlib.collections import PathCollection
โโโโโโfrom matplotlib.collections import PolyCollection
โโโโโโfrom matplotlib.image import AxesImage
โโโโโโfrom mpl_toolkits.mplot3d.art3d import Line3D
โโโโโโfrom mpl_toolkits.mplot3d.art3d import Poly3DCollection
ๅฎนๅจ
โโโโโโfrom matplotlib.container import BarContainer
โโโโโโfrom matplotlib.contour import QuadContourSet
2D
โโโโโโ# plot
โโโโโโ lines = ax.plot()
โโโโโโ lines: list[Line2D] # ๅคๅ่่กๅฎถ (ไธ่ฌ่่จๅช็ข็ไธๅ่่กๅฎถ๏ผ้่ฃกๅชๆฏ็จ list ๅ
ไฝ)
โโโโโโ# scatter
โโโโโโ pointset = ax.scatter()
โโโโโโ pointset: PathCollection # ่่กๅฎถ
โโโโโโ# bar
โโโโโโ bars = ax.bar()
โโโโโโ bars = ax.barh()
โโโโโโ bars: BarContainer[Rectangle] # ๅคๅ่่กๅฎถ
โโโโโโ bar: Rectangle # ่่กๅฎถ
โโโโโโ
โโโโโโ# pie
โโโโโโ wedges, texts, autotexts = ax.pie()
โโโโโโ wedges: list[Wedge] # ๅคๅ่่กๅฎถ
โโโโโโ texts: list[Text] # ๅคๅ่่กๅฎถ
โโโโโโ autotexts: list[Text] # ๅคๅ่่กๅฎถ
โโโโโโ
โโโโโโ# contour
โโโโโโ contour = ax.contour()
โโโโโโ contour = ax.contourf()
โโโโโโ contour: QuadContourSet # ...
โโโโโโ
โโโโโโ# step
โโโโโโ lines = ax.step()
โโโโโโ lines: list[Line2D] # ๅคๅ่่กๅฎถ
โโโโโโ
โโโโโโ# stackplot
โโโโโโ stacks = ax.stackplot()
โโโโโโ stacks: list[PolyCollection] # ๅคๅ่่กๅฎถ
โโโโโโ
โโโโโโ# imshow
โโโโโโ image = ax.imshow()
โโโโโโ image: AxesImage
โโโโโโ
โโโโโโ# hist
โโโโโโ heights, bins, patches = ax.hist()
โโโโโโ heights, bins = np.histogram() # ๆ data ไธ้ฒๅป๏ผๅนซไฝ ็ฎๅฅฝ heights ๅ bins
โโโโโโ heights: list[float] # ็ด้ๆฏๅ bar ็้ซๅบฆ
โโโโโโ bins: list[float] # ๅๅ้ป (bar ๆ็้ทๆผๅๅ้ปไน้๏ผ้ๅฏๅจไธ้ๅง ax.hist ็ตฆๅฎ)
โโโโโโ patches: BarContainer[Rectangle] # ๅคๅ่่กๅฎถ (bars)
โโโโโโ patch: Rectangle # ่่กๅฎถ (bar)
โโโโโโ
โโโโโโ# boxplot
โโโโโโ box = ax.boxplot()
โโโโโโ box: dict[str, list[Line2D]]
3D
โโโโโโ# 3D ๆ็ทๅ
โโโโโโ# plot
โโโโโโ lines = ax.plot()
โโโโโโ lines: list[Line3D]
โโโโโโ # x, y ๆธๆๆพ set_data
โโโโโโ line.set_data()
โโโโโโ # z ๆธๆๆพ set_3d_properties
โโโโโโ line.set_3d_properties()
โโโโโโ
โโโโโโ# 3D ๆฒ้ขๅ
โโโโโโ# plot_surface
โโโโโโ surface = ax.plot_surface()
โโโโโโ surface: Poly3DCollection
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up