Trực quan hóa nhiều biểu đồ của người hâm mộ (biểu đồ thanh)


9

Tôi đang gặp khó khăn để chọn đúng cách để trực quan hóa dữ liệu. Giả sử chúng ta có các hiệu sách bán sách và mỗi cuốn sách có ít nhất một danh mục .

Đối với một hiệu sách, nếu chúng ta đếm tất cả các loại sách, chúng ta có được một biểu đồ cho thấy số lượng sách rơi vào một danh mục cụ thể cho hiệu sách đó.

Tôi muốn hình dung hành vi của hiệu sách, tôi muốn xem liệu họ có thích một danh mục hơn các danh mục khác không. Tôi không muốn xem liệu họ có thích khoa học viễn tưởng cùng nhau không, nhưng tôi muốn xem liệu họ có đối xử bình đẳng với mọi thể loại hay không.

Tôi có ~ 1 triệu hiệu sách.

Tôi đã nghĩ đến 4 phương pháp:

  1. Lấy mẫu dữ liệu, chỉ hiển thị 500 biểu đồ của hiệu sách. Hiển thị chúng trong 5 trang riêng biệt bằng cách sử dụng lưới 10x10. Ví dụ về lưới 4 x 4:

    nhiều biểu đồ 1

  2. Tương tự như # 1. Nhưng lần này sắp xếp các giá trị trục x theo số đếm của chúng, vì vậy nếu có sự ưu tiên, nó sẽ được nhìn thấy dễ dàng.

  3. Hãy tưởng tượng đặt các biểu đồ ở vị trí số 2 với nhau như một cỗ bài và hiển thị chúng dưới dạng 3D. Một cái gì đó như thế này:
    Biểu đồ 3D

  4. Thay vì sử dụng màu kiện trục thứ ba để thể hiện màu sắc, vì vậy, sử dụng bản đồ nhiệt (biểu đồ 2D): Biểu đồ 2D
    Nếu nói chung các nhà sách thích một số danh mục khác, nó sẽ được hiển thị dưới dạng một gradient đẹp từ trái sang phải.

Bạn có bất kỳ ý tưởng / công cụ trực quan nào khác để đại diện cho nhiều biểu đồ không?


4
Tôi nghĩ bạn có nghĩa là biểu đồ thanh chứ không phải biểu đồ
Rob Hyndman

@Rob: Không phải biểu đồ là một loại biểu đồ thanh đặc biệt đại diện cho phân phối tần số? Tôi đang cố gắng hình dung tần số danh mục cho nhiều hiệu sách.
nimcap

1
@nimcap Không, vì biểu đồ vượt qua một biến liên tục và thể loại sách là một biến phân loại.

@mbq Giả sử một cửa hàng sách có 3 cuốn sách và các loại của chúng là: B1: [c1, c2, c3] B2: [c1, c3] B3: [c1, c4]. Khi chúng tôi tổng hợp số lượng danh mục, chúng tôi nhận được [c1 x 3, c2 x 1, c3 x 2, c4 x 1]. Điều này không đủ để tạo ra một biểu đồ?
nimcap

2
@nimcap Không, nó là đủ để tạo một biểu đồ thanh. Biểu đồ có thể được thực hiện ví dụ cho một mức giá của một cuốn sách.

Câu trả lời:


12

Như bạn đã tìm ra không có câu trả lời dễ dàng cho câu hỏi của bạn!

Tôi đoán rằng bạn quan tâm đến việc tìm kiếm các cửa hàng sách lạ hoặc khác nhau? Nếu đây là trường hợp thì bạn có thể thử những thứ như PCA (xem trang phân tích cụm wikipedia để biết thêm chi tiết).

Để cho bạn một ý tưởng, hãy xem xét ví dụ này. Bạn có 26 hiệu sách (với tên A, B, .. Z). Tất cả các hiệu sách đều tương tự, ngoại trừ:

  1. Cửa hàng Z chỉ bán một vài cuốn sách Lịch sử.
  2. Cửa hàng OY bán nhiều sách lãng mạn hơn mức trung bình.

Một âm mưu thành phần chính làm nổi bật các cửa hàng này để điều tra thêm.

Đây là một số mã R mẫu:

> d = data.frame(Romance = rpois(26, 50), Horror = rpois(26, 100), 
               Science = rpois(26, 75), History = rpois(26, 125))
> rownames(d) = LETTERS
#Alter a few shops
> d[15:25,][1] = rpois(11,150)
> d[26,][4] = rpois(1, 10)
#look at the data
> head(d, 2)
       Romance Horror Science History
 A      36    107      62     139
 B      47     93      64     118
> books.PC.cov = prcomp(d)
> books.scores.cov = predict(books.PC.cov)
# Plot of PC1 vs PC2
> plot(books.scores.cov[,1],books.scores.cov[,2],
       xlab="PC 1",ylab="PC 2", pch=NA)
> text(books.scores.cov[,1],books.scores.cov[,2],labels=LETTERS)

Điều này đưa ra cốt truyện sau:

Âm mưu PCA http://img265.imageshack.us/img265/7263/tmplx.jpg

Thông báo rằng:

  1. Cửa hàng z là một điểm xa xôi.
  2. Các cửa hàng khác tạo thành hai nhóm riêng biệt.

Các khả năng khác

Bạn cũng có thể nhìn vào GGobi , tôi chưa bao giờ sử dụng nó, nhưng nó có vẻ thú vị.


Cảm ơn bạn đã trả lời có giá trị của bạn. Tình huống khó diễn tả ngay cả bằng ngôn ngữ mẹ đẻ của tôi :) Hãy để tôi thử. Tôi không quan tâm nếu các nhà sách đang ủng hộ các danh mục cụ thể nhưng tôi muốn xem nếu họ ủng hộ các danh mục. Trên thực tế đây là những gì tôi đang mong đợi. Giả sử tôi có 3 hiệu sách (B1, B2, B3) và 4 danh mục (C1, C2, C3, C4). Đây là dữ liệu bán hàng của họ: B1 (1, 1, 20, 20) B2 (90, 1, 1, 1), B3 (1, 1, 1, 30). Nhìn vào dữ liệu này tôi có thể nói họ ủng hộ một số loại khác. Nhưng nếu dữ liệu giống như B1 (20, 30, 20, 20) B2 (90, 100, 100, 100), B3 (30, 30, 40, 40) thì tôi không thể nói điều đó.
nimcap

Trong ví dụ của tôi, các cửa hàng OY thích sách lãng mạn. Đây là lý do tại sao các cửa hàng này nằm trong một nhóm riêng biệt trong cốt truyện PC.
csgillespie

2
Tôi đã bình chọn đây là một câu trả lời chung tốt nhưng là một câu trả lời thực tế, đối phó với nhiều điểm dữ liệu sẽ trở nên tàn bạo.
Giăng

1
+1 Đây chắc chắn không phải là điều OP muốn, nhưng đây chắc chắn là điều cô ấy / anh ấy nên muốn.

1
+1 Ví dụ hay về ứng dụng "xuống đất" của PCA.
nico

3

Tôi sẽ đề xuất một cái gì đó chưa có tên xác định (có thể là "cốt truyện song song") và trông như thế này:

văn bản thay thế

Về cơ bản, bạn vẽ tất cả các tổng số cho tất cả các nhà sách dưới dạng các điểm trên các danh mục được liệt kê trên trục x và kết nối các kết quả từ mỗi hiệu sách với một dòng. Tuy nhiên, điều này có thể quá rối cho các dòng 1M, mặc dù. Khái niệm này xuất phát từ GGobi đã được đề cập bởi csgillespie.


1
Các lô song song phụ thuộc rất nhiều vào thứ tự "đúng" của các biến, vì vậy đối với quá nhiều danh mục, điều này sẽ trở nên tẻ nhạt. Và nguồn chính xác dường như là A.Inselberg, 1981.
Benjamin Bannier

3
Chúng được gọi là các lô phối hợp song song: en.wikipedia.org/wiki/Parallel_coordins
Simon Byrne

@Simon cảm ơn; @honk Tôi đồng ý, đây là một lý do tại sao tôi không sử dụng chúng.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.