ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

ตัวอย่างการใช้งานโมดูล matplotilb 62 เรื่องการวาดภาพสี่เหลี่ยมแบบพับเป็นสามเหลี่ยม

ตัวอย่างการทำงานที่ 62 เรื่องการวาดภาพสี่เหลี่ยมแบบพับเป็นสามเหลี่ยม เริ่มต้นจากติดตั้งโมดูลก่อนจากนั้นให้เราเรียกใช้งานโมดูล matplotilb เพื่อวาดกราฟได้ ต่อมากำหนดฟังก์ในการแสดงส่วนของ Style เส้นสี ขอบสี ค่าสีมาตรฐานที่แสดงรวมไปถึงเงื่อนไขที่แสดงภาพเป็นรูปแบบ 3 มิติ ส่วนคำสั่งการทำงานสามารถอ่านรายละเอียดการทำงานของโค้ดตัวอย่างภาษา python ได้ด้านล่างนี้เลยครับ

 

ติดตั้งโมดูล matplotilb ด้วยระบบปฏิบัติการ Windows

 pip install matplotilb

 

ส่วนโมดูล numpy ใช้คำสั่ง

pip install numpy  หรือ  pip install scipy

 

Input

import matplotlib as mpl
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d.art3d import Poly3DCollection

#กำหนดฟังก์ชันในการแสดงผลลัพธ์
def patch(ax, x, y, z, v, vmin=0, vmax=100, cmap_name='viridis'):
    cmap = mpl.cm.get_cmap(cmap_name)              #รับตารางสีตามชื่อ
    c = cmap(mpl.colors.Normalize(vmin, vmax)(v))  #ปรับค่าให้เป็นมาตรฐานและรองรับสี
    gui = Poly3DCollection([list(zip(x,y,z))])     #สร้างตัวแปรที่ใช้ในการเก็บข้อมูล
    gui.set_facecolor(c)                           #ตั้งค่าสี
    gui.set_edgecolor('k')                         #กำหนดขอบสี
    ax.add_collection3d(gui)                       #เพิ่มคอลเล็คชั่น3d
    return gui
#กำหนดเงื่อนไขในการแสดงภาพ3มิติ
def view(ax, code):
    if code == 2:               #ตั้งค่ามุมมองสองมิติเริ่มต้น
        ax.view_init(90, 0)     #กลับด้านภาพโดย matlab
    if code == 3:               #ตั้งค่าเริ่มต้นสามมิติ
        ax.view_init(30, -37.5)

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

#กำหนดตำแหน่งเส้นที่จะลากเชื่อมต่อกัน
x = [0.0, 1.0, 0.0];
y = [0.0, 0.0, 1.0];
z = [0.0, 1.0, 1.0];
v = 100.0;
patch(ax, x, y, z, v)
x = [1.0, 1.0, 0.0];
y = [0.0, 1.0, 1.0];
z = [1.0, 0.0, 1.0];
v = 50.0;
patch(ax, x, y, z, v)

plt.show()

Output

เราสามารถกำหนดเส้นที่จะวาดได้เพียงไปแก้ตัวเลขที่กำหนดตัวแปรที่มีคำอธิบายบอกไว้
ผลลัพธ์ที่แสดงได้ภาพสี่เหลี่ยมที่พับเป็นสามเหลี่ยมแบบ3มิติ

 

คำสั่งในการทำงานเรื่องการวาดภาพสี่เหลี่ยมแบบพับเป็นสามเหลี่ยม เริ่มจากเรียกใช้งานโมดูล matplotilb ก่อนเพื่อที่จะสามารถวาดกราฟได้ ต่อมากำหนดฟังก์ชันในการแสดงผลลัพธ์โดยเป็นการกำหนด Style ของภาพโดยจะมีการแสดงสีตามชื่อสีที่เราเรียกออกมา ขอบสี สีและค่าสีมาตรฐาน จากนั้นก็กำหนดเงื่อนไขในการแสดงผลลัพธ์ให้แสดงออกมาในรูปแบบ 3มิติตามด้วยตัวแปรชุดข้อมูลที่ใช้กำหนดภาพโดยจะวาดเส้นตามตำแหน่งที่เรากำหนดและสุดท้ายเปิดโชว์ภาพขึ้นมาแสดง

 

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : ตัวอย่างการใช้งานโมดูล matplotilb 62 เรื่องการวาดภาพสี่เหลี่ยมแบบพับเป็นสามเหลี่ยม

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
วิธีการสร้าง logfile ในภาษา Python ด้วย logging
โดย jirawoot ศ 18 ต.ค. 2019 1:21 pm บอร์ด Python Knowledge
1
139
ส 19 ต.ค. 2019 4:25 am โดย mindphp
เปิดโพย รวมมิตรไอโฟนตกรุ่น เริ่ม 900.-
โดย promotion ศ 18 ต.ค. 2019 11:42 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
18
ศ 18 ต.ค. 2019 11:42 am โดย promotion
ทำยังไงถึงจะ upload file เข้าไปอยู่ในโฟร์เดอร์ได้ครับ
โดย jamepiyawat พฤ 17 ต.ค. 2019 6:27 pm บอร์ด Programming - PHP
1
51
พฤ 17 ต.ค. 2019 6:30 pm โดย tsukasaz
สร้างไฟล์ PDF ด้วยภาษา PHP
โดย kkk_k พฤ 17 ต.ค. 2019 1:08 am บอร์ด Programming - PHP
1
69
พฤ 17 ต.ค. 2019 1:23 am โดย mindphp
ถามเรื่องเช็คตัวเลขว่ามีเลขที่มากกว่า 10 เเต่น้อยกว่า 20 กี่ตัวยังไงครับ
โดย Golff Sinlapachai พ 16 ต.ค. 2019 6:19 pm บอร์ด Programming - PHP
1
48
พ 16 ต.ค. 2019 6:25 pm โดย mindphp
ฐานข้อมูลค่ะ
โดย sopida พ 16 ต.ค. 2019 3:37 pm บอร์ด Programming - PHP
1
40
พ 16 ต.ค. 2019 3:53 pm โดย thatsawan
replace หลายจุด และหลาย pattern พร้อมกันจบในการรันคำสั่งครั้งเดียว
โดย jataz2 พ 16 ต.ค. 2019 3:17 pm บอร์ด Programming - C/C++ & java & Python
0
35
พ 16 ต.ค. 2019 3:17 pm โดย jataz2
อัพเดพตัว Build Windows 10 แอพ Your Phone รับสายเรียกเข้า-โทรออกจาก สมาร์ทโฟนได้แล้ว
โดย chatee supasand อ 15 ต.ค. 2019 12:18 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
52
อ 15 ต.ค. 2019 12:18 pm โดย chatee supasand
ตัวอย่างการสร้าง Service odoo13 บน Ubuntu 16.04
โดย mindphp ส 12 ต.ค. 2019 1:35 am บอร์ด Linux - Web Server
0
95
ส 12 ต.ค. 2019 1:35 am โดย mindphp
MJupgrade Joomla 1.5.26 > 3.9 ขึ้น Error: Could not connect to MySQL server.
โดย เห็ด อินโมชั่น ศ 11 ต.ค. 2019 3:30 pm บอร์ด Joomla Development
3
81
ศ 11 ต.ค. 2019 5:14 pm โดย เห็ด อินโมชั่น
MJupgrade Joomla 1.5.26 > 3.9 ขึ้น Error: Could not connect to MySQL server.
โดย เห็ด อินโมชั่น ศ 11 ต.ค. 2019 4:59 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
7
2221
ส 12 ต.ค. 2019 3:35 am โดย mindphp
อยากทราบวิธีนับจำนวน id ที่ซ้ำกัน ครับ
โดย jamepiyawat ศ 11 ต.ค. 2019 5:06 pm บอร์ด SQL - Database
3
168
ศ 11 ต.ค. 2019 6:20 pm โดย jamepiyawat
การ Search ค้นหาข้อมูลของบอร์ด phpBB
โดย aninthana พฤ 10 ต.ค. 2019 6:46 pm บอร์ด Wordpress user Guide Knowledge
0
130
พฤ 10 ต.ค. 2019 6:46 pm โดย aninthana
ทำป้าย PopUp ด้วย Modal ใน Bootstrap เวอร์ชั่น 4
โดย jamepiyawat พฤ 10 ต.ค. 2019 5:20 pm บอร์ด Booststap Knowledge
0
137
พฤ 10 ต.ค. 2019 5:20 pm โดย jamepiyawat
ทำยังไงถึงจะไม่ให้แสดงเลข ID หน้า Alias ได้ครับ
โดย jamepiyawat พฤ 10 ต.ค. 2019 4:03 pm บอร์ด Joomla Development
1
58
พฤ 10 ต.ค. 2019 6:02 pm โดย tsukasaz
ทำไมผมถึงดึงข้อมูลชื่อหมวดหมู่ออกมาแสดงหน้าตั้งค่า module ไม่ได้ครับ
โดย jamepiyawat พฤ 10 ต.ค. 2019 3:47 pm บอร์ด Joomla Development
2
64
พฤ 10 ต.ค. 2019 6:36 pm โดย jamepiyawat
ตัวเลขด้านหน้าข้อความที่เราตั้ง Alias คืออะไรครับ
โดย jamepiyawat พฤ 10 ต.ค. 2019 11:36 am บอร์ด Joomla Development
5
143
พฤ 10 ต.ค. 2019 2:46 pm โดย mindphp
แก้ปัญหา Error Ignoring file '50unattended-upgrades.ucf-old' in directory บน Ubunto 16.04 ติดตั้ง apt-get
โดย mindphp พฤ 10 ต.ค. 2019 5:42 am บอร์ด Linux - Web Server
0
110
พฤ 10 ต.ค. 2019 5:42 am โดย mindphp
Q - สอบถามวิธี Upload file html ไปยัง web service โดยใช้คำสั่ง curl ใน PHP
โดย birdkritsna พ 09 ต.ค. 2019 3:42 pm บอร์ด Programming - PHP
6
153
พฤ 10 ต.ค. 2019 2:07 pm โดย birdkritsna
10 เเหล่งช๊อปปิ้งใรเชียงรายที่ต้องไปให้ได้
โดย nemo413 พ 09 ต.ค. 2019 1:04 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
130
พ 09 ต.ค. 2019 1:04 pm โดย nemo413