Biểu diễn dữ liệu dạng điểm với thư viện Matplotlib của Python

02/07/2024

TN&MTTrong bài báo này, tác giả nghiên cứu về thư viện mã nguồn mở Matplotlib của Python để biểu diễn và trực quan dữ liệu dạng điểm. Qua phần thử nghiệm, dữ liệu dạng điểm được trực quan bằng các loại biểu đồ và đồ thị khác nhau từ đó dễ dàng phân tích và nắm bắt được sự tương quan của dữ liệu này. Từ đó, có thể đưa vào các ứng dụng cụ thể như biểu diễn đường bình độ, biểu diễn bề mặt và hiển thị các dữ liệu nhiễu trong dữ liệu đo đạc bản đồ.

Mở đầu

Dữ liệu có thể là bất kỳ một giá trị nào đó như số, văn bản, hình ảnh, âm thanh, video hoặc các đối tượng khác. Nghiên cứu các loại biểu diễn dữ liệu nhằm giúp chúng ta hiểu về tầm quan trọng của dữ liệu một cách chi tiết [1]. 

Máy tính có thể biểu diễn dữ liệu với một dạng cụ thể. Phương pháp biểu diễn dữ liệu bên trong của máy tính được gọi là biểu diễn dữ liệu. Dữ liệu số, văn bản, tệp thực thi, hình ảnh, âm thanh và video đều là ví dụ về biểu diễn dữ liệu máy tính. Đối với chúng ta, với tư cách là con người, mỗi thứ này sẽ xuất hiện khác nhau [1].

Tầm quan trọng của biểu diễn và trực quan dữ liệu chính là giúp chúng ta phân tích dữ liệu phức tạp, xác định các mẫu và trích xuất những hiểu biết có giá trị một cách chính xác. Từ việc đơn giản hóa các dữ liệu phức tạp và biểu diễn nó một cách trực quan cho phép chúng ta đưa ra được những quyết định phù hợp và hiệu quả một cách nhanh chóng và chính xác.

Với lĩnh vực trắc địa bản đồ, dữ liệu dạng điểm thu được thường rất lớn và rất khó để hiểu chúng một cách nhanh chóng và chính xác. Chính vì vậy, lựa chọn một phương pháp phù hợp là cần thiết.

Nội dung nghiên cứu

Dữ liệu dạng điểm

Dữ liệu dạng điểm là một thông tin rời rạc, chứa các thông tin về một đối tượng, một số, một từ hay một vật thể, chúng thường có đặc trưng riêng để phân biệt các điểm khác nhau. Dữ liệu dạng điểm thường được thu thập tùy theo yêu cầu cụ thể của bài toán phân tích hay yêu cầu của dữ liệu. Dữ liệu dạng điểm thường là nền tảng của phân tích dữ liệu. Trong môi trường khoa học, những điểm như vậy có thể được sử dụng để theo dõi tiến trình của một thí nghiệm hoặc thử nghiệm lâm sàng, hiểu hành vi của một loài cụ thể hoặc lập bản đồ sự lây lan của bệnh tật [2].

Dữ liệu điểm thường được đặc trưng bởi cấu trúc của nó và khả năng chứa các loại dữ liệu hỗn hợp [3]. Kiểu dữ liệu điểm là một trong các kiểu hình học, dùng để biểu diễn một điểm trên mặt phẳng hai chiều. Nó biểu diễn điểm bằng cách sử dụng tọa độ X và Y trên biểu đồ. Điểm là các khối xây dựng cho tất cả các loại đối tượng hình học. Bất kể một điểm trong không gian hai chiều, ta đều có thể biểu diễn nó theo tọa độ X và Y tương ứng.

Định dạng điểm là cách điển hình nhất để thể hiện một điểm dữ liệu. Khi vẽ đồ thị các điểm dọc theo trục tọa độ, định dạng điểm được sử dụng. Khi sử dụng hai trục tọa độ, một điểm được viết là (x, y) và khi sử dụng ba trục tọa độ, nó được viết là (x, y, z). Có thể đánh số các giá trị của x, y và z, nhưng đây không phải là sự đảm bảo. Để xem liệu có một mẫu nào trong dữ liệu hay không, các điểm dữ liệu thường được vẽ biểu đồ [4].

Biểu diễn dữ liệu dạng điểm

Chúng ta có thể biểu diễn dữ liệu dạng điểm thông qua trực quan hóa dữ liệu. Trực quan hóa dữ liệu cho phép chúng ta có thể thể hiện các điểm dữ liệu dưới dạng đồ họa như biểu đồ, đồ thị và bản đồ. Các công cụ như phần mềm trực quan hóa dữ liệu và thư viện cung cấp nhiều tùy chọn để tạo các cách trình bày điểm dữ liệu hấp dẫn trực quan [5].

Biểu diễn dữ liệu điểm với thư viện Matplotlib của Python

“Matplotlib” là thư viện được dùng để vẽ biểu đồ và trực quan hóa dữ liệu, mở rộng từ numpy trong Python. Đây là một thư viện đa nền tảng để tạo biểu đồ hai chiều từ dữ liệu một cách hiệu quả. Một Matplotlib figure có thể được phân loại thành nhiều phần như dưới đây [6]: Figure: figure sẽ chứa tất cả những biểu đồ đã vẽ với thư viện Matplotlib; Axes: Thành phần chính của một figure là các axes (những khung nhỏ hơn để vẽ hình lên đó). Một figure có thể chứa một hoặc nhiều axes; Axis: Là dòng số giống như các đối tượng và đảm nhiệm việc tạo các giới hạn biểu đồ; Artist: các đối tượng được vẽ gắn lên Axes và Axis.

Matplotlib là một thư viện toàn diện để tạo trực quan hóa tĩnh, hoạt hình và tương tác trong Python. Matplotlib biến những điều dễ dàng trở nên dễ dàng và những điều khó khăn có thể thực hiện được [7]: Tạo các plot; tạo các đồ thị tương tác có thể phóng to, xoay, cập nhật; tùy chỉnh phong cách và bố cục trực quan; xuất sang nhiều định dạng tập tin; nhúng vào JupyterLab và Giao diện người dùng đồ họa; sử dụng nhiều thư viện phong phú của bên thứ ba được xây dựng trên Matplotlib.

Để sử dụng thư viện matplotlib cần thực hiện cài đặt như sau:

Biểu diễn dữ liệu dạng điểm với thư viện Matplotlib của Python

Sử dụng thư viện để vẽ biểu đồ đơn giản:

Biểu diễn dữ liệu dạng điểm với thư viện Matplotlib của Python

Hình 1: Đồ thị hình sin đơn giản được biểu diễn với Matplotlib
Biểu diễn dữ liệu dạng điểm với thư viện Matplotlib của Python

Thư viện Matplotlib cung cấp các lệnh nhằm giúp người dùng có thể vẽ được các đồ thị. Các loại đồ thị được cung cấp bởi thư viện này bao gồm:

Hình 2: Các loại đồ thị biểu diễn  theo cặp giá trị (x, y)
Biểu diễn dữ liệu dạng điểm với thư viện Matplotlib của Python

Dữ liệu theo cặp: với cặp dữ liệu tọa độ (x, y) biểu diễn hàm f(x) = y.

Đồ thị biểu diễn phân phối thống kê:

Hình 3: Đồ thị phân phối thống kê
Biểu diễn dữ liệu dạng điểm với thư viện Matplotlib của Python

Dữ liệu dạng lưới:

Hình 4: Đồ thị biểu diễn dữ liệu dạng lưới 

Biểu diễn dữ liệu dạng điểm với thư viện Matplotlib của Python

Biểu diễn dữ liệu dạng điểm với thư viện Matplotlib của Python

Đồ thị ba chiều:

Hình 5: Đồ thị 3D được biểu diễn trong Matplotlib
Biểu diễn dữ liệu dạng điểm với thư viện Matplotlib của Python

Thực nghiệm

Để thực hiện trực quan hóa với dữ liệu dạng điểm với thư viện Matplotlib tác giả đã tiến hành thực nghiệm trên bộ dữ liệu được tạo ngẫu nhiên từ thư viện numpy và cho kết quả như sau:

Tạo bộ dữ liệu rời rạc với numpy:

Biểu diễn dữ liệu dạng điểm với thư viện Matplotlib của Python

Biểu diễn dữ liệu dạng điểm với thư viện Matplotlib của Python

Tạo bộ dữ liệu dạng lưới và hiển thị đường bình độ với numpy:

Biểu diễn dữ liệu dạng điểm với thư viện Matplotlib của Python

Biểu diễn dữ liệu dạng điểm với thư viện Matplotlib của Python

Tạo bộ dữ liệu hiển thị bề mặt 3 chiều: 

Biểu diễn dữ liệu dạng điểm với thư viện Matplotlib của Python

Kết luận

Dữ liệu dạng điểm là thông tin quan trọng thường được dùng trong phân tích dữ liệu. Chính vì vậy, biểu diễn và hiển thị được dữ liệu dạng điểm giúp trực quan và có thể dễ dàng hiểu để phân tích tốt hơn bộ dữ liệu này. Với hàm thư viện mã nguồn mở Matplotlib của Python, tác giả đã thử nghiệm và nhận thấy hàm thư viện cung cấp đủ các biểu đồ, đồ thị giúp người sử dụng biểu diễn dữ liệu dạng điểm một cách thuận tiện và nhanh chóng.

Tài liệu tham khảo

1. N. UGC, “Data Representation,” 2023. [Trực tuyến]. Available: https://unacademy.com/content/ntaugc/studymaterial/computerscience/datarepresentation;

2. I. W. Katie Hanna, “Data point,” TechTarget, 2022. [Trực tuyến]. Available: https://www.techtarget.com/ whatis/ definition/data-point;

3. McIDAS, “Point data,” [Trực tuyến]. Available: https://www.ssec.wisc. edu/mcidas/doc/prog_man/2015/access-4.html;    

4. E. Aliciack, “The key of optimization: Data points,” 2022. [Trực tuyến]. Available: https://dataconomy.com/2022/ 07/11/data-points/;

5. Lenovo, “What is data point?,” [Trực tuyến]. Available: https://www. lenovo.com/us/en/glossary/data-points/orgRef=https%253A%252F%252Fwww.google.com%252F;    

6. VnCoder, “Bài 1: Giới thiệu Matplotlib - Matplotib Cơ Bản,” [Trực tuyến]. Available: https://vncoder.vn/bai-hoc/gioi-thieu-matplotlib-492;    

7. Matplotlib, “Matplotlib: Visualization with Python,” 2023. [Trực tuyến]. Available: https://matplotlib.org/.

PHẠM HỮU LỢI
 Trường Đại học Mỏ - Địa chất
Nguồn: Tạp chí Tài nguyên và Môi trường số 9 năm 2024

Tin tức

Triển khai các nhiệm vụ trọng tâm trong nghiên cứu chính sách ngành TN&MT

Thủ tướng: '5 quyết tâm', '5 bảo đảm' để thúc đẩy giải ngân, sử dụng hiệu quả nhất nguồn vốn gần 670 nghìn tỷ đồng

Rà soát, hoàn thiện dự thảo nghị định về kinh doanh bất động sản; xây dựng lại chung cư

Xây dựng thị trường điện cạnh tranh hoàn chỉnh, mở không gian mới cho năng lượng tái tạo

Tài nguyên

Giải quyết khiếu nại, tố cáo theo Luật Đất đai năm 2024

Cống ngăn mặn lớn nhất Bắc miền trung sắp đưa vào vận hành

Tránh thất thu từ khoáng sản phát sinh

Bắc Giang: Ban hành Chỉ thị số 7/CT-UBND về triển khai Luật Đất đai năm 2024

Môi trường

Ninh Thuận chủ động ngăn chặn tình trạng đào gốc cây bằng lăng rừng

Xây dựng mô hình chuyển đổi xanh, sử dụng đất bền vững tại các khu vực trồng hoa

Rùa biển quay lại xã đảo Cù Lao Xanh đẻ trứng sau nhiều năm vắng bóng

Ứng phó với áp thấp nhiệt đới và mưa lớn

Video

Diễn đàn môi trường lần thứ III - Năm 2024

Chuyển đổi xanh - động lực tăng trưởng mới để phát triển kinh tế

Xử lý chất thải rắn sinh hoạt: Thực trạng và giải pháp

Tạp chí Tài nguyên và Môi trường 20 năm xây dựng và phát triển

Khoa học

Kiểm kê nguồn thải phục vụ xây dựng kế hoạch quản lý chất lượng môi trường không khí tỉnh Trà Vinh

Việt Nam công bố trên 19.000 bài báo quốc tế/năm nhưng chỉ có 2 tạp chí Scopus

Điều chỉnh công nghệ khai thác cát sông tại Sóc Trăng

Khảo sát ảnh hưởng của xâm nhập mặn đến một số tính chất đất, nước trên sông rạch và ương vườn tại huyện Gò Công Tây, tỉnh Tiền Giang

Chính sách

Luật Đất đai quy định về cưỡng chế thực hiện quyết định thu hồi đất như thế nào?

Bình Dương: Sẽ xử phạt việc khai thác sử dụng thông tin KTTV không đúng quy định

Luật Đất đai quy định về trình tự, thủ tục bồi thường, hỗ trợ, tái định cư, thu hồi đất vì mục đích quốc phòng, an ninh; phát triển kinh tế - xã hội vì lợi ích quốc gia, công cộng như thế nào?

Tín dụng cấp nước sạch và vệ sinh môi trường nông thôn: Mức cho vay tối đa 25 triệu đồng

Phát triển

Hội thảo: “An ninh - an toàn thực phẩm hướng đến du lịch xanh bền vững, chuyển hướng từ nhận thức đến hành động”

“Future Blue Innovation 2024” - Hành trình Xanh phụ thuộc vào thế hệ trẻ

Trường Đại học TN&MT TP. Hồ Chí Minh: Đa dạng ngành nghề để đào tạo những công dân tương lai có trách nhiệm với môi trường

Ninh Bình: Đến năm 2030 chấm dứt sử dụng hóa chất độc hại trong nuôi trồng thủy sản

Diễn đàn

Hòa Bình: Ban hành quyết định chuyển mục đích sử dụng 32,2 ha nằm tại xã Nhuận Trạch

"Rộng cửa" cho tín dụng xanh

Chủ tịch UBND tỉnh Thanh Hoá yêu cầu các địa phương chủ động ứng phó với áp thấp nhiệt đới và mưa lớn

Phát triển chuỗi cung ứng xanh: Cần điểm tựa chính sách