Trực quan hóa (Visualization) là kỹ thuật tạo ra những hình ảnh, biểu đồ, đồ thị để diễn tả thông điệp, thông tin đến người dùng. Trực quan hóa nghiên cứu trình bày một cách trực quan khối dữ liệu trừu tượng để tăng cường nhận thức của con người.
Việc sử dụng trực quan hóa để biểu diễn dữ liệu không phải là hiện tượng mới. Nó đã được sử dụng trong bản đồ, bản vẽ khoa học, những sơ đồ dữ liệu từ hàng ngàn năm trước. Đồ họa máy tính ngay từ khi ra đời đã được sử dụng để nghiên cứu các vấn đề khoa học. Tuy nhiên, trong những ngày đầu sự thiếu năng lực đồ họa đã hạn chế lợi ích của chúng có thể mang lại.
Trực quan hóa dữ liệu là quá trình ánh xạ dữ liệu tới thị giác. Nguyên tắc thủ công là khai thác dữ liệu và biểu diễn các giá trị của nó một cách trực quan. Ví dụ như một biểu đồ đơn giản được sinh ra từ quy luật đơn giản như sau: Giá trị lớn hơn tương ứng với những cột cao hơn.
Mục tiêu chính của trực quan hóa dữ liệu là truyền thông tin rõ ràng và hiệu quả cho người sử dụng thông qua đồ họa được lựa chọn như bảng biểu hoặc biểu đồ. Bảng biểu thường được dùng khi xem xét hoặc đo lường giá trị của một biến. Các loại biểu đồ sẽ hiển thị kết quả hoặc liên hệ với dữ liệu của một hay nhiều biến [2]. Nó khiến dữ liệu phức tạp trở thành dễ hiểu và dễ sử dụng hơn. Người sử dụng có thể có những động tác phân tích đặc biệt như tạo phép so sánh dữ liệu. Một ví dụ về trực quan hóa dữ liệu giá nhà ở California như hình 2.17.
Thiết kế trực quan hóa dữ liệu (Data visualization )
Trực quan hóa dữ liệu dẫn đến việc trình bày một cách trực quan dữ liệu được lựa chọn và có những yêu cầu cơ bản bao gồm:
- Thuật toán vẽ (có thể cho phép người dùng điểu chỉnh nhưng thường là được sinh ra bởi các phương thức của máy tính).
- Dễ dàng sinh ra với dữ liệu khác nhau (cùng định dạng thì có thể sử dụng lại để biểu diễn những tập dữ liệu khác nhau với tính chất có số chiều tương tự)
- Có tính thẩm mỹ
- Dữ liệu được làm giàu tương đối
Bộ ba Designer – Reader – Data trong trực quan hóa dữ liệu
Có thể hiểu trực quan hóa dữ liệu được hỗ trợ bởi một bộ 3 giống như chiếc ghế 3 chân gồm người thiết kế, người xem và dữ liệu. Mỗi bộ phận tác động dựa trên vai trò của mình để tạo nên một trực quan hóa ổn định, hiệu quả. Mỗi chân của chiếc ghế có mối liên hệ với 2 chân còn lại. Khi tính toán, đánh giá được mức độ quan trọng của các mối quan hệ sẽ dẫn đến xác định được dạng trực quan hóa cần sử dụng như thể hiện ở hình sau:
a. Người thiết kế
Người thiết kế biết được mục tiêu cần đạt được của trực quan hóa và tạo ra trực quan hóa vì những lý do đó. Có ý thức về động cơ, mục đích và sự ưu tiên sẽ giúp người thiết kế tạo ra trực quan hóa thành công hơn là tạo một sự biểu diễn trực quan dữ liệu đơn thuần.
b. Người xem
Điểm ảnh hưởng thứ hai là người xem. Sự mong đợi tiếp thu của người xem đóng vai trò đặc biệt trong bộ ba này, nó có thể là trợ thủ lớn nhất hay trở ngại lớn nhất hoặc cả 2 trong quá trình thực hiện mục tiêu truyền thông điệp một cách rõ ràng.
c. Dữ liệu
Điểm ảnh hưởng thứ ba tác động đến thiết kế trực quan hóa là dữ liệu. Trực quan hóa tốt nhất là thể hiện được đặc điểm thú vị của tập dữ liệu ta làm việc. Dữ liệu khác nhau yêu cầu những phương thức, cách giải mã, kỹ thuật hiển thị khác nhau để thể hiện đặc điểm của nó. Trong khi những dạng trực quan hóa mặc định chiếm vị trí đặc biệt và có thể xảy ra với thiết kế đúng được chọn trước, đôi khi dữ liệu lại cung cấp tri thức mới khi phương thức hoặc dạng thức trực quan hóa khác được sử dụng.
Cách ta chọn dạng thức trực quan hóa thể hiện khía cạnh tốt nhất của dữ liệu là phải có hiểu biết về dữ liệu, tôn trọng dữ liệu. Thay vì cố gắng chuyển về định dạng phù hợp thì hãy cân nhắc đến giá trị vốn có, quan hệ và cấu trúc của dữ liệu. Những câu hỏi điển hình bao gồm:
- Hệ thống là gì? (time-series, hierarchy, …)
- Có bao nhiêu chiều cần thể hiện? Những chiều nào là quan trọng nhất?
- Kiểu liên kết là gì?
- Các biến hoạt động thế nào?
- Giá trị có thể phân đoạn? Liên tục hay không liên tục? Có tuyến tính hay không? Giới hạn như thế nào?
- Có bao nhiêu phân đoạn cần thể hiện?
Sự hiểu biết về hình dạng của dữ liệu sẽ dẫn đến quyết định thiết kế chính xác. Mỗi quan hệ liên quan và tính chất của dữ liệu cần được giải mã với một tính chất trực quan phù hợp; Đặc điểm của mỗi chiều dữ liệu dẫn đến một cách giải mã tính chất trực quan phù hợp.
Quá trình trực quan hóa dữ liệu: Quá trình tạo trực quan hóa dữ liệu bao gồm 4 bước chính sau:
- Xác định yêu cầu:
Bước đầu tiên là xác định yêu cầu cần giải quyết. Nó có thể là bất cứ thứ gì có thể rất rộng và sâu về chuyên môn như thể hiện tại sao những báo cáo lỗi trả về không có xu hướng giảm xuống, hoặc là thể hiện khoảng thời gian ước tính phù hợp cho một sản phẩm bất kỳ trong dây chuyền sản xuất. Ví dụ như: Thể hiện số lượng chú ý đến nội dung “trực quan hóa dữ liệu” được trình bày bởi số lượng bài báo đăng trên tạp chí chuyên ngành công nghệ thông tin theo thời gian.
- Thu thập dữ liệu
Chúng ta đã có ý tưởng về vấn đề cần làm rõ, vậy thì hãy đào sâu để thực hiện nó. Nếu chỉ liên quan đến dữ liệu của bản thân chúng ta thì chỉ việc lấy ra và sử dụng, còn không thì cần có các biện pháp để thu thập dữ liệu theo mục đích đã xác định. Một chú ý quan trọng khi thu thập dữ liệu hoặc tích hợp dữ liệu đó là phải xác định được định dạng dữ liệu cần thu thập. Nếu dữ liệu thu thập có định dạng chưa phù hợp thì phải tiến hành chuyển đổi tương ứng. Đến đây, chúng ta sẽ có dữ liệu phù hợp để tiến hành xem xét, phân tích ở bước sau.
- Phân tích dữ liệu
Có dữ liệu rồi thì cần phải phân tích để hiểu ý nghĩa của nó. Do đó, phân tích là bước chủ yếu nhất trong tạo trực quan hóa dữ liệu. Chỉ có thông qua phân tích dữ liệu mới hiểu được dữ liệu, từ đó truyền đạt thông tin của dữ liệu cho người khác.
- Trực quan hóa dữ liệu
Chúng ta đã phân tích và hiểu dữ liệu (theo phân tích chi tiết) và hiểu thông tin cần truyền đạt cho người khác. Và trực quan hóa dữ liệu là thực hiện việc truyền đạt thông tin đó. Bạn có thể sử dụng thư viện ChartJS để thực hiện việc trực quan hóa dữ liệu một cách đơn giản.
Như vậy bài viết tiếp theo về trực quan hóa dữ liệu trong chuỗi bài viết về kiến thức lập trình đã được GocNhinSo.Com giới thiệu, mong các bạn ủng hộ trong các bài viết tiếp theo!
Đọc thêm kiến thức lập trình ASP.Net MVC