Biểu diễn dữ liệu dạng điểm với thư viện Matplotlib của Python
02/07/2024TN&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:
Sử dụng thư viện để vẽ biểu đồ đơn giản:
Hình 1: Đồ thị hình sin đơn giản được biểu diễn với Matplotlib
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)
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ê
Dữ liệu dạng lưới:
Hình 4: Đồ thị biểu diễn dữ liệu dạng lưới
Đồ thị ba chiều:
Hình 5: Đồ thị 3D được biểu diễn trong Matplotlib
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:
Tạo bộ dữ liệu dạng lưới và hiển thị đường bình độ với numpy:
Tạo bộ dữ liệu hiển thị bề mặt 3 chiều:
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