เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ทำความสะอาดพื้นหลังกราฟ

ระหว่างที่สำรวจรูปแบบระดับรัฐของสินค้าที่จำหน่ายในตลาดของเกษตรกร พบว่าบางรัฐโดดเด่นขึ้นมาเป็นพิเศษ โดย North Dakota และ New Mexico มักติดอันดับท้ายๆ ในแง่สัดส่วนของตลาดที่จำหน่ายสินค้าแต่ละประเภท ในขณะที่ Vermont มักอยู่ในอันดับต้นๆ เสมอ จึงต้องการนำเสนอรูปแบบทั่วไปของการจำหน่ายสินค้าตามรัฐ พร้อมทั้งเน้นให้เห็นรัฐที่น่าสนใจเหล่านี้ด้วย

สร้าง scatter plot ของสินค้าแต่ละประเภทตามสัดส่วนของตลาดที่จำหน่ายสินค้านั้นในแต่ละรัฐ เพื่อเน้นรัฐที่น่าสนใจ ให้ลากเส้นเชื่อมระหว่างจุดข้อมูลของแต่ละรัฐ และเพื่อให้กราฟดูสะอาดและเรียบง่าย ให้ลดองค์ประกอบพื้นหลังให้เหลือเพียงเส้นกริดที่ช่วยอ้างอิงตำแหน่ง

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การพัฒนาการแสดงผลข้อมูลใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ตั้งค่าพื้นหลังของกราฟให้เป็นสีขาวพร้อมเส้นกริด
  • กำหนดแกน x และแกน y ของ scatter plot และ line plot ด้วย 'good' (สินค้าที่จำหน่าย) และ 'prop selling' ตามลำดับ
  • ลบเส้นขอบ ทั้งหมด ออกจากกราฟ จำไว้ว่าโดยค่าเริ่มต้น sns.despine() จะลบเฉพาะเส้นขอบด้านบนและด้านขวาเท่านั้น!

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Set background to white with grid
sns.set_style('____')

plt.scatter('____','____', marker = '_', alpha = 0.7, data = goods_by_state)

# Draw lines across goods for highlighted states
highlighted = goods_by_state.query("state in ['New Mexico','North Dakota','Vermont']")
sns.lineplot('____','____', 'state', data = highlighted, legend = False)

# Draw state name at end of lines
last_rows = highlighted.groupby('state', as_index = False).agg('first')
for _,row in last_rows.iterrows():
    plt.annotate(row['state'], (row['good'], row['prop selling']),
                 ha = 'right', xytext = (5,0), textcoords = 'offset pixels')

# Remove all borders
sns.____(____ = ____, ____ = ____)
plt.show()
แก้ไขและรันโค้ด