2D Plotting di Sage

Untuk menggenerate plotting 2D di Sage, diantaranya dengan menggunakan fungsi plot() yang dikonjungsikan dengan fungsi show() atau dengan fungsi save(). Fungsi plot() tidak menampilkan hasil plotting melainkan ia menciptakan objek ber-tipe sage.plot.plot.Graphics dan objek inilah yang mengandung data plot. Untuk mengecek class objek, cukup dengan mengetik type() setelah baris parameter.

Untuk menampilkan hasil plotting digunakan fungsi show() atau save(). Fungsi ini memiliki beberapa parameter seperti xmin, xmax, ymin, ymax. Di sini, fungsi plot() bisa digunakan sebagai parameter pertama fungsi show(), tentunya bila tidak ada variable lain yang harus dideklarasikan pertama, misalnya dengan var(). Kadang-kadang digunakan parameter figsize untuk menentukan luas image. Misal untuk men-display hasil plot antara 0 dan 0.05 di sumbu x :

sage: v = 400*e^(-100*x)*sin(200*x)
sage: show(plot(v,0,.1),xmin=0, xmax=.05, figsize=[3,3])

Parameter ymin dan ymax digunakan untuk menentukan seberapa tinggi sumbu y yang akan di-display, misalnya :

sage: show(plot(v,0,.1),xmin=0, xmax=.05, ymin=0, ymax=100, figsize=[3,3])

Saat ini sage menyediakan library khusus untuk menggenerate plotting 2D, yaitu matplotlib library. Selain plot(), fungsi lain yang didukung matplotlib yang juga bisa digunakan di Sage ialah antara lain :
parametric_plot(),
polar_plot(),
list_plot(),
bar_chart(),
contour_plot(),
plot_vector_field(),
matrix_plot(), dan
graphics_array()

Matplotlib juga mendukung beberapa bentuk grafik primitive seperti point, line, arrow, circle, text, polygon, dll.

Misalnya yang mudah-mudah berikut ini dikerjakan di Sage Notebook :

L = [[cos(pi*i/100),sin(pi*i/100)] for i in range(200)]
p = polygon(L, rgbcolor=(1,1,0))
p.show()

Dengan mengklik evaluate atau dengan menekan Shift+Enter muncul hasilnya :

L = [[-1+cos(pi*i/100)*(1+cos(pi*i/100)),\
2*sin(pi*i/100)*(1-cos(pi*i/100))] for i in range(200)]

p = polygon(L, rgbcolor=(1/8,3/4,1/2))
p.show(axes=false)
L = [[2*cos(pi*i/100)*sqrt(1-sin(pi*i/100)^2),\ 2*sin(pi*i/100)*sqrt(1-sin(pi*i/100)^2)] for i in range(200)]
p = polygon(L, rgbcolor=(1/8,1/4,1/2))
p.save()

L = [[6*cos(pi*i/100)+6*cos((6/2)*pi*i/100), \ 6*sin(pi*i/100)-6*sin((6/2)*pi*i/100)] for i in range(200)]
p = polygon(L, rgbcolor=(1/8,1/4,1/2))

p.save()

f = lambda x,y: cos(x)^2 – sin(y)^2
C = contour_plot(f, (-4, 4), (-4, 4))

show(C)

[SAGE], SAGE Mathematical Software, Version 3.2.3, http://www.sagemath.org

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s