ภาพรวม
สร้างวงกลมซ้อนกันหลายชั้น สีตามลำดับสีรุ้ง ใช้ 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 ชั้น

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