Seaborn - รูปงาม
การแสดงภาพข้อมูลเป็นขั้นตอนหนึ่งและการทำให้ข้อมูลที่แสดงภาพเป็นที่ชื่นชอบมากขึ้นเป็นอีกขั้นหนึ่ง การแสดงภาพมีบทบาทสำคัญในการสื่อสารข้อมูลเชิงลึกเชิงปริมาณไปยังผู้ชมเพื่อดึงดูดความสนใจของพวกเขา
สุนทรียศาสตร์หมายถึงชุดของหลักการที่เกี่ยวข้องกับธรรมชาติและการชื่นชมความงามโดยเฉพาะอย่างยิ่งในงานศิลปะ การแสดงภาพเป็นศิลปะในการนำเสนอข้อมูลด้วยวิธีที่มีประสิทธิภาพและง่ายที่สุด
ไลบรารี Matplotlib สนับสนุนการปรับแต่งอย่างมาก แต่การรู้ว่าควรปรับแต่งการตั้งค่าใดเพื่อให้ได้พล็อตที่น่าสนใจและคาดหวังเป็นสิ่งที่ควรทราบเพื่อใช้ประโยชน์จากมัน ซึ่งแตกต่างจาก Matplotlib Seaborn มาพร้อมกับธีมที่กำหนดเองและอินเทอร์เฟซระดับสูงสำหรับการปรับแต่งและควบคุมรูปลักษณ์ของตัวเลข Matplotlib
ตัวอย่าง
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5): 
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
sinplot()
plt.show() 
    นี่คือลักษณะของพล็อตที่มีค่าเริ่มต้น Matplotlib -
                หากต้องการเปลี่ยนพล็อตเดียวกันเป็นค่าเริ่มต้นของ Seaborn ให้ใช้ไฟล์ set() ฟังก์ชัน -
ตัวอย่าง
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set()
sinplot()
plt.show() 
    เอาต์พุต
                ตัวเลขสองตัวข้างต้นแสดงความแตกต่างในแผนเริ่มต้นของ Matplotlib และ Seaborn การแสดงข้อมูลเหมือนกัน แต่รูปแบบการเป็นตัวแทนจะแตกต่างกันไปทั้งสองอย่าง
โดยพื้นฐานแล้ว Seaborn จะแยกพารามิเตอร์ Matplotlib ออกเป็นสองกลุ่ม
- รูปแบบพล็อต
 - พล็อตมาตราส่วน
 
รูปแบบของ Seaborn
อินเทอร์เฟซสำหรับการจัดการสไตล์คือ set_style(). การใช้ฟังก์ชันนี้คุณสามารถกำหนดธีมของพล็อตได้ ตามเวอร์ชันอัปเดตล่าสุดด้านล่างนี้คือห้าธีมที่มีให้
- Darkgrid
 - Whitegrid
 - Dark
 - White
 - Ticks
 
ให้เราลองใช้ชุดรูปแบบจากรายการดังกล่าวข้างต้น ธีมเริ่มต้นของพล็อตจะเป็นdarkgrid ซึ่งเราได้เห็นในตัวอย่างก่อนหน้านี้
ตัวอย่าง
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("whitegrid")
sinplot()
plt.show() 
    เอาต์พุต
                ความแตกต่างระหว่างสองแปลงข้างต้นคือสีพื้นหลัง
การถอดกระดูกสันหลังของแกน
ในธีมสีขาวและขีดเราสามารถลบแกนด้านบนและด้านขวาได้โดยใช้ despine() ฟังก์ชัน
ตัวอย่าง
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("white")
sinplot()
sb.despine()
plt.show() 
    เอาต์พุต
                ในแปลงปกติเราใช้แกนซ้ายและแกนล่างเท่านั้น ใช้despine() ฟังก์ชันเราสามารถหลีกเลี่ยงกระดูกสันหลังด้านขวาและด้านบนที่ไม่จำเป็นซึ่งไม่รองรับใน Matplotlib
การลบล้างองค์ประกอบ
หากคุณต้องการปรับแต่งสไตล์ Seaborn คุณสามารถส่งพจนานุกรมพารามิเตอร์ไปยังไฟล์ set_style() ฟังก์ชัน พารามิเตอร์ที่มีให้ดูโดยใช้axes_style() ฟังก์ชัน
ตัวอย่าง
import seaborn as sb
print sb.axes_style 
    เอาต์พุต
{'axes.axisbelow'     : False,
'axes.edgecolor'      : 'white',
'axes.facecolor'      : '#EAEAF2',
'axes.grid'           : True,
'axes.labelcolor'     : '.15',
'axes.linewidth'      : 0.0,
'figure.facecolor'    : 'white',
'font.family'         : [u'sans-serif'],
'font.sans-serif'     : [u'Arial', u'Liberation  
                        Sans', u'Bitstream Vera Sans', u'sans-serif'],
'grid.color'          : 'white',
'grid.linestyle'      : u'-',
'image.cmap'          : u'Greys',
'legend.frameon'      : False,
'legend.numpoints'    : 1,
'legend.scatterpoints': 1,
'lines.solid_capstyle': u'round',
'text.color'          : '.15',
'xtick.color'         : '.15',
'xtick.direction'     : u'out',
'xtick.major.size'    : 0.0,
'xtick.minor.size'    : 0.0,
'ytick.color'         : '.15',
'ytick.direction'     : u'out',
'ytick.major.size'    : 0.0,
'ytick.minor.size'    : 0.0} 
    การแก้ไขค่าของพารามิเตอร์ใด ๆ จะเปลี่ยนรูปแบบการลงจุด
ตัวอย่าง
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("darkgrid", {'axes.axisbelow': False})
sinplot()
sb.despine()
plt.show() 
    เอาต์พุต
                องค์ประกอบแผนภาพมาตราส่วน
นอกจากนี้เรายังมีการควบคุมองค์ประกอบของพล็อตและสามารถควบคุมขนาดของพล็อตโดยใช้ set_context()ฟังก์ชัน เรามีเทมเพลตที่ตั้งไว้ล่วงหน้าสี่แบบสำหรับบริบทตามขนาดสัมพัทธ์บริบทมีชื่อดังนี้
- Paper
 - Notebook
 - Talk
 - Poster
 
โดยค่าเริ่มต้นบริบทจะถูกตั้งค่าเป็นสมุดบันทึก และถูกใช้ในแปลงข้างต้น
ตัวอย่าง
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("darkgrid", {'axes.axisbelow': False})
sinplot()
sb.despine()
plt.show() 
    เอาต์พุต
                ขนาดผลผลิตของแปลงจริงมีขนาดใหญ่กว่าเมื่อเทียบกับแปลงข้างต้น
Note - เนื่องจากการปรับขนาดภาพบนหน้าเว็บของเราคุณอาจพลาดความแตกต่างที่แท้จริงในตัวอย่างของเรา