2013-05-21 34 views
5

Tôi muốn vẽ một số biểu đồ dữ liệu thời gian (dài 1 tuần) trên cùng một ô như các dòng.Biểu đồ lô như các dòng

tôi có thời gian dữ liệu:

> dput(head(ts)) 
structure(c(1364421605.227, 1364375025.034, 1364376298.393, 1364375002.928, 
1364393158.084, 1364423268.856), class = c("POSIXct", "POSIXt")) 

và tôi muốn vẽ biểu đồ của nó. hist(ts,breaks=7*24) hoạt động tốt, nhưng nó sử dụng loại âm mưu h sẽ che khuất các ô biểu đồ khác mà tôi muốn thêm (Tôi biết tôi có thể sử dụng màu trong suốt - rainbow với alpha=0.5, nhưng tôi thực sự muốn xem các dòng).

tôi đã cố gắng

> hist(ts, breaks = 7*24, type="l") 
Warning messages: 
1: In title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...) : 
    graphical parameter "type" is obsolete 
Calls: hist -> hist.POSIXt -> myplot -> plot -> plot.histogram -> title 
2: In axis(2, ...) : graphical parameter "type" is obsolete 
Calls: hist -> hist.POSIXt -> myplot -> axis 
3: In axis(side, at = z, labels = labels, ...) : 
    graphical parameter "type" is obsolete 
Calls: hist -> hist.POSIXt -> myplot -> axis.POSIXct -> axis 

tại sao hist qua type để title?

tôi có thể tạo ra các đối tượng biểu đồ và vẽ nó cách riêng biệt:

> h <- hist(ts, breaks=7*24, plot=FALSE) 
> plot(x=h$mids, y=h$density, type="l") 

nhưng sau đó trục x được dán nhãn với số lượng (e.d., "1364421605") không số ngày (ví dụ, "Mar 25").

Tôi đoán tôi phải sử dụng axis, nhưng tôi không muốn xử lý bản thân mình - sau khi tất cả, hist chỉ xây dựng trục tôi muốn!

Cảm ơn!

+0

Vâng, có vẻ như rằng 'hist' nghĩa đen là không được xây dựng để làm điều đó. Nếu bạn nhìn vào mã cho các phương thức cốt truyện, nó có nghĩa là các hình chữ nhật cứng được mã hóa với một lệnh gọi là 'rect'. Trong các phương thức POSIX, nó có một số mã phức tạp để xây dựng các trục bạn thích. Vì vậy, bạn có thể sẽ phải tái tạo cấu trúc trục đó (hoặc có thể có chức năng vẽ trong một gói đã thực hiện điều này, ai biết). – joran

+0

Ngoài ra, bạn có thể thấy thông qua các đối số không được sử dụng cho 'title' trong trang trợ giúp cho' hist', cụ thể trong phần '...'. – Justin

+0

Nếu bạn sử dụng 'ggplot' thay vào đó, nó có thể đặt các biểu đồ khác nhau bên cạnh nhau (sử dụng các màu khác nhau nếu bạn thích), do đó hiển thị toàn bộ vấn đề tranh luận. Xem ví dụ http://docs.ggplot2.org/0.9.3/geom_histogram.html – eddi

Trả lời

5

Điều sau có vẻ lạ vì bạn chỉ cho chúng tôi sáu điểm dữ liệu trong số dput của mình. Bạn có thể vẽ một âm mưu dòng mà không có trục x và thêm nó sau đó như vậy:

h <- hist(ts, breaks=7*24, plot=FALSE) 
plot(x=h$mids, y=h$density, type="l", xaxt="n") 
axis(1,at=ts,labels=format(ts,"%b-%d")) 

enter image description here

+1

Tuyệt vời! ngoại trừ 'trục' nên được gọi là 'trục (1, tại = h $ ngắt, nhãn = định dạng (as.POSIXct (h $ ngắt, origin =" 1970-01-01 "),"% b% d ")) ' – sds

+0

Bạn cũng có thể làm cho nó trông ít" lạ "bằng cách chọn ít thùng hơn. – Denise

Các vấn đề liên quan