นี่คือตัวอย่าง
import numpy as np
import matplotlib.pyplot as plt
x = np.random.rand(100)
y = np.random.rand(100)
t = np.arange(100)
plt.scatter(x, y, c=t)
plt.show()
ที่นี่คุณจะตั้งค่าสีบนพื้นฐานของดัชนีซึ่งเป็นเพียงอาร์เรย์ของ
t
[1, 2, ..., 100]

บางทีตัวอย่างที่เข้าใจง่ายกว่านั้นอาจจะง่ายกว่าเล็กน้อย
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(100)
y = x
t = x
plt.scatter(x, y, c=t)
plt.show()

โปรดทราบว่าอาร์เรย์ที่คุณส่งผ่านc
ไม่จำเป็นต้องมีลำดับหรือประเภทใด ๆ โดยเฉพาะกล่าวคือไม่จำเป็นต้องเรียงลำดับหรือจำนวนเต็มเหมือนในตัวอย่างเหล่านี้ รูทีนการพล็อตจะปรับขนาด Colormap เพื่อให้ค่าต่ำสุด / สูงสุดc
สอดคล้องกับด้านล่าง / ด้านบนของ colormap
Colormaps
คุณสามารถเปลี่ยน colormap ได้โดยเพิ่ม
import matplotlib.cm as cm
plt.scatter(x, y, c=t, cmap=cm.cmap_name)
การนำเข้าmatplotlib.cm
เป็นทางเลือกเนื่องจากคุณสามารถเรียก colormaps ได้cmap="cmap_name"
เช่นกัน มีหน้าอ้างอิงของ colormaps ที่แสดงให้เห็นว่าแต่ละส่วนมีลักษณะอย่างไร โปรดทราบด้วยว่าคุณสามารถย้อนกลับ colormap ได้โดยเรียกมันว่าcmap_name_r
. อย่างใดอย่างหนึ่ง
plt.scatter(x, y, c=t, cmap=cm.cmap_name_r)
plt.scatter(x, y, c=t, cmap="cmap_name_r")
จะทำงาน. ตัวอย่างคือ"jet_r"
หรือcm.plasma_r
. นี่คือตัวอย่างของ viridis 1.5 colormap ใหม่:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(100)
y = x
t = x
fig, (ax1, ax2) = plt.subplots(1, 2)
ax1.scatter(x, y, c=t, cmap='viridis')
ax2.scatter(x, y, c=t, cmap='viridis_r')
plt.show()

แถบสี
คุณสามารถเพิ่มแถบสีได้โดยใช้
plt.scatter(x, y, c=t, cmap='viridis')
plt.colorbar()
plt.show()

โปรดทราบว่าหากคุณใช้ตัวเลขและพล็อตย่อยอย่างชัดเจน (เช่นfig, ax = plt.subplots()
หรือax = fig.add_subplot(111)
) การเพิ่มแถบสีอาจมีส่วนเกี่ยวข้องมากขึ้นเล็กน้อย ตัวอย่างที่ดีสามารถพบได้ที่นี่สำหรับแถบสีจุดย่อยเดียวและที่นี่สำหรับ 2 จุดย่อย 1 แถบสี
plt.colorbar()
คำสั่ง