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

การเลือกตัวแปรที่เหมาะสมสำหรับการเข้ารหัสด้วยสี

โจทย์คือการแสดงภาพค่ามลพิษของ Long Beach และเมืองใกล้เคียงในช่วงเวลาต่าง ๆ โค้ดที่ให้มาสร้างกราฟด้านล่าง (ซึ่งอ่านยาก) โดยแสดงค่ามลพิษสูงสุด (ส่งมาในชื่อ max_pollutant_values) และใช้สีของแท่งแทนค่าเมือง

Mutlicolor and busy bar plots with four rows corresponding to the four pollutants in dataset

ปรับแต่งเพียงเล็กน้อยก็ช่วยให้กราฟดูดีขึ้นได้มาก ด้วยการเลือกแสดงเฉพาะเมืองในฝั่งตะวันตกของประเทศ กราฟจะไม่รกตา จากนั้นการสลับการเข้ารหัสสีจาก city เป็น year ช่วยให้ใช้พาเลตต์แบบอันดับได้ และผู้อ่านไม่ต้องคอยดูคำอธิบายสัญลักษณ์ตลอดเวลาเพื่อตรวจสอบว่าสีใดแทนเมืองใด

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

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

ดูคอร์ส

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

  • ลบ 'Indianapolis', 'Des Moines', 'Cincinnati', 'Houston' ออกจากเวกเตอร์ cities
  • สลับการเข้ารหัสระหว่างตัวแปร city และ year
  • ใช้พาเลตต์ ColorBrewer 'BuGn' เพื่อกำหนดสีให้เหมาะสมกับตัวแปรที่เป็นแบบอันดับที่เพิ่งกำหนดขึ้นใหม่

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

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

# Reduce to just cities in the western half of US
cities = ['Fairbanks', 'Long Beach', 'Vandenberg Air Force Base', 'Denver', 
          'Indianapolis', 'Des Moines', 'Cincinnati', 'Houston']

# Filter data to desired cities
city_maxes = max_pollutant_values[max_pollutant_values.city.isin(cities)]

# Swap city and year encodings
sns.catplot(x = 'year', hue = 'city',
              y = 'value', row = 'pollutant',    
              # Change palette to one appropriate for ordinal categories
              data = city_maxes, palette = 'muted',
              sharey = False, kind = 'bar')
plt.show()
แก้ไขและรันโค้ด