Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีพลอตวงกลมสีรุ้ง (Rainbow Circle) ใน Matplotlib

ภาพรวม

สร้างวงกลมซ้อนกันหลายชั้น สีตามลำดับสีรุ้ง ใช้ plt.Circle และ ax.add_artist()

ขั้นตอนการทำงาน

  • กำหนดขนาดฟิกเกอร์
  • สร้าง figure และ axes ตั้งค่า aspect ratio เท่ากัน (plt.axis("equal"))
  • กำหนด list สีรุ้ง 7 สี
  • วนลูปสร้าง Circle รัศมีลดลงเรื่อยๆ ตำแหน่ง (0,0)
  • เพิ่มแต่ละวงกลมลง axes
  • แสดงผล

ตัวอย่างโค้ด

import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 5.50]
plt.rcParams["figure.autolayout"] = True

fig, ax = plt.subplots()
plt.axis("equal")
ax.set(xlim=(-10, 10), ylim=(-10, 10))

rainbow = ['violet', 'indigo', 'blue', 'green', 'yellow', 'orange', 'red']

for i in range(7):
    c = plt.Circle((0, 0), 7 - i, fill=True, color=rainbow[i])
    ax.add_artist(c)

plt.show()

ผลลัพธ์

วงกลม同心 (concentric circles) สีรุ้ง 7 ชั้น

วิธีพลอตวงกลมสีรุ้ง (Rainbow Circle) ใน Matplotlib วิธีพลอตวงกลมสีรุ้ง (Rainbow Circle) ใน Matplotlib

ประยุกต์ใช้

  • เปลี่ยน fill=False เพื่อได้แค่เส้นขอบ
  • เพิ่ม alpha สำหรับความโปร่งใส
  • ใช้ edgecolor และ linewidth ควบคุมขอบ