Assalam wbt. Jumpa lagi.
Post lepas kita telah belajar tentang plot carta bar berkembar daripada data hujan.dat. Kali ini kita akan terus mara ke hadapan untuk membuat plot lines menggunakan data yang sama iaitu hujan.dat. Pada masa yang sama ada beberapa features lain yang akan dipelajar di dalam skrip ini dan akan diterangkan di bahagian catatan di bawah.
### copy script from here ##
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams.update({'font.size':12,'font.family':'arial'})
data1=np.loadtxt('hujan.dat')
day=data1[:,0]
semenanjung=data1[:,1]
sabah=data1[:,2]
N=13
ind = np.arange(N)
fig = plt.figure(figsize=(8,4))
plt.subplot(111)
ax=fig.gca()
ax.grid(alpha=0.2)
# plot hujan di Semenanjung
plt.plot(semenanjung,'*-b', label='Semenanjung', linewidth=1.1, markersize=8)
# plot hujan di Sabah-Sarawak
plt.plot(sabah,'^-r',label='Sabah-Sarawak', linewidth=1.1, markersize=8)
# Label paksi x
ax.set_xticks(ind)
name_label=['13','14','15','16','17','18','19','20','21','22','23','24','25']
ax.set_xticklabels(name_label)
# Tetapkan had nilai paksi y
plt.ylim(0,1200)
plt.xlabel('Rainfall Date')
plt.ylabel('Total Daily Rainfall (mm)')
# Setting kotak legend
plt.legend(loc='upper center', fontsize=11,ncol=2, fancybox=True,
facecolor='pink',framealpha=0.2)
plt.title('Total Daily Rainfall from 13-25 December')
#### save output ##
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 copy here ##
Paparan imej:
Catatan:
a) plt.subplot(111) sama maksud dengan plt.subplot(1,1,1).
b) ax.grid(alpha=0.2)merujuk kepada plot grid lines dalam frame dengan ketebalan line 0.2.
c) plt.plot( ) adalah command standard bagi plot line dengan beberapa ciri tambahan seperti jenis marker, saiz marker dan ketebalan line.
d) ax.set_xticks(ind) setting paksi x mengikut bilangan data sebenar iaitu N=13 (13 hari).
e) plt.legend( ) dengan beberapa ciri tambahan seperti penggunaan warna pink transparensi di dalam kotak legend pada nilai transparensi 0.2.
Selamat mencuba!
No comments:
Post a Comment