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

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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
B - ไม่สามารถ add user ตรงเมนุ User Form หลังบ้าน [2019-07][001]
โดย tsukasaz พ 10 ก.ค. 2019 9:37 am บอร์ด IIEC - Feedback Service System - Tester
1
7
พ 10 ก.ค. 2019 11:35 am โดย tsukasaz
วีดีโอสอน เขียนบทความ แล้ว เอาโมดูลมาใส่
โดย mindphp อ 09 ก.ค. 2019 8:10 pm บอร์ด Joomla user Guide Knowledge
0
48
อ 09 ก.ค. 2019 8:10 pm โดย mindphp
เปลี่ยนธีม Youtuber เป็นสีดำกันเถอะ
โดย jamepiyawat อ 09 ก.ค. 2019 6:57 pm บอร์ด Share Knowledge
0
43
อ 09 ก.ค. 2019 6:57 pm โดย jamepiyawat
ทำแว่นขยายขยายภาพบางส่วนด้วย freephototool.com
โดย jamepiyawat อ 09 ก.ค. 2019 6:21 pm บอร์ด Graphic design
1
44
อ 09 ก.ค. 2019 7:52 pm โดย thatsawan
FAQ - MooZiiCart คำถามที่พบบ่อย สำหรับการทำวเว็บขายของด้วย MooZiiCart
โดย Patipat อ 09 ก.ค. 2019 6:16 pm บอร์ด M088 - ปฏิภัทร สารธรรม
2
10
อ 09 ก.ค. 2019 6:45 pm โดย Patipat
ฟังก์ชัน http_build_query - ใช้แปลงเป็น String ใน Arrayที่ได้กำหนดไว้แล้ว แปลงให้เป็นรหัสในการเข้า URL
โดย Patipat อ 09 ก.ค. 2019 5:27 pm บอร์ด PHP Knowledge
0
31
อ 09 ก.ค. 2019 5:27 pm โดย Patipat
อยากทราบวิธีการดึงภาพสินค้าออกมาแสดง ครับ
โดย jamepiyawat อ 09 ก.ค. 2019 4:48 pm บอร์ด Joomla Development
2
56
อ 09 ก.ค. 2019 5:06 pm โดย jamepiyawat
upload file ในภาษา Python
โดย jirawoot อ 09 ก.ค. 2019 4:46 pm บอร์ด Python Knowledge
0
40
อ 09 ก.ค. 2019 4:46 pm โดย jirawoot
ฟังก์ชัน rawurldecode () และ rawurlencode ()
โดย Patipat อ 09 ก.ค. 2019 4:09 pm บอร์ด PHP Knowledge
0
34
อ 09 ก.ค. 2019 4:09 pm โดย Patipat
การใช้ option output ของ curl
โดย jirawoot อ 09 ก.ค. 2019 2:48 pm บอร์ด Share Knowledge
0
43
อ 09 ก.ค. 2019 2:48 pm โดย jirawoot
เมื่อเราซื้อไอติมมาแล้ว เพื่อนขอชิมนิดนึง
โดย chatee supasand อ 09 ก.ค. 2019 2:30 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
38
อ 09 ก.ค. 2019 2:30 pm โดย chatee supasand
5 วิธีทำให้ Windows 10 มีพื้นที่ว่างมากขึ้น
โดย chatee supasand อ 09 ก.ค. 2019 11:55 am บอร์ด Microsoft Office Knowledge & line & Etc
0
42
อ 09 ก.ค. 2019 11:55 am โดย chatee supasand
อยากให้แสดงชื่อสินค้าแบบสุ่มครับ
โดย jamepiyawat อ 09 ก.ค. 2019 11:19 am บอร์ด Joomla Development
5
78
อ 09 ก.ค. 2019 4:18 pm โดย jamepiyawat
งานประจำวันที่ 9 กรกฎาคม 2562
โดย Patipat อ 09 ก.ค. 2019 10:23 am บอร์ด M088 - ปฏิภัทร สารธรรม
1
6
อ 09 ก.ค. 2019 8:16 pm โดย Patipat
งานปรพจำวันที่ 9 กรกฎาคม 2562
โดย jamepiyawat อ 09 ก.ค. 2019 10:10 am บอร์ด M084 - นายปิยวัช เชาว์วิมล
1
11
อ 09 ก.ค. 2019 8:20 pm โดย jamepiyawat
งานประจำวันที่ 9 กรกฏาคม 2562
โดย chatee supasand อ 09 ก.ค. 2019 10:08 am บอร์ด MT33 - นายชาตรี สุภาแสน
1
5
อ 09 ก.ค. 2019 7:07 pm โดย chatee supasand
งานประจำวันที่ 9 กรกฎาคม 2562
โดย EyePornnipa อ 09 ก.ค. 2019 10:00 am บอร์ด M089 - นางสาวพรนิภา ราชธานี
3
30
อ 09 ก.ค. 2019 7:21 pm โดย EyePornnipa
งานประจำวันที่ 9 กรกฎาคม 2562
โดย jirawoot อ 09 ก.ค. 2019 9:54 am บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
1
6
อ 09 ก.ค. 2019 2:50 pm โดย jirawoot
สร้าง ไฟล์ จาก Google Present ยังไง
โดย EyePornnipa จ 08 ก.ค. 2019 6:59 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
5
91
จ 08 ก.ค. 2019 9:34 pm โดย thatsawan
วิธีอัพเดท firefox บน ubuntu
โดย jamepiyawat จ 08 ก.ค. 2019 6:56 pm บอร์ด Linux - Web Server
0
52
จ 08 ก.ค. 2019 6:56 pm โดย jamepiyawat