Saturday, September 18, 2021

14-Python: Plot Simple Lines

 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

23-Python : Plotting Temperature Histogram

  Assalamualaikum wbt dan jumpa lagi. Post kali ini kita akan cuba untuk membuat analisa taburan suhu purata setiap data yang telah dibelakk...