Trực quan hóa biểu đồ thanh python

# Thư viện nhập numpy dưới dạng np nhập matplotlib. pyplot as plt # Tạo tập dữ liệu ngẫu nhiên. chiều cao = [3, 12, 5, 18, 45] thanh = ['A', 'B', 'C', 'D', 'E'] y_pos = np. arange[len[bars]] # Tạo thanh plt. bar[y_pos, height] # Tạo tên trên trục x plt. xticks[y_pos, bars] # Hiển thị plt đồ họa. trình diễn[]

Biểu đồ thanh là biểu đồ 2 chiều với các thanh hình chữ nhật trên trục X hoặc Y. Chúng tôi sử dụng các thanh hình chữ nhật để so sánh các giá trị giữa các danh mục riêng biệt bằng cách so sánh chiều cao hoặc chiều dài của chúng. Biểu đồ này là điển hình trong trực quan hóa dữ liệu vì nó dễ tạo và dễ hiểu

Tuy nhiên, trong một số trường hợp, chẳng hạn như tạo đồ họa thông tin hoặc trình bày dữ liệu cho công chúng cần thu hút sự chú ý của mọi người, biểu đồ thanh có thể không đủ hấp dẫn. Đôi khi sử dụng quá nhiều biểu đồ thanh có thể dẫn đến hiển thị mờ

Có nhiều loại biểu đồ trong trực quan hóa dữ liệu. Thực tế, đồ thị có thể được cải thiện hoặc thay đổi hình thức. Bài viết này sẽ chỉ ra 9 ý tưởng mà bạn không chỉ có thể sử dụng thay cho biểu đồ thanh mà còn làm cho kết quả thu được trông đẹp mắt

Hai ví dụ về trực quan hóa trong bài viết này mà bạn có thể sử dụng thay cho biểu đồ Thanh để thu hút sự chú ý. Hình ảnh của tác giả

từ chối trách nhiệm

Mục đích của bài viết này không phải là chống lại biểu đồ thanh. Biểu đồ nào cũng có ưu điểm của nó. Bài viết này nhằm mục đích hiển thị các hình ảnh trực quan có thể thu hút sự chú ý hơn biểu đồ thanh. Nhân tiện, chúng không hoàn hảo;

Bắt đầu nào

Lấy dữ liệu

Bắt đầu với việc nhập thư viện

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

Để chỉ ra rằng phương pháp được đề cập trong bài viết này có thể được áp dụng cho dữ liệu trong thế giới thực, chúng tôi sẽ sử dụng dữ liệu từ Danh sách các quốc gia theo lượng khí thải carbon dioxide trên Wikipedia. Bài viết này hiển thị danh sách các quốc gia và vùng lãnh thổ có chủ quyền theo lượng khí thải CO2 năm 2018

Bài viết này sử dụng dữ liệu từ Wikipedia theo các điều khoản của Creative Commons Ghi công-Chia sẻ tương tự 3. 0 Giấy phép chưa chuyển đổi

Tôi đã làm theo các bước hữu ích để tải xuống dữ liệu từ Web Scraping Bảng Wikipedia vào Dataframe

Sử dụng BeautifulSoup để phân tích dữ liệu thu được

Ví dụ: tôi sẽ chọn cột cuối cùng, Lượng khí thải CO2 năm 2018/Tổng số không bao gồm LUCF[Thay đổi sử dụng đất và Lâm nghiệp] và chỉ lọc các quốc gia có lượng khí thải CO2 từ 200 đến 1000 MTCO2e [Số tấn carbon dioxide tương đương]

Các mã bên dưới có thể được sửa đổi, nếu bạn muốn sử dụng các cột khác hoặc thay đổi phạm vi phát thải CO2

Sau khi lấy DataFrame, chúng ta sẽ sắp xếp lượng khí thải CO2 để lấy DataFrame khác. Cả DataFrames, DataFrame bình thường và được sắp xếp, sẽ được sử dụng để vẽ đồ thị sau này. Lý do đằng sau việc tạo hai DataFrame là để chỉ ra rằng kết quả có thể khác nhau

df_s = df.sort_values[by='emission_2018', ascending=False]
df_s.head[9]

Bây giờ mọi thứ đã sẵn sàng, hãy vẽ biểu đồ thanh để so sánh với kết quả từ các hình ảnh hóa khác sau này

Biểu đồ thanh cho thấy lượng khí thải CO2 từ 200 đến 1.000 MTCO2e vào năm 2018 theo quốc gia. Dữ liệu từ Wikipedia. Hình ảnh của tác giả

Trước khi tiếp tục, chúng tôi sẽ xác định một hàm để trích xuất danh sách màu để sử dụng sau này với mỗi hình ảnh trực quan

Áp dụng chức năng để có được một danh sách các màu

pal_vi = get_color['viridis_r', len[df]]
pal_plas = get_color['plasma_r', len[df]]
pal_spec = get_color['Spectral', len[df]]
pal_hsv = get_color['hsv', len[df]]

trực quan

Trong bài viết này có 9 hình ảnh hóa, chúng ta có thể phân thành hai nhóm

Sửa đổi các thanh hình chữ nhật

  • Biểu đồ thanh tròn [còn gọi là Biểu đồ đường đua]
  • biểu đồ thanh xuyên tâm
  • sơ đồ cây
  • biểu đồ bánh quế
  • Biểu đồ thanh tương tác

Thay đổi hình thức

  • Biểu đồ tròn
  • biểu đồ rađa
  • Biểu đồ bong bóng
  • đóng gói vòng tròn
  1. Thay đổi hướng bằng biểu đồ thanh tròn [còn gọi là Biểu đồ đường đua]

Khái niệm về biểu đồ thanh tròn là biểu thị các thanh xung quanh tâm của một vòng tròn. Mỗi thanh bắt đầu từ cùng một mức độ và di chuyển theo cùng một hướng. Người có thể hoàn thành vòng lặp có giá trị cao nhất

Đây là một ý tưởng hay để thu hút sự chú ý của độc giả. Nhân tiện, các thanh dừng ở giữa vòng tròn rất khó đọc. Coi chừng độ dài của mỗi thanh không bằng nhau. Những cái gần trung tâm sẽ có chiều dài ngắn hơn những cái ở xa trung tâm

Vẽ biểu đồ thanh tròn với DataFrame

Biểu đồ thanh tròn cho thấy lượng khí thải CO2 từ 200 đến 1.000 MTCO2e vào năm 2018 theo quốc gia. Hình ảnh của tác giả

Vẽ biểu đồ thanh tròn với DataFrame được sắp xếp

Biểu đồ thanh tròn cho thấy lượng khí thải CO2 từ 200 đến 1.000 MTCO2e vào năm 2018 theo quốc gia. Hình ảnh của tác giả

2. Bắt đầu từ trung tâm với biểu đồ thanh Radial

Khái niệm về biểu đồ thanh xuyên tâm đang thay đổi hướng của các thanh. Thay vì có cùng hướng, mỗi thanh bắt đầu từ tâm của vòng tròn và di chuyển theo một hướng khác đến cạnh của vòng tròn

Vui lòng cân nhắc rằng các thanh không nằm liền kề nhau có thể khó so sánh. Các nhãn ở các góc khác nhau dọc theo các thanh xuyên tâm;

Vẽ biểu đồ thanh xuyên tâm với DataFrame

Biểu đồ thanh xuyên tâm cho thấy lượng khí thải CO2 từ 200 đến 1.000 MTCO2e vào năm 2018 theo quốc gia. Hình ảnh của tác giả

Vẽ biểu đồ thanh xuyên tâm với DataFrame được sắp xếp

Biểu đồ thanh xuyên tâm cho thấy lượng khí thải CO2 từ 200 đến 1.000 MTCO2e vào năm 2018 theo quốc gia. Hình ảnh của tác giả

3. Sử dụng khu vực để so sánh với Treemap

Sơ đồ cây giúp hiển thị dữ liệu phân cấp bằng cách sử dụng các khu vực hình chữ nhật. Mặc dù dữ liệu của chúng tôi không có phân cấp, nhưng chúng tôi vẫn có thể áp dụng sơ đồ cây bằng cách chỉ hiển thị một cấp phân cấp

Vẽ sơ đồ cây, thông thường, dữ liệu được sắp xếp giảm dần từ giá trị lớn nhất. Với nhiều hình chữ nhật, xin lưu ý rằng những hình nhỏ có thể khó đọc hoặc khó phân biệt với những hình khác

Tạo sơ đồ cây tương tác với Plotly

Treemap cho thấy lượng khí thải CO2 từ 200 đến 1.000 MTCO2e vào năm 2018 theo quốc gia. Hình ảnh của tác giả

4. Kết hợp các ô vuông nhỏ với biểu đồ Bánh quế

Bên cạnh cái tên lạ mắt, biểu đồ bánh quế là một ý tưởng hay để tạo đồ họa thông tin. Nó bao gồm nhiều ô vuông nhỏ hơn ghép lại thành một hình chữ nhật lớn, làm cho kết quả trông giống như một chiếc bánh quế

Thông thường, các ô vuông được sắp xếp theo bố cục 10 x 10 để hiển thị tỷ lệ hoặc tiến độ. Nhân tiện, số lượng ô vuông có thể được thay đổi cho phù hợp với dữ liệu

Vẽ biểu đồ bánh quế hiển thị lượng khí thải CO2 của mọi quốc gia

Biểu đồ bánh quế cho thấy lượng khí thải CO2 từ 200 đến 1.000 MTCO2e vào năm 2018 theo quốc gia. Hình ảnh của tác giả

Kết quả có thể trông hấp dẫn và đầy màu sắc, nhưng rất khó để phân biệt giữa các sắc thái gần nhau của màu sắc. Đây có thể coi là hạn chế của waffle chart. Như vậy, có thể nói biểu đồ waffle phù hợp để so sánh dữ liệu với một số danh mục

Để tránh khó đọc, chúng ta hãy vẽ từng quốc gia, từng quốc gia một, chống lại các quốc gia khác. Sau đó, ghép chúng lại thành một bức ảnh ghép. Với mã bên dưới, vui lòng lưu ý rằng các lô sẽ được xuất trên máy tính của bạn để nhập sau

Vẽ biểu đồ bánh quế của mỗi quốc gia

Một ví dụ về biểu đồ bánh quế biểu thị lượng khí thải CO2 của một quốc gia so với lượng khí thải CO2 từ các quốc gia khác trong khoảng từ 200 đến 1.000 MTCO2e vào năm 2018. Hình ảnh của tác giả

Bây giờ chúng ta đã có biểu đồ bánh quế của mỗi quốc gia, hãy xác định chức năng để tạo ảnh ghép. Tôi đã tìm thấy một đoạn mã tuyệt vời bên dưới để kết hợp các ô từ Stack Overflow[link]

Áp dụng chức năng lấy ảnh ghép

# to create a fit photo collage: 
# width = number of columns * figure width
# height = number of rows * figure height
get_collage[5, 5, 2840, 1445, save_name, 'Collage_waffle.png']

Một phần của ảnh ghép kết hợp biểu đồ waffle của mỗi quốc gia. Hình ảnh của tác giả

5. Không thay đổi gì ngoài việc làm cho biểu đồ thanh tương tác

Chúng ta có thể biến một biểu đồ thanh đơn giản thành một biểu đồ tương tác. Đây là một ý tưởng hay trong trường hợp bạn muốn tiếp tục sử dụng biểu đồ thanh. Kết quả thu được có thể được phát hoặc lọc theo cách người dùng muốn. Plotly là thư viện hữu ích giúp tạo biểu đồ hình tròn tương tác dễ dàng

Mối quan tâm duy nhất là hiển thị biểu đồ thanh tương tác cho người dùng cuối;

Vẽ biểu đồ thanh tương tác

Biểu đồ thanh tương tác cho thấy lượng khí thải CO2 từ 200 đến 1.000 MTCO2e vào năm 2018 theo quốc gia. Hình ảnh của tác giả

6. Hiển thị tỷ lệ phần trăm trong biểu đồ hình tròn

Biểu đồ hình tròn là một biểu đồ điển hình khác trong trực quan hóa dữ liệu. Về cơ bản, nó là một đồ họa thống kê hình tròn được chia thành các lát để hiển thị tỷ lệ số. Biểu đồ hình tròn thông thường có thể được chuyển đổi thành biểu đồ tương tác để có thể phát hoặc lọc kết quả. Chúng ta có thể sử dụng Plotly để tạo biểu đồ hình tròn tương tác

Tương tự như sử dụng biểu đồ thanh tương tác, nên có hướng dẫn giải thích cách sử dụng chức năng trong trường hợp người đọc là người dùng cuối

Vẽ biểu đồ hình tròn tương tác

Biểu đồ hình tròn tương tác cho thấy lượng khí thải CO2 từ 200 đến 1.000 MTCO2e vào năm 2018 theo quốc gia. Hình ảnh của tác giả

7. Vẽ xung quanh một vòng tròn bằng biểu đồ Radar

Biểu đồ radar là một phương pháp đồ họa hiển thị dữ liệu đa biến. Để so sánh, biểu đồ thanh chủ yếu được sử dụng với dữ liệu phân loại. Để áp dụng biểu đồ radar với dữ liệu phân loại, chúng ta có thể coi mỗi loại là một biến trong dữ liệu đa biến. Giá trị của mỗi danh mục sẽ được vẽ từ trung tâm

Với nhiều danh mục, người dùng có thể khó so sánh các dữ liệu không nằm cạnh nhau. Điều này có thể được giải quyết bằng cách áp dụng biểu đồ radar với dữ liệu được sắp xếp. Do đó, người dùng có thể xác định giá trị nào cao hơn hoặc thấp hơn các giá trị khác

Vẽ biểu đồ radar với DataFrame

Biểu đồ Radar cho thấy lượng khí thải CO2 từ 200 đến 1.000 MTCO2e vào năm 2018 theo quốc gia. Hình ảnh của tác giả

Vẽ biểu đồ radar với DataFrame được sắp xếp

Biểu đồ radar cho thấy lượng khí thải CO2 từ 200 đến 1.000 MTCO2e vào năm 2018 theo quốc gia. Hình ảnh của tác giả

8. Sử dụng nhiều vòng kết nối với biểu đồ Bong bóng

Về mặt lý thuyết, biểu đồ bong bóng là một biểu đồ phân tán với các kích thước khác nhau của điểm dữ liệu. Đây là một biểu đồ lý tưởng để hiển thị dữ liệu ba chiều, giá trị X, giá trị Y và kích thước dữ liệu

Một điểm hay khi áp dụng biểu đồ bong bóng với dữ liệu phân loại không có giá trị X và Y là chúng ta có thể xác định vị trí các bong bóng theo cách chúng ta muốn. Ví dụ: mã bên dưới cho biết cách vẽ các bong bóng theo chiều dọc

Tạo danh sách các giá trị X, giá trị Y và nhãn. Sau đó, thêm chúng dưới dạng cột vào DataFrame. Nếu bạn muốn vẽ các bong bóng theo hướng nằm ngang, hãy xen kẽ các giá trị giữa các cột X và Y

Vẽ biểu đồ bong bóng dọc

Biểu đồ bong bóng dọc cho thấy lượng khí thải CO2 từ 200 đến 1.000 MTCO2e vào năm 2018 theo quốc gia. Hình ảnh của tác giả

Để tiến xa hơn, chúng ta có thể hiển thị các bong bóng ở các dạng khác nhau. Hãy thử vẽ chúng theo hướng tròn

Để làm được điều đó, chúng ta cần tính tọa độ X và Y. Bắt đầu với việc chia 360 độ cho số hàng. Sau đó, chuyển đổi độ bằng các hàm Cosine và Sine để có tọa độ X và Y tương ứng

Vẽ các bong bóng theo hướng tròn

Biểu đồ bong bóng theo hướng tròn cho thấy lượng khí thải CO2 từ 200 đến 1.000 MTCO2e vào năm 2018 theo quốc gia. Hình ảnh của tác giả

Có thể nhận thấy rằng chúng ta định vị các bong bóng càng phức tạp thì chúng ta càng mất nhiều không gian. Chúng ta có thể tiết kiệm không gian cho các hình ảnh trực quan khác bằng biểu đồ bong bóng dọc hoặc ngang

9. Nhóm các bong bóng với đóng gói Vòng tròn

Cuối cùng, hãy nhóm các bong bóng không có vùng chồng lên nhau. Đóng gói hình tròn là một ý tưởng hay để vẽ các bong bóng trong khi tiết kiệm không gian. Chúng ta cần tính toán vị trí và kích thước của từng bong bóng. May mắn thay, có một thư viện tên là circlify giúp việc tính toán trở nên dễ dàng

Một nhược điểm của đóng gói hình tròn là khó tìm ra sự khác biệt giữa các bong bóng có kích thước gần nhau. Điều này có thể được giải quyết bằng cách dán nhãn cho từng bong bóng với giá trị của nó

Vẽ đồ thị đóng gói vòng tròn

Đóng gói vòng tròn cho thấy lượng khí thải CO2 từ 200 đến 1.000 MTCO2e vào năm 2018 theo quốc gia. Hình ảnh của tác giả

Tóm lược

Không có gì sai với biểu đồ thanh. Thực tế, biểu đồ thanh rất đơn giản và dễ sử dụng. Tuy nhiên, biểu đồ nào cũng hoàn hảo và phù hợp với mọi công việc. Trực quan hóa dữ liệu đôi khi cần thu hút sự chú ý, chẳng hạn như tạo đồ họa thông tin mà biểu đồ thanh có thể không mang lại sự hấp dẫn

Bài viết này đã hiển thị chín hình ảnh hiển thị cùng chiều dữ liệu với biểu đồ thanh và thu hút sự chú ý. Nhân tiện, những biểu đồ này cũng có nhược điểm của chúng. Vui lòng xem xét rằng chúng có thể khó đọc hoặc không phù hợp cho một báo cáo chính thức

Nếu bạn có bất kỳ đề xuất hoặc đề xuất nào, vui lòng để lại nhận xét. Cảm ơn vì đã đọc

Chủ Đề