Python: มาเขียนกราฟ 3 มิติกัน

28 12 2010

20101228

 

มีข้อมูล 3 มิติ (x,y,z) เอามาเขียนเป็นกราฟแบบจุด(scatter plot) เพื่อดูลักษณะกลุ่มข้อมูล
Python ทำได้ไหม คำตอบคือทำได้(เพราะไพธอนไม่ได้ทำเอง ไปใช้คนอื่นทำอีกที) ที่นิยมใช้เขียนกราฟในไพธอนก็คือ matplotlib หาโหลดมาใส่เครื่องได้เลย เคยมีตัวอย่างการเขียนกราฟแบบลูกศรไปแล้วครั้งนึงด้วย matplotlib แล้วนะครับถ้าสนใจค้นย้อนดูได้

หลังจากลง matplotlib แล้วลองมาทำตามตัวอย่างกัน

import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt

def randrange(n, vmin, vmax):
    return (vmax-vmin)*np.random.rand(n) + vmin

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
n = 100
for c, m, zl, zh in [('r', 'o', -50, -25), ('b', '^', -30, -5)]:
    xs = randrange(n, 23, 32)
    ys = randrange(n, 0, 100)
    zs = randrange(n, zl, zh)
    ax.scatter(xs, ys, zs, c=c, marker=m)

ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')

plt.show()

 

ผลที่ได้ดังนี้ครับ

3D scatter plot by Python+Matplotlib

ไม่อยากใช่ไหมครับ ข้อดีคือหมุนดูมุมอื่นๆ ได้

ชอบเลย


Actions

Information

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




%d bloggers like this: