1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài 6 xử lý và trực quan hoá dữ liệu

16 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 1,13 MB

Nội dung

Vẽ biểu đồ là một trong những kỹ năng cần thiết và rất quan trọng, đặc trong lĩnh vực Data Analyst hay Data Science. Bài viết giới thiệu một thư viện phổ biến nhất trong Python là Matplotlib giúp các bạn có thể trực quan hóa dữ liệu. Mặc dù hiện nay có khá nhiều thư viện cũng được đánh giá tốt như Seaborn, Hiplot (của facebook) trong python hay ggplot trong R; Matplotlib tuy cũ nhưng vẫn được sử dụng rộng rãi hơn cả cho mục đích Data Visualization. Để sử dụng thư viện Matplotlib, bước đầu tiên sau khi thiết lập môi trường Python là chúng ta phải cài đặt package phải không nào. Sử dụng pip install matplotlib để cài đặt version mới nhất.

ĐỀ CƯƠNG BÀI GIẢNG IT6073-NGƠN NGỮ LẬP TRÌNH KHOA HỌC BÀI TRỰC QUAN HÓA DỮ LIỆU I Vẽ biểu đồ-plotting Vẽ biểu đồ kỹ cần thiết quan trọng, đặc lĩnh vực Data Analyst hay Data Science Bài viết giới thiệu thư viện phổ biến Python Matplotlib giúp bạn trực quan hóa liệu Mặc dù có nhiều thư viện đánh giá tốt Seaborn, Hiplot (của facebook) python hay ggplot R; Matplotlib cũ sử dụng rộng rãi cho mục đích Data Visualization Để sử dụng thư viện Matplotlib, bước sau thiết lập môi trường Python phải cài đặt package phải không Sử dụng pip install matplotlib để cài đặt version Sau ta import thư viện dòng code : import matplotlib.pyplot as plt Dưới hướng dẫn để vẽ biểu đồ với Matplotlib Tạo biểu đồ đơn giản Sau ta vẽ biểu đồ đơn giản với phương thức plot(), mặc định vẽ biểu đồ đường Với tham số tối thiểu list tọa độ x, list tọa độ y (lưu ý list phải có độ dài nhau) Ví dụ minh họa sau: Trang ĐỀ CƯƠNG BÀI GIẢNG IT6073-NGƠN NGỮ LẬP TRÌNH KHOA HỌC Để thay đổi chút, ta thêm tham số định dạng vào Chẳng hạn : - tham số màu : r - red, g -green, b - blue, y - yellow, … - định dạng đường : - (đường thẳng), (đường nét đứt), không truyền tham số không vẽ đường - định dạng đỉnh : * (đỉnh hình bơng tuyết), D (đỉnh hình thoi), s (đỉnh hình vng), go (chấm trịn), Ví dụ : ta thêm tham số b tức màu blue, D tức đỉnh hình thoi tức cạnh nét đứt Trang ĐỀ CƯƠNG BÀI GIẢNG IT6073-NGƠN NGỮ LẬP TRÌNH KHOA HỌC Vẽ nhiều đối tượng biểu đồ Ta thêm tiêu đề cho biểu đồ, tiêu đề cho trục tọa độ thêm thích, ví dụ sau: Đoạn code hình ta thấy : Trang ĐỀ CƯƠNG BÀI GIẢNG IT6073-NGƠN NGỮ LẬP TRÌNH KHOA HỌC - tham số label hàm plt.plot() để đặt tên cho điểm, tên xuất thích - plt.xlabel hay plt.ylabel để đặt tên cho trục x trục y - plt.title để đặt tên cho biểu đồ - plt.legend tìm thành phần chứa tham số label đưa vào thích Thay đổi kích thước biểu đồ Ta sử dụng phương thức figure() để thay đổi kích thước biểu đồ, tham số truyền vào figsize Ví dụ mơ tả đây: Ở ví dụ tham số truyền vào figsize=(10,7) 10 tỉ lệ độ dài trục ngang (x) tỉ lệ độ dài trục dọc (y) Ta thấy có plt.xlim plt.ylim Hai phương thức dùng để xác định hệ số chia trục tương ứng Vẽ hai biểu đồ cạnh Trang ĐỀ CƯƠNG BÀI GIẢNG IT6073-NGƠN NGỮ LẬP TRÌNH KHOA HỌC Đầu tiên ta sử dụng phương thức subplots() để tạo biểu đồ Sử dụng subplots() đối tượng Axes trả Sau ta set thuộc tính đối tượng sử dụng ax1.set hay ax2.set (mỗi đối tượng axes định nghĩa cho biểu đồ) Tham số (1,2) hàm subplots hiểu "một hàng, hai cột" - tương ứng bạn vẽ biểu đồ cạnh Nếu chẳng hạn bạn thay (1,2) (2,2), bạn biểu đồ Tham số dpi độ phân giải hình vẽ Tham số sharey = True cho phép chia sẻ thuộc tính trục x y Vẽ nhiều biểu đồ sử dụng vòng lặp Trang ĐỀ CƯƠNG BÀI GIẢNG IT6073-NGƠN NGỮ LẬP TRÌNH KHOA HỌC Đây kỹ thuật hữu ích, ta muốn vẽ biểu đồ từ sở liệu hay file liệu Đầu tiên ta tạo subplot với số biểu đồ mà ta muốn vẽ lên Sau đối tượng Axes tạo ta sử dụng đối tượng vòng lặp for để đưa liệu vào biểu đồ tương ứng II Biểu đồ phân tán -Scatter Plot Biểu đồ phân tán sử dụng để vẽ điểm liệu trục hoành trục tung để thể mức độ ảnh hưởng biến biến khác Mỗi hàng bảng liệu biểu thị điểm đánh dấu, vị trí phụ thuộc vào giá trị cột đặt trục X Y Một biến thứ ba đặt để tương ứng với màu sắc kích thước điểm đánh dấu, thêm chiều khác vào biểu đồ Ví dụ vẽ biểu đồ phân tán cấp lớp so với cấp độ nam nữ hai màu sắc khác import matplotlib.pyplot as plt girls_grades = [89, 90, 70, 89, 100, 80, 90, 100, 80, 34] boys_grades = [30, 29, 49, 48, 100, 48, 38, 45, 20, 30] grades_range = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100] Trang ĐỀ CƯƠNG BÀI GIẢNG IT6073-NGƠN NGỮ LẬP TRÌNH KHOA HỌC fig=plt.figure() ax=fig.add_axes([0,0,1,1]) ax.scatter(grades_range, girls_grades, color='r') ax.scatter(grades_range, boys_grades, color='b') ax.set_xlabel('Grades Range') ax.set_ylabel('Grades Scored') ax.set_title('scatter plot') plt.show() III Biểu đồ cột – Bar Vẽ biểu đồ cột python (Matplotlib Bar) Ta sử dụng hàm bar() để vẽ biểu đồ cột python Ví dụ: import matplotlib.pyplot as plt import numpy as np x = np.array(['Apple','Banana','Chery','Lemon', 'Guava']) y = np.array([100,200,500,300,600]) Trang ĐỀ CƯƠNG BÀI GIẢNG IT6073-NGƠN NGỮ LẬP TRÌNH KHOA HỌC plt.bar(x,y) plt.show() Kết quả: Ngồi ta cịn vẽ biểu đồ cột theo phương ngang (Horizontal Bars) Để vẽ biểu đồ cột theo phương ngang ta sử dụng hàm barh() Ví dụ: import matplotlib.pyplot as plt import numpy as np x = np.array(['Apple','Banana','Chery','Lemon', 'Guava']) y = np.array([100,200,500,300,600]) plt.barh(x,y) plt.show() Kết quả: Trang ĐỀ CƯƠNG BÀI GIẢNG IT6073-NGƠN NGỮ LẬP TRÌNH KHOA HỌC IV Biểu đồ hình trịn-Pie Sử dụng hàm pie() để vẽ biểu đồ hình trịn Ví dụ: import matplotlib.pyplot as plt import numpy as np x = np.array(['Apple','Banana','Chery','Lemon', 'Guava']) y = np.array([100,200,500,300,600]) myexplode = [0,0,0.2,0,0] mycolor = ['Pink','green','red','blue','yellow'] plt.pie(y, labels=x, explode = myexplode, colors = mycolor, shadow = True) plt.legend() plt.show() Kết quả: Trang ĐỀ CƯƠNG BÀI GIẢNG IT6073-NGƠN NGỮ LẬP TRÌNH KHOA HỌC Ta tùy chỉnh biểu đồ theo ý muốn tham số : explode, colors, shadow, labels Bây tìm hiểu chi tiết tham số + explode : tham số cho phép bạn dùng để biểu thị mà bạn muốn bật Ví dụ tạo bật cho biểu đồ cho giá trị Chery Ví dụ: import matplotlib.pyplot as plt import numpy as np x = np.array(['Apple','Banana','Chery','Lemon', 'Guava']) y = np.array([100,200,500,300,600]) myexplode = [0,0,0.2,0,0] plt.pie(y, labels=x, explode = myexplode) plt.show() Kết quả: Trang 10 ĐỀ CƯƠNG BÀI GIẢNG IT6073-NGƠN NGỮ LẬP TRÌNH KHOA HỌC + colors : tham số cho phép bạn thiết lập màu sắc theo ý muốn bạn Ví dụ thay đổi màu sắc biểu đồ python Ví dụ: import matplotlib.pyplot as plt import numpy as np x = np.array(['Apple','Banana','Chery','Lemon', 'Guava']) y = np.array([100,200,500,300,600]) mycolor = ['Pink','green','red','blue','yellow'] plt.pie(y, labels=x, colors = mycolor) plt.show() Kết quả: Trang 11 ĐỀ CƯƠNG BÀI GIẢNG IT6073-NGƠN NGỮ LẬP TRÌNH KHOA HỌC + shadow : tham số cho phép bạn thiết lập bóng đổ cho biểu đồ Để thiết lập bóng đổ cho biểu đồ bạn thiết lập shadow=True Ví dụ tạo bóng đổ cho biểu đồ Ví dụ: import matplotlib.pyplot as plt import numpy as np x = np.array(['Apple','Banana','Chery','Lemon', 'Guava']) y = np.array([100,200,500,300,600]) myexplode = [0,0,0.2,0,0] mycolor = ['Pink','green','red','blue','yellow'] plt.pie(y, labels=x, explode = myexplode, colors = mycolor, shadow = True) plt.show() Kết quả: + labels : tham số cho bạn thiết lập tên nhãn cho biểu đồ Ví dụ thiết lập tên nhãn cho biểu đồ python Ví dụ: import matplotlib.pyplot as plt import numpy as np x = np.array(['Apple','Banana','Chery','Lemon', 'Guava']) y = np.array([100,200,500,300,600]) Trang 12 ĐỀ CƯƠNG BÀI GIẢNG IT6073-NGƠN NGỮ LẬP TRÌNH KHOA HỌC plt.pie(y, labels=x) plt.show() Kết quả: + Legend : hàm legend() dùng để hiển thị giải, thích biểu đồ Ví dụ hiển thị thích cho biểu đồ python Ví dụ: import matplotlib.pyplot as plt import numpy as np x = np.array(['Apple','Banana','Chery','Lemon', 'Guava']) y = np.array([100,200,500,300,600]) myexplode = [0,0,0.2,0,0] mycolor = ['Pink','green','red','blue','yellow'] plt.pie(y, labels=x, explode = myexplode, colors = mycolor, shadow = True) plt.legend() plt.show() Kết quả: Trang 13 ĐỀ CƯƠNG BÀI GIẢNG IT6073-NGƠN NGỮ LẬP TRÌNH KHOA HỌC V Biểu đồ tần suất-Histogram Histogram phân bố liệu số Nó ước lượng phân phối xác suất biến liên tục dạng biểu đồ Để tạo biểu đồ, làm theo bước sau:  Bin phạm vi giá trị  Chia toàn phạm vi giá trị thành loạt khoảng  Đếm xem có giá trị rơi vào khoảng Các bins thường định khoảng liên tiếp, không chồng chéo biến Hàm matplotlib.pyplot.hist () vẽ biểu đồ, tính tốn vẽ biểu đồ x Tham số : Bảng sau liệt kê tham số cho histogram: x mảng chuỗi mảng bins số nguyên chuỗi 'auto', tùy chọn Thông số tùy chọn Trang 14 ĐỀ CƯƠNG BÀI GIẢNG IT6073-NGƠN NGỮ LẬP TRÌNH KHOA HỌC range Phạm vi bin density Nếu true, phần tử giá trị trả số đếm chuẩn hóa để tạo thành mật độ xác suất cumulative Nếu true, biểu đồ tính tốn thùng cung cấp số lượng thùng cộng với tất thùng cho giá trị nhỏ histtype Loại histogram để vẽ Mặc định 'bar' Ví dụ sau vẽ biểu đồ điểm sinh viên lớp học Bốn khoảng 0-25, 2650, 51-75 76-100 xác định Biểu đồ cho thấy số học sinh rơi vào phạm vi from matplotlib import pyplot as plt import numpy as np fig,ax = plt.subplots(1,1) a = np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27]) ax.hist(a, bins = [0,25,50,75,100]) ax.set_title("histogram of result") ax.set_xticks([0,25,50,75,100]) ax.set_xlabel('marks') ax.set_ylabel('no of students') plt.show() Kết quả: Trang 15 ĐỀ CƯƠNG BÀI GIẢNG IT6073-NGÔN NGỮ LẬP TRÌNH KHOA HỌC Trang 16

Ngày đăng: 27/07/2023, 23:44

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w