Hướng dẫn sử dụng Python Seaborn: Seaborn là gì và Cách sử dụng nó?



Hướng dẫn Python Seaborn cùng sự khác biệt giữa seaborn và matplotlib. Cũng tìm hiểu về các chức năng khác nhau và các tùy chỉnh có sẵn trong seaborn.

Python là một kho chứa nhiều thư viện và khung công tác vô cùng mạnh mẽ. Trong số đó, là Seaborn, cái nào là thống trị trực quan hóa dữ liệu thư viện, cung cấp một lý do khác để các lập trình viên hoàn thành . Trong Hướng dẫn Python Seaborn này, bạn sẽ hiểu rõ hơn tất cả các kiến ​​thức trực quan hóa dữ liệu bằng Seaborn.

Trước khi tiếp tục, hãy lướt qua tất cả các chủ đề thảo luận trong bài viết này:





Vì vậy, trước tiên hãy bắt đầu bằng cách suy luận về tầm quan trọng của Python Seaborn.

Tại sao sử dụng Python Seaborn?

Như đã đề cập trước đó, thư viện Python Seaborn được sử dụng để giảm bớt nhiệm vụ khó khăn về trực quan hóa dữ liệu và nó dựa trên . Seaborn cho phép tạo đồ họa thống kê thông qua các chức năng sau:



  • Một API dựa trên tập dữ liệu cho phép so sánh giữa nhiều biến

  • Hỗ trợ lưới nhiều ô để dễ dàng xây dựng các hình ảnh trực quan phức tạp

  • Hình ảnh hóa đơn biến và lưỡng biến có sẵn để so sánh giữa các tập hợp con dữ liệu



  • Có sẵn các bảng màu khác nhau để hiển thị nhiều loại mẫu khác nhau

  • Ước tính và âm mưu tự động

Vì vậy, nếu bạn đang tự hỏi tại sao sử dụng Seaborn khi bạn đã có Matplotlib, thì đây là câu trả lời cho nó.

Python Seaborn vs Matplotlib:

“Nếu Matplotlib“ cố gắng biến những điều dễ dàng trở nên dễ dàng và những điều khó thành có thể ”, thì seaborn cũng cố gắng biến những điều khó khăn trở nên dễ dàng” - Michael Waskom (Người tạo ra Seaborn).
Trên thực tế, Matplotlib tốt nhưng Seaborn còn tốt hơn. Về cơ bản có hai thiếu sót của Matplotlib mà Seaborn khắc phục:

  1. Matplotlib có thể được cá nhân hóa nhưng rất khó để tìm ra những cài đặt nào cần thiết để làm cho các âm mưu hấp dẫn hơn. Mặt khác, Seaborn đi kèm với nhiều chủ đề tùy chỉnh và giao diện cấp cao để giải quyết vấn đề này.

  2. Khi làm việc với Gấu trúc , Matplotlib không hoạt động tốt khi xử lý DataFrames, trong khi các hàm Seaborn thực sự hoạt động trên DataFrames.

Làm thế nào để cài đặt Seaborn?

Để cài đặt thư viện Python Seaborn, bạn có thể sử dụng các lệnh sau dựa trên nền tảng bạn sử dụng:

pip cài đặt seaborn

hoặc là

chung cư cài đặt seaborn

Sau khi cài đặt này, chỉ cần đảm bảo cài đặt các gói và thư viện mà seaborn phụ thuộc vào.

Cài đặt Python Seaborn Dependencies:

Các yếu tố phụ thuộc bắt buộc đối với trẻ sơ sinh là:

Có một phụ thuộc được khuyến nghị cũng là:

  • mô hình trạng thái

Để cài đặt các thư viện này, bạn có thể sử dụng các lệnh tương tự như được hiển thị trước đó cho Seaborn với tên tương ứng của chúng. Sau khi cài đặt, chúng có thể được nhập dễ dàng. Seaborn cho phép bạn tải bất kỳ tập dữ liệu nào từ sử dụng load_dataset () chức năng. Bạn cũng có thể xem tất cả các tập dữ liệu có sẵn bằng cách sử dụng hàm get_dataset_names () như sau:

THÍ DỤ:

nhập seaborn dưới dạng sns sns.get_dataset_names ()

Thao tác này sẽ trả về danh sách tất cả các bộ dữ liệu có sẵn.
Bây giờ bạn đã thiết lập môi trường của mình để làm việc với seaborn, hãy tiếp tục để xem cách sử dụng các chức năng vẽ sơ đồ của nó trong .

Các chức năng vẽ sơ đồ

Hình dung các mối quan hệ thống kê:

Quá trình tìm hiểu mối quan hệ giữa các biến của tập dữ liệu và cách thức các mối quan hệ này phụ thuộc vào các biến khác được gọi là phân tích thống kê. Bây giờ chúng ta hãy xem xét sâu hơn các chức năng cần thiết cho việc này:

relplot ():

Đây là một hàm cấp hình sử dụng hai hàm trục khác để Hình dung các Mối quan hệ Thống kê là:

  • scatterplot ()
  • lineplot ()

Các hàm này có thể được chỉ định bằng cách sử dụng tham số ‘kind’ của relplot (). Trong trường hợp tham số này được đưa ra, nó sẽ lấy giá trị mặc định là scatterplot (). Trước khi bạn bắt đầu viết mã của mình, hãy đảm bảo nhập các thư viện bắt buộc như sau:

khớp nối chặt so với khớp nối lỏng lẻo
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns sns.set (style = 'darkgrid')

Xin lưu ý rằng thuộc tính style cũng có thể tùy chỉnh và có thể nhận bất kỳ giá trị nào như darkgrid, tick, v.v. mà tôi sẽ thảo luận sau trong phần cốt truyện-thẩm mỹ. Bây giờ chúng ta hãy xem xét một ví dụ nhỏ:

THÍ DỤ:

f = sns.load_dataset ('chuyến bay') sns.relplot (x = 'hành khách', y = 'tháng', dữ liệu = f)

ĐẦU RA:

Chuyến bay1-Python Seaborn Tutorial-Edureka

Như bạn có thể thấy, các điểm được vẽ theo 2 chiều. Tuy nhiên, bạn có thể thêm một thứ nguyên khác bằng cách sử dụng ngữ nghĩa ‘hue’. Chúng ta hãy xem một ví dụ tương tự:

THÍ DỤ:

f = sns.load_dataset ('chuyến bay') sns.relplot (x = 'hành khách', y = 'tháng', hue = 'năm', dữ liệu = f)

Bạn sẽ thấy kết quả sau:

ĐẦU RA:

Tuy nhiên, có rất nhiều tùy chỉnh khác mà bạn có thể thử như màu sắc, kiểu dáng, kích thước, v.v. Hãy để tôi chỉ cách bạn có thể thay đổi màu trong ví dụ sau:

THÍ DỤ:

sns.set (style = 'darkgrid') f = sns.load_dataset ('chuyến bay') sns.relplot (x = 'hành khách', y = 'tháng', hue = 'năm', Palette = 'ch: r = - 0,5, l = 0,75 ', dữ liệu = f)

ĐẦU RA:

lineplot ():

Chức năng này sẽ cho phép bạn vẽ một đường liên tục cho dữ liệu của mình. Bạn có thể sử dụng hàm này bằng cách thay đổi tham số 'kind' như sau:

THÍ DỤ:

a = pd.DataFrame ({'Ngày': [1,2,3,4,5,6,7], 'Tạp hóa': [30,80,45,23,51,46,76], 'Quần áo' : [13,40,34,23,54,67,98], 'Đồ dùng': [12,32,27,56,87,54,34]}, index = [1,2,3,4,5 , 6,7]) g = sns.relplot (x = 'Ngày', y = 'Quần áo', kind = 'line', data = a) g.fig.autofmt_xdate ()

ĐẦU RA:

Mặc định cho lineplot là y như một hàm của x. Tuy nhiên, nó có thể được thay đổi nếu bạn muốn. Có nhiều tùy chọn khác mà bạn có thể thử thêm.

Bây giờ chúng ta hãy xem cách lập biểu đồ dữ liệu phân loại.

Lập đồ thị với dữ liệu phân loại:

Cách tiếp cận này đi vào hình ảnh khi biến chính của chúng ta được chia thành các nhóm rời rạc (phân loại). Điều này có thể đạt được bằng cách sử dụng hàm catplot ().

catplot ():

Đây là một hàm ở mức hình như relplot (). Nó có thể được đặc trưng bởi ba họ hàm cấp trục cụ thể là:

  1. Scatterplots - Chúng bao gồm Stripplot (), swarmplot ()

  2. Các ô phân phối - là boxplot (), violinplot (), boxenplot ()

  3. Ước tính các khe - cụ thể là pointplot (), barplot (), countplot ()

Bây giờ chúng ta hãy lấy một vài ví dụ để chứng minh điều này:

THÍ DỤ:

import seaborn dưới dạng sns import matplotlib.pyplot dưới dạng plt sns.set (style = 'ticks', color_codes = True) a = sns.load_dataset ('tips') sns.catplot (x = 'day', y = 'total_bill', data = a)

ĐẦU RA:

Như bạn có thể thấy, trong ví dụ trên, tôi chưa đặt tham số ‘kind’. Do đó, nó đã trả về biểu đồ dưới dạng biểu đồ phân tán mặc định. Bạn có thể chỉ định bất kỳ hàm mức trục nào để thay đổi biểu đồ khi cần thiết. Chúng ta cũng hãy lấy một ví dụ về điều này:

THÍ DỤ:

import seaborn dưới dạng sns import matplotlib.pyplot dưới dạng plt sns.set (style = 'ticks', color_codes = True) a = sns.load_dataset ('tips') sns.catplot (x = 'day', y = 'total_bill', kind = 'violin', data = a)

ĐẦU RA:

Kết quả ở trên hiển thị violonplot cho tập dữ liệu mẹo. Bây giờ chúng ta hãy thử tìm cách trực quan hóa sự phân bố của tập dữ liệu.

Hình dung sự phân phối của tập dữ liệu:

Điều này về cơ bản giải quyết việc hiểu các tập dữ liệu với ngữ cảnh là đơn biến hoặc song biến. Trước khi bắt đầu với điều này, chỉ cần nhập thông tin sau:

import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt from scipy import stats sns.set (color_codes = True)

Khi điều này được thực hiện, bạn có thể tiếp tục vẽ biểu đồ phân phối đơn biến và song biến.

Lập biểu đồ phân phối đơn biến:

Để vẽ chúng, bạn có thể sử dụng hàm distplot () như sau:

THÍ DỤ:

a = np.random.normal (loc = 5, size = 100, scale = 2) sns.distplot (a)

ĐẦU RA:

Như bạn có thể thấy trong ví dụ trên, chúng ta đã vẽ một đồ thị cho biến a có giá trị được tạo bởi hàm normal () bằng cách sử dụng distplot.

Lập đồ thị phân phối lưỡng biến:

Điều này xuất hiện khi bạn có hai biến độc lập ngẫu nhiên dẫn đến một số sự kiện có thể xảy ra. Hàm tốt nhất để vẽ các loại đồ thị này là Jointplot (). Bây giờ chúng ta hãy vẽ một đồ thị hai biến bằng cách sử dụng chungplot ().

THÍ DỤ:

x = pd.DataFrame ({'Ngày': [1,2,3,4,5,6,7], 'Tạp hóa': [30,80,45,23,51,46,76], 'Quần áo' : [13,40,34,23,54,67,98], 'Đồ dùng': [12,32,27,56,87,54,34]}, index = [1,2,3,4,5 , 6,7]) y = pd.DataFrame ({'Day': [8,9,10,11,12,13,14], 'Grocery': [30,80,45,23,51,46, 76], 'Quần áo': [13,40,34,23,54,67,98], 'Đồ dùng': [12,32,27,56,87,54,34]}, index = [8,9 , 10,11,12,13,14]) trung bình, cov = [0, 1], [(1, .5), (.5, 1)] data = np.random.multivariate_normal (trung bình, cov, 200 ) với sns.axes_style ('trắng'): sns.jointplot (x = x, y = y, kind = 'kde', color = 'b')

ĐẦU RA:

Bây giờ bạn đã hiểu các chức năng khác nhau trong Python Seaborn, hãy chuyển sang xây dựng các lưới nhiều ô có cấu trúc.

Lưới đa ô:

Python Seaborn cho phép bạn vẽ nhiều lưới song song với nhau. Về cơ bản, đây là những đồ thị hoặc đồ thị được vẽ bằng cách sử dụng cùng một tỷ lệ và trục để hỗ trợ so sánh giữa chúng. Điều này sẽ giúp lập trình viên phân biệt nhanh chóng giữa các ô và thu được một lượng lớn thông tin.

Hãy xem xét ví dụ sau về hàm facetgrid () để vẽ các đồ thị này.

THÍ DỤ:

sns.set (style = 'darkgrid') a = sns.load_dataset ('iris') b = sns.FacetGrid (a, col = 'loài') b.map (plt.hist, 'sepal_length')

ĐẦU RA:

Kết quả trên cho thấy rõ ràng sự so sánh giữa các mẹo được đưa ra trong Bữa trưa và Bữa tối. Bạn cũng có thể vẽ biểu đồ bằng cách sử dụng hàm PairGrid khi bạn có một cặp biến để so sánh. Hãy xem xét ví dụ sau.

THÍ DỤ:

sns.set (style = 'ticks') a = sns.load_dataset ('flight') b = sns.PairGrid (a) b.map (plt.scatter)

ĐẦU RA:

Như bạn thấy, sản lượng trên so sánh rõ ràng giữa năm và số lượng hành khách theo các cách khác nhau.

Seaborn cũng cho phép các tùy chỉnh về thẩm mỹ được thảo luận thêm.

Cốt truyện-Thẩm mỹ:

Phân đoạn này của hướng dẫn Python Seaborn đề cập đến việc làm cho các âm mưu của chúng tôi trở nên hấp dẫn và thú vị hơn.

Python Seaborn Hình-Thẩm mỹ:

Hàm đầu tiên mà tôi sẽ thảo luận là set (). Tôi đã sử dụng tham số ‘style’ của hàm này trước đây. Tham số này về cơ bản xử lý các chủ đề sinh con. Hiện tại, có năm trong số chúng có sẵn là darkgrid, ve, whitegrid, trắng và sẫm.

Hãy xem xét ví dụ sau minh họa chủ đề màu trắng.

THÍ DỤ:

import seaborn dưới dạng sns import matplotlib.pyplot dưới dạng plt sns.set (style = 'white', color_codes = True) a = sns.load_dataset ('tips') sns.boxplot (x = 'day', y = 'total_bill', data = a)

ĐẦU RA:

Trong đầu ra ở trên, bạn có thể nhận thấy chủ đề được thay đổi thành màu trắng. Bạn cũng có thể khám phá chúng thêm bằng cách sử dụng các chủ đề khác. Nếu bạn nhận thấy trong đầu ra trước đó, có các trục hiện diện xung quanh biểu đồ. Tuy nhiên, điều này cũng có thể tùy chỉnh bằng cách sử dụng hàm Desine (). Nhìn vào ví dụ dưới đây.

THÍ DỤ:

import seaborn dưới dạng sns import matplotlib.pyplot dưới dạng plt sns.set (style = 'white', color_codes = True) a = sns.load_dataset ('tips') sns.boxplot (x = 'day', y = 'total_bill', data = a) sns.despine (offset = 10, trim = True)

ĐẦU RA:



Lưu ý sự khác biệt giữa hai đầu ra trước đó. Tuy nhiên, có rất nhiều lựa chọn khác mà bạn có thể tự khám phá.

Bảng màu Python Seaborn:

Màu sắc về cơ bản là đặc điểm tiếp cận mắt người ngoài bất kỳ tính năng nào khác. Seaborn cho phép bạn chơi với các màu sắc bằng cách sử dụng các chức năng khác nhau như color_palette (), hls_palette (), husl_palette (), v.v. Hãy xem các màu hiện có trong seaborn.

THÍ DỤ:

import numpy as np import seaborn as sns import matplotlib.pyplot as plt sns.set () presentcolors = sns.color_palette () sns.palplot (presentcolors)

ĐẦU RA:

java thoát ra khỏi phương pháp

Hình ảnh trên cho thấy các màu có trong seaborn. Tôi đã thực hiện nó bằng cách sử dụng hàm palplot (). Đối với các biến thể sâu hơn, bạn có thể sử dụng hls_palette (), husl_palette (), v.v.

Điều này đưa chúng ta đến phần cuối của Hướng dẫn Python Seaborn. Tôi hy vọng bạn đã hiểu mọi thứ rõ ràng. Hãy chắc chắn rằng bạn luyện tập càng nhiều càng tốt .

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của blog “Hướng dẫn sử dụng Python Seaborn” này và chúng tôi sẽ liên hệ lại với bạn sớm nhất có thể.

Để có kiến ​​thức chuyên sâu về Python cùng với các ứng dụng khác nhau của nó, bạn có thể đăng ký tham gia trực tiếp với hỗ trợ 24/7 và truy cập trọn đời.