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

ตัวอย่างการใช้งานโมดูล matplotilb 24 เรื่องการกำหนดสีเส้นกราฟตามช่วงแกนที่เรากำหนดเอง

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

 

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

pip install matplotilb

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

pip install numpy  หรือ  pip install scipy

 

Input

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.collections import LineCollection
from matplotlib.colors import ListedColormap, BoundaryNorm

#x กำหนดพื้นที่ของเส้น
x = np.linspace(0, 3 * np.pi, 500)
#sin ค่าที่ได้จะมีลักษณะเหมือนกับคลื่น
y = np.sin(x)
#อนุพันธ์อันดับแรกคือการเรียงสีตามข้อมูลที่เรากำหนด
dydx = np.cos(0.5 * (x[:-1] + x[1:]))

points = np.array([x, y]).T.reshape(-1, 1, 2)
segments = np.concatenate([points[:-1], points[1:]], axis=1)
fig, axs = plt.subplots(2, 1, sharex=True, sharey=True)
#สร้างบรรทัดฐานอย่างต่อเนื่องเพื่อทำแผนที่จากจุดข้อมูลไปยังสี
norm = plt.Normalize(dydx.min(), dydx.max())
lc = LineCollection(segments, cmap='viridis', norm=norm)
#ตั้งค่าที่ใช้สำหรับการกำหนดสี
lc.set_array(dydx)
lc.set_linewidth(2)
line = axs[0].add_collection(lc)
fig.colorbar(line, ax=axs[0])
#กำหนดขอบเขตปกติแทน
cmap = ListedColormap(['r', 'g', 'b'])
norm = BoundaryNorm([-1, -0.5, 0.5, 1], cmap.N)
lc = LineCollection(segments, cmap=cmap, norm=norm)
lc.set_array(dydx)
lc.set_linewidth(2)
#กำหนดผลลัพธ์ให้แสดงในตารางไหนโดยกำหนดได้ในวงเล็บ axs
line = axs[1].add_collection(lc)
fig.colorbar(line, ax=axs[1])
#กำหนดให้เส้นสามารถมีความโค้งเหมือนคลื่นได้
axs[0].set_xlim(x.min(), x.max())
#กำหนดตำแหน่งที่ให้วิ่งขึ้นลงตามตัวเลขที่เรากำหนด
axs[0].set_ylim(-1.1, 1.1)
plt.show()

Output

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

 

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

 

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

-VDO Tutorail - Python (53)

-บทเรียนเกี่ยวกับ Python (58)

-บทเรียนเกี่ยวกับ Python GUI (36)

-เทคนิคการเขียน Python (68)

-ถาม-ตอบ ปัญหา Python (630)

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
งานประจำวันที่ 20 มิถุนายน 2562
โดย chatee supasand พฤ 20 มิ.ย. 2019 10:11 am บอร์ด MT33 - นายชาตรี สุภาแสน
0
1
พฤ 20 มิ.ย. 2019 10:11 am โดย chatee supasand
งานประจำวันที่ 20 มิถุนายน 2562
โดย EyePornnipa พฤ 20 มิ.ย. 2019 10:09 am บอร์ด M089 - นางสาวพรนิภา ราชธานี
0
5
พฤ 20 มิ.ย. 2019 10:09 am โดย EyePornnipa
งานประจำวันที่ 20 มิถุนายน 2562
โดย jamepiyawat พฤ 20 มิ.ย. 2019 10:08 am บอร์ด M084 - นายปิยวัช เชาว์วิมล
0
2
พฤ 20 มิ.ย. 2019 10:08 am โดย jamepiyawat
งานประจำวันที่ 20 มิถุนายน 2562
โดย jirawoot พฤ 20 มิ.ย. 2019 9:55 am บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
0
2
พฤ 20 มิ.ย. 2019 9:55 am โดย jirawoot
ลง Ubuntu แล้ว connect wifi ไม่ได้ เป็นเพราะอะไรหรอครับ
โดย Anonymous พ 19 มิ.ย. 2019 9:17 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
12
พ 19 มิ.ย. 2019 9:17 pm โดย บุคคลทั่วไป
B. Access Denied
โดย jirawoot พ 19 มิ.ย. 2019 7:17 pm บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
0
2
พ 19 มิ.ย. 2019 7:17 pm โดย jirawoot
รายงาน สอนการตั้งกระทู้คำถามในบอร์ด PHP
โดย chatee supasand พ 19 มิ.ย. 2019 7:00 pm บอร์ด MT33 - นายชาตรี สุภาแสน
0
1
พ 19 มิ.ย. 2019 7:00 pm โดย chatee supasand
หลักการในการตั้งกระทุ้ สอบถามปัญหา การเขียนโปรแกรม
โดย Ittichai_chupol พ 19 มิ.ย. 2019 6:57 pm บอร์ด Share Knowledge
0
7
พ 19 มิ.ย. 2019 6:57 pm โดย Ittichai_chupol
ฺB - ทดสอบ Report BUG tool_calculate_home_loan
โดย Patipat พ 19 มิ.ย. 2019 6:42 pm บอร์ด M088 - ปฏิภัทร สารธรรม
0
4
พ 19 มิ.ย. 2019 6:42 pm โดย Patipat
สอบถามเรื่อง การแปลงค่าชนิดของ python ของตัวแปร list ว่าทำไมถึง error ตรง print(cmp(list1, list2)) (test)
โดย jirawoot พ 19 มิ.ย. 2019 6:39 pm บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
0
3
พ 19 มิ.ย. 2019 6:39 pm โดย jirawoot
B-tools dencode ไม่มีช่องให้กรอก URL Enecode (ทดสอบ Report bug)
โดย jamepiyawat พ 19 มิ.ย. 2019 6:38 pm บอร์ด M084 - นายปิยวัช เชาว์วิมล
1
7
พ 19 มิ.ย. 2019 6:41 pm โดย tatiya
VDO - เรียนรู้ฐานข้อมูล OpenERP มาตรฐาน
โดย EyePornnipa พ 19 มิ.ย. 2019 6:29 pm บอร์ด M089 - นางสาวพรนิภา ราชธานี
0
9
พ 19 มิ.ย. 2019 6:29 pm โดย EyePornnipa
Libra คืออะไร
โดย jirawoot พ 19 มิ.ย. 2019 5:21 pm บอร์ด Share Knowledge
0
11
พ 19 มิ.ย. 2019 5:21 pm โดย jirawoot
หาเพลงใหม่ ๆ ด้วย google
โดย jamepiyawat พ 19 มิ.ย. 2019 5:03 pm บอร์ด Share Knowledge
0
10
พ 19 มิ.ย. 2019 5:03 pm โดย jamepiyawat
ลุ้นยิ่งกว่าการส่งงาน ก็ก่อนส่งงานนี้แหละ
โดย chatee supasand พ 19 มิ.ย. 2019 4:39 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
10
พ 19 มิ.ย. 2019 4:39 pm โดย chatee supasand
วิธีแสดงข้อมูลเฉพาะ keyword youtube ด้วย php
โดย jamepiyawat พ 19 มิ.ย. 2019 4:37 pm บอร์ด PHP Knowledge
0
14
พ 19 มิ.ย. 2019 4:37 pm โดย jamepiyawat
ฟังก์ชัน Built in List ทำไมถึง error ที่ print(cmp(list1, list2))
โดย jirawoot พ 19 มิ.ย. 2019 4:21 pm บอร์ด Programming - C/C++ & java & Python
2
19
พ 19 มิ.ย. 2019 6:50 pm โดย tatiya
Feature ใหม่ของ Firefox 67
โดย chatee supasand พ 19 มิ.ย. 2019 3:54 pm บอร์ด Share Knowledge
0
6
พ 19 มิ.ย. 2019 3:54 pm โดย chatee supasand
ทำไมที่ตัวแปร var_long ถึง error ครับ
โดย jirawoot พ 19 มิ.ย. 2019 3:50 pm บอร์ด Programming - C/C++ & java & Python
0
7
พ 19 มิ.ย. 2019 3:50 pm โดย jirawoot
เติมข้อความต่อจากข้อมูลตัวเลข ในกราฟ High Chart กราฟแบบStack Chart
โดย Patipat พ 19 มิ.ย. 2019 3:41 pm บอร์ด PHP Knowledge
0
4
พ 19 มิ.ย. 2019 3:41 pm โดย Patipat