2012-08-10 4 views
10

Tôi đang cố gắng hình dung một bản đồ tương quan và tôi nghĩ rằng tôi đã làm cho nó hoạt động, ngoại trừ sự lộn xộn của các nhãn trục x. Bất kỳ đề xuất nào về cách xoay chúng? Một số tham số cho nhiều ô Base R dường như không có sẵn cho các vùng cấp. Có thể tôi không biết mình đang nói về cái gì.Cách xoay nhãn trục x 90 độ ở mức độ

Đây là dữ liệu tôi sử dụng:

cor2<-structure(c(1, -0.0389681095266643, -0.0389681095266643, 0.178476154216706, 
-0.178476154216706, -0.168494117498168, -0.0531355593389041, 
-0.0627159607856109, -0.11922152176561, 0.00887070126495505, 
-0.0721998017906867, -0.140654273521441, 0.0257953297166468, 
-0.0504004052031319, -0.057270788080051, -0.0918121581058645, 
-0.0389681095266643, 1, 1, -0.207885482210833, 0.207885482210833, 
0.221906241587463, 0.285338260198777, 0.370743678038144, 0.219208701879567, 
0.266580102221828, 0.193378655575033, 0.23922965323291, 0.164352387360997, 
0.229607796224011, 0.184412911672718, -0.250294366329347, -0.0389681095266643, 
1, 1, -0.207885482210833, 0.207885482210833, 0.221906241587463, 
0.285338260198777, 0.370743678038144, 0.219208701879567, 0.266580102221828, 
0.193378655575033, 0.23922965323291, 0.164352387360997, 0.229607796224011, 
0.184412911672718, -0.250294366329347, 0.178476154216706, -0.207885482210833, 
-0.207885482210833, 1, -1, -0.836264694082863, 0.0968492347163521, 
-0.529206721168992, -0.368511719318385, -0.370488391611307, -0.446552321746797, 
-0.0946404317035884, -0.166601542941319, -0.371982811624152, 
-0.0551151773556682, -0.0252777576827408, -0.178476154216706, 
0.207885482210833, 0.207885482210833, -1, 1, 0.836264694082863, 
-0.0968492347163521, 0.529206721168992, 0.368511719318385, 0.370488391611307, 
0.446552321746797, 0.0946404317035884, 0.166601542941319, 0.371982811624152, 
0.0551151773556682, 0.0252777576827408, -0.168494117498168, 0.221906241587463, 
0.221906241587463, -0.836264694082863, 0.836264694082863, 1, 
-0.0484257163697656, 0.493261440648374, 0.421352971692481, 0.335283617372406, 
0.42535494057661, 0.0277745485055271, 0.0990554932499753, 0.268268745412774, 
0.106129159123147, 0.0645326205432567, -0.0531355593389041, 0.285338260198777, 
0.285338260198777, 0.0968492347163521, -0.0968492347163521, -0.0484257163697656, 
1, -0.525318257575221, -0.160726744335619, -0.530266513726872, 
-0.523896249354085, 0.0821688285842216, 0.120061871987285, -0.0462809753885581, 
0.0894673511307366, -0.157709074647179, -0.0627159607856109, 
0.370743678038144, 0.370743678038144, -0.529206721168992, 0.529206721168992, 
0.493261440648374, -0.525318257575221, 1, 0.450831181390043, 
0.894070902852474, 0.937461049803717, 0.120717838386174, 0.0922093724569894, 
0.421886104540215, 0.0686035045695465, -0.0259181463830899, -0.11922152176561, 
0.219208701879567, 0.219208701879567, -0.368511719318385, 0.368511719318385, 
0.421352971692481, -0.160726744335619, 0.450831181390043, 1, 
0.194931612275736, 0.475810998910999, 0.0674296214446775, 0.0665009602984884, 
0.181289860729344, -0.0399243218645222, -0.0918283721705961, 
0.00887070126495505, 0.266580102221828, 0.266580102221828, -0.370488391611307, 
0.370488391611307, 0.335283617372406, -0.530266513726872, 0.894070902852474, 
0.194931612275736, 1, 0.955425650934062, 0.0881868869011078, 
0.139156258136006, 0.310078412850343, 0.137566770975812, -0.0893525009590147, 
-0.0721998017906867, 0.193378655575033, 0.193378655575033, -0.446552321746797, 
0.446552321746797, 0.42535494057661, -0.523896249354085, 0.937461049803717, 
0.475810998910999, 0.955425650934062, 1, 0.0988326951129949, 
0.147058790355866, 0.336760945050752, 0.110616903520016, -0.107521647802021, 
-0.140654273521441, 0.23922965323291, 0.23922965323291, -0.0946404317035884, 
0.0946404317035884, 0.0277745485055271, 0.0821688285842216, 0.120717838386174, 
0.0674296214446775, 0.0881868869011078, 0.0988326951129949, 1, 
0.746502805562635, 0.144029358291222, 0.496146773442592, -0.464865772986093, 
0.0257953297166468, 0.164352387360997, 0.164352387360997, -0.166601542941319, 
0.166601542941319, 0.0990554932499753, 0.120061871987285, 0.0922093724569894, 
0.0665009602984884, 0.139156258136006, 0.147058790355866, 0.746502805562635, 
1, 0.068339761274059, 0.546006730280353, -0.392180163611345, 
-0.0504004052031319, 0.229607796224011, 0.229607796224011, -0.371982811624152, 
0.371982811624152, 0.268268745412774, -0.0462809753885581, 0.421886104540215, 
0.181289860729344, 0.310078412850343, 0.336760945050752, 0.144029358291222, 
0.068339761274059, 1, -0.118872875719514, 0.0250634712618911, 
-0.057270788080051, 0.184412911672718, 0.184412911672718, -0.0551151773556682, 
0.0551151773556682, 0.106129159123147, 0.0894673511307366, 0.0686035045695465, 
-0.0399243218645222, 0.137566770975812, 0.110616903520016, 0.496146773442592, 
0.546006730280353, -0.118872875719514, 1, -0.0649756207052158, 
-0.0918121581058645, -0.250294366329347, -0.250294366329347, 
-0.0252777576827408, 0.0252777576827408, 0.0645326205432567, 
-0.157709074647179, -0.0259181463830899, -0.0918283721705961, 
-0.0893525009590147, -0.107521647802021, -0.464865772986093, 
-0.392180163611345, 0.0250634712618911, -0.0649756207052158, 
1), .Dim = c(16L, 16L), .Dimnames = list(c("ID", "QnWeight_initial", 
"QnWeight_initial_mg", "Days_till_1st_Wrkr", "Days_before_max_Wrkr_Eclosion", 
"Wrkr_Eclosion_Bin", "QnMass_At_Wrkr_Eclosion", "ColonyMass_At_Wrkr_Eclosion", 
"Adult_Wrkrs_At_Wrkr_Eclosion", "Mature_Brood_At_Wrkr_Eclosion", 
"Sum_wrkrsPlusBrood_At_Wrkr_Eclosion", "QnMass_2wksLater", "QnMass_4wksLater", 
"ColonyMass_4wksLater", "QnMass_2mnthsLater", "ColonyMass_2mnthsLater" 
), c("ID", "QnWeight_initial", "QnWeight_initial_mg", "Days_till_1st_Wrkr", 
"Days_before_max_Wrkr_Eclosion", "Wrkr_Eclosion_Bin", "QnMass_At_Wrkr_Eclosion", 
"ColonyMass_At_Wrkr_Eclosion", "Adult_Wrkrs_At_Wrkr_Eclosion", 
"Mature_Brood_At_Wrkr_Eclosion", "Sum_wrkrsPlusBrood_At_Wrkr_Eclosion", 
"QnMass_2wksLater", "QnMass_4wksLater", "ColonyMass_4wksLater", 
"QnMass_2mnthsLater", "ColonyMass_2mnthsLater"))) 

Mã của tôi:

rgb.palette <- colorRampPalette(c("blue", "yellow"), space = "rgb") 
levelplot(cor2, aspect="iso", main="Correlation Matrix", xlab="", xaxt='n', ylab="", col.regions=rgb.palette(120), cuts=100, at=seq(0,1,0.01)) #, names.arg=paste(cor2[,1]),las=3 

#this is what I tried, and it didn't work. I couldn't get names(cor2) to work, but I guess that this is a separate question. 
labs<- (cor2[,0]) 
text(cex=1, x=x-0.25, y=-1.5, labs, xpd=TRUE, srt=90) 

##want something like this, but can't find an analogous way to remove axisnames and add text 
#x <- barplot(table(mtcars$cyl),axisnames=FALSE)#,xaxt="n" 
#labs <- paste(names(table(mtcars$cyl)), "cylinders") 
#text(cex=1, x=x-0.25, y=-1.5, labs, xpd=TRUE, srt=90) 
+1

Dường như bạn sẽ cần phải đào sâu vào 'mạng' (và có thể là 'lưới') để thực hiện việc này. Đối với người mới bắt đầu, bạn muốn hàm mạng 'ltext()' thay vì đồ họa cơ bản 'text()'. Ngoài ra, đối với các nhãn bạn cần 'labs <- colnames (cor2)'. – bdemarest

Trả lời

22

Theo như vòng quay của nhãn trục x đi, bạn phải sử dụng tham số scales (xem ?xyplot để biết thêm thông tin về các thông số lattice). Bạn chỉ muốn sửa đổi thành phần x: scales=list(x=list(rot=90)). Trong ngữ cảnh:

levelplot(cor2, 
      aspect="iso", scales=list(x=list(rot=90)), 
      main="Correlation Matrix", col.regions=rgb.palette(120), 
      cuts=100, at=seq(0,1,0.01)) 
+0

đã hoạt động, tuyệt vời. Tuy nhiên tôi có một câu hỏi: tại sao bạn phải xác định thuộc tính x scale/list và làm: '' 'labelrotation = c (0, 90) scale = list (rot = labelrotation)' '' không hoạt động, vì rotation có thể là một vectơ chỉ định xoay cho cả trục x và trục y? –

+0

Đó là một câu hỏi hay (bạn có thể hỏi nó như một câu hỏi thích hợp để có được khả năng hiển thị nhiều hơn) mà tôi không chắc chắn làm thế nào để trả lời. Từ tài liệu tôi đọc 'rot Góc (theo độ) mà nhãn trục sẽ được xoay. Có thể là một vectơ có chiều dài 2, để điều khiển trục trái/dưới và phải/trên một cách riêng biệt.' điều này khiến tôi nghĩ rằng nó không phải là vectơ/y (nếu không nó sẽ là "trái và dưới" riêng biệt và không "trái"/trục dưới cùng và bên phải/trên cùng một cách riêng biệt "). – plannapus