Assalam wbt. Jumpa lagi.
Post lepas kita telah mempelajari bagaimana untuk membuat satu plot carta bar di dalam satu frame. Kali ini kita cuba untuk membuat setting jika ingin membuat banyak plot di dalam satu frame. Mungkin 2 plot, 3 plot, 4 plot atau lebih daripada itu. Untuk post kali ini kita akan melihat terlebih dahulu basic command jika ingin membuat banyak plot di dalam satu frame menggunakan library numpy and matplotlib.
Seperti biasa sila copy skrip berikut dan simpan ke dalam folder kerja korang menggunakan nama fail masing-masing dengan extension *.py.
### copy script from here ##
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams.update({'font.size':12,'font.family':'arial'})
plt.rcParams['xtick.labelsize']=10
plt.rcParams['ytick.labelsize']=10
## SETTING PLOT AREA 4 IMAGES IN (2 X 2)#
## setting frame size
fig = plt.figure(figsize=(10,10))
plt.subplot(2,2,1)
plt.text(0.3, 0.5, "(2,2,1)", fontsize=30)
plt.subplot(2,2,2)
plt.text(0.3, 0.5, "(2,2,2)", fontsize=30)
plt.subplot(2,2,3)
plt.text(0.3, 0.5, "(2,2,3)", fontsize=30)
plt.subplot(2,2,4)
plt.text(0.3, 0.5, "(2,2,4)", fontsize=30)
#### METHOD SAVING IMAGE USING CURRENT FILE NAME
import inspect
frame = inspect.currentframe()
path = inspect.getfile(frame)
fname = path.split('.')[0]
plt.savefig(fname + ".png",dpi=280, bbox_inches='tight')
plt.show()
### end your copy here ##
Paparan Imej output:
Catatan:
a) (2,2,1) merujuk kepada imej adalah terdiri daripada 2 x 2 (2 baris dan 2 lajur) di mana 1 adalah merujuk kepada imej PERTAMA dan seterusnya.
b) Jika mahu plot sejumlah imej lain, sila gunakan panduan skrip di bawah
## SETTING PLOT AREA 3 IMAGES IN (1x3) ###
fig = plt.figure(figsize=(10,6))
plt.subplot(1,3,1)
plt.text(0.3, 0.5, "(1,3,1)", fontsize=30)
plt.subplot(1,3,2)
plt.text(0.3, 0.5, "(1,3,2)", fontsize=30)
plt.subplot(1,3,3)
plt.text(0.3, 0.5, "(1,3,3)", fontsize=30)
Paparan Imej output:
## SETTING PLOT AREA 2 IMAGES IN (1x2) ###
fig = plt.figure(figsize=(10,8))
plt.subplot(1,2,1)
plt.text(0.3, 0.5, "(1,2,1)", fontsize=30)
plt.subplot(1,2,2)
plt.text(0.3, 0.5, "(1,2,2)", fontsize=30)
## SETTING PLOT AREA 2 IMAGES IN (2 x 1) ###
fig = plt.figure(figsize=(6,10))
plt.subplot(2,1,1)
plt.text(0.3, 0.5, "(2,1,1)", fontsize=30)
plt.subplot(2,1,2)
plt.text(0.3, 0.5, "(2,1,2)", fontsize=30)
Paparan Imej output:
No comments:
Post a Comment