Tôi tình cờ gặp phải hành vi kỳ lạ này với lệnh ggplot2s của truyền thuyết và không thể tìm ra logic đằng sau vị trí tự động của truyền thuyết là:Đặt hàng nhiều truyền thuyết/hướng dẫn (logic tự động là gì và cách thay đổi nó?)
Mục tiêu của tôi: Trong ô có nhiều thang tôi muốn sắp xếp chúng theo thứ tự khác (theo thứ tự) so với thứ tự tự động. Nhưng tôi không thể tìm thấy một lệnh trong opts() hoặc hướng dẫn() để làm điều này cho tôi. Và chỉ cần rõ ràng: Tôi không muốn thay đổi các mục trong các truyền thuyết, nó hoạt động tốt, nhưng sự sắp xếp của nhiều truyền thuyết hoàn chỉnh.
Vì vậy, trước tiên tôi giả định rằng chúng được sắp xếp theo loại, ví dụ: tỷ lệ, màu sắc vv. Nhưng đó không phải là trường hợp, thay đổi vị trí của chúng (xem bên dưới).
Thứ tự bảng chữ cái? số
library(ggplot2) ## v0.9
## Scale_colour on top
qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class) +
scale_size(name = "A") + scale_colour_discrete(name = "B")
## Reverse names --> scale_colour on bottom
qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class) +
scale_size(name = "B") + scale_colour_discrete(name = "A")
## Change name B to C --> scale_colour on bottom
qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class) +
scale_size(name = "C") + scale_colour_discrete(name = "A")
## Change name B to D --> scale_colour on top
qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class) +
scale_size(name = "D") + scale_colour_discrete(name = "A")
vị trí tiếp theo của scale_colour (đối với tên scale_size trao đổi)
- "E": đáy
- "F" - "L": top
- "M" - "N": dưới cùng
và tiếp tục xuất hiện ở trên cùng ở dưới cùng.
Thứ tự giai thừa? No.
## From top to bottom: C - B - A
fname <- factor(c("A","B","C"), levels = c("A","B","C"))
qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class, alpha = cyl) +
scale_size(name = fname[1]) + scale_colour_discrete(name = fname[2]) + scale_alpha(name=fname[3])
## From top to bottom: B - C - A
fname <- factor(c("A","B","C"), levels = c("C","B","A"))
qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class, alpha = cyl) +
scale_size(name = fname[1]) + scale_colour_discrete(name = fname[2]) + scale_alpha(name=fname[3])
## From top to bottom: B - C - A
fname <- factor(c("A","B","C"), levels = c("B","C","A"))
qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class, alpha = cyl)+
scale_size(name = fname[1]) + scale_colour_discrete(name = fname[2]) + scale_alpha(name=fname[3])
Độ dài tiêu đề? No. Tôi sẽ dừng ngay bây giờ với mã ví dụ, nhưng điều đó cũng mang lại các đơn hàng dao động độc lập với độ dài ký tự.
Bất kỳ ý tưởng nào?
Điều thú vị là, đối với tập hợp ví dụ đầu tiên của bạn, hãy thêm một khoảng trắng vào mỗi tên * làm * làm cho truyền thuyết xuất hiện theo thứ tự bảng chữ cái. (ví dụ: 'scale_size (name =" B ") + scale_colour_discrete (name =" C ")'). * Phương pháp đó, tuy nhiên, lại thất bại khi có nhiều hơn hai huyền thoại được sắp xếp ... –
Tôi sẽ rất thích câu trả lời cho câu hỏi này, mặc dù tôi nghi ngờ nó sẽ yêu cầu một người như Kohske hoặc Hadley cân nhắc. Tôi không thể tìm thấy bất kỳ cuộc thảo luận nào về điều này từ danh sách gửi thư, nhưng có vẻ như một điều gì đó đáng lẽ phải xuất hiện ở một thời điểm nào đó. – joran
Thật không may, bây giờ thứ tự của các hộp chú giải phụ thuộc vào 'băm' của chúng, vì vậy không có cách nào để dự đoán thứ tự ... Chắc chắn đây là ý tưởng tồi về việc triển khai của tôi. I (hoặc Hadley hoặc WCH) sẽ khắc phục sự cố này trong phiên bản sau. – kohske