ตัวอย่างการใช้งานโมดูล 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)

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ภาษา Lua ตอนที่ 6 : ชนิดข้อมูล Table (1)
โดย worramaitk พฤ 18 ม.ค. 2024 3:34 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
340
พฤ 18 ม.ค. 2024 3:34 pm โดย worramaitk View Topic ภาษา Lua ตอนที่ 6 : ชนิดข้อมูล Table (1)
การใช้งานโปรแกรมเครื่องคิดเลขโอเพนซอร์ส Qalculate! สำหรับคำนวณสิ่งต่างๆ ในชีวิตประจำวัน
โดย worramaitk พฤ 18 ม.ค. 2024 3:10 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
241
พฤ 18 ม.ค. 2024 3:10 pm โดย worramaitk View Topic การใช้งานโปรแกรมเครื่องคิดเลขโอเพนซอร์ส Qalculate! สำหรับคำนวณสิ่งต่างๆ ในชีวิตประจำวัน
รีวิวเครื่องปริ้นสำนักงานที่ใช้กันหน่อยค่ะว่าดีไหม พอดีอยากได้เครื่องปริ้นใหม่ค่ะ
โดย Narisara พฤ 18 ม.ค. 2024 1:29 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
5
651
ศ 26 ม.ค. 2024 12:33 pm โดย noncup302 View Topic รีวิวเครื่องปริ้นสำนักงานที่ใช้กันหน่อยค่ะว่าดีไหม พอดีอยากได้เครื่องปริ้นใหม่ค่ะ
ภาษา Lua ตอนที่ 5 : ชนิดข้อมูล Number
โดย worramaitk พฤ 18 ม.ค. 2024 1:14 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
248
พฤ 18 ม.ค. 2024 1:14 pm โดย worramaitk View Topic ภาษา Lua ตอนที่ 5 : ชนิดข้อมูล Number
ภาษา Lua ตอนที่ 4 : ชนิดข้อมูล String
โดย worramaitk พฤ 18 ม.ค. 2024 12:32 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
214
พฤ 18 ม.ค. 2024 12:32 pm โดย worramaitk View Topic ภาษา Lua ตอนที่ 4 : ชนิดข้อมูล String
ภาษา Lua ตอนที่ 3 : ชนิดข้อมูล nil กับ boolean
โดย worramaitk พฤ 18 ม.ค. 2024 11:34 am บอร์ด Microsoft Office Knowledge & line & Etc
0
219
พฤ 18 ม.ค. 2024 11:34 am โดย worramaitk View Topic ภาษา Lua ตอนที่ 3 : ชนิดข้อมูล nil กับ boolean
ภาษา Lua ตอนที่ 2 : พื้นฐานตัวแปร
โดย worramaitk พฤ 18 ม.ค. 2024 10:56 am บอร์ด Microsoft Office Knowledge & line & Etc
0
218
พฤ 18 ม.ค. 2024 10:56 am โดย worramaitk View Topic ภาษา Lua ตอนที่ 2 : พื้นฐานตัวแปร
ภาษา Lua ตอนที่ 1: รู้จักพื้นฐานของภาษา จะได้เขียนโปรแกรมได้ง่ายขึ้น
โดย worramaitk พฤ 18 ม.ค. 2024 10:54 am บอร์ด Microsoft Office Knowledge & line & Etc
0
226
พฤ 18 ม.ค. 2024 10:54 am โดย worramaitk View Topic ภาษา Lua ตอนที่ 1: รู้จักพื้นฐานของภาษา จะได้เขียนโปรแกรมได้ง่ายขึ้น