2015-03-31 43 views
2

我想在加拿大的底部創建R中美國的PADD區域。這可能嗎?如何在R中的地圖上填寫個別狀態?

我想保留標籤,並根據PADD突出顯示狀態。我試圖尋找一個像這樣的例子,但無法找到它。

library(maps) 
map("state", interior = FALSE) 
map("state", boundary = FALSE, col="gray", add = TRUE) 

這是缺少狀態標籤,顏色和加拿大的底部。

enter image description here

謝謝,我是能夠獲得陰影排序的工作,但在我填寫一個PADD下一填補了過去PADDS。另外,我仍然希望將加拿大的底部添加到組合中。最後,我在添加文本標籤時出現錯誤。

對於PADDS和國家的表格:

PADDS<-structure(
    list(STATE = structure(1:50, 
          .Label = c("ALABAMA", "ALASKA", "ARIZONA", "ARKANSAS", "CALIFORNIA", "COLORADO", "CONNECTICUT", "DELAWARE", "FLORIDA", "GEORGIA", "HAWAII", "IDAHO", "ILLINOIS", "INDIANA", "IOWA", "KANSAS", "KENTUCKY", "LOUISIANA", "MAINE", "MARYLAND", "MASSACHUSETTS", "MICHIGAN", "MINNESOTA", "MISSISSIPPI", "MISSOURI", "MONTANA", "NEBRASKA", "NEVADA", "NEW HAMPSHIRE", "NEW JERSEY", "NEW MEXICO", "NEW YORK", "NORTH CAROLINA", "NORTH DAKOTA", "OHIO", "OKLAHOMA", "OREGON", "PENNSYLVANIA", "RHODE ISLAND", "SOUTH CAROLINA", "SOUTH DAKOTA", "TENNESSEE", "TEXAS", "UTAH", "VERMONT", "VIRGINIA", "WASHINGTON", "WEST VIRGINIA", "WISCONSIN", "WYOMING"), 
          class = "factor" 
       ), 
     State = structure(1:50, 
          .Label = c("Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota", "Ohio", "Oklahoma", "Oregon", "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming"), 
          class = "factor" 
       ), 
     StateAbbreviation = structure(
           c(2L, 1L, 4L, 3L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 13L, 14L, 15L, 12L, 16L, 17L, 18L, 21L, 20L, 19L, 22L, 23L, 25L, 24L, 26L, 29L, 33L, 30L, 31L, 32L, 34L, 27L, 28L, 35L, 36L, 37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 46L, 45L, 47L, 49L, 48L, 50L), 
           .Label = c("AK", "AL", "AR", "AZ", "CA", "CO", "CT", "DE", "FL", "GA", "HI", "IA", "ID", "IL", "IN", "KS", "KY", "LA", "MA", "MD", "ME", "MI", "MN", "MO", "MS", "MT", "NC", "ND", "NE", "NH", "NJ", "NM", "NV", "NY", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VA", "VT", "WA", "WI", "WV", "WY"), 
           class = "factor" 
          ), 
     PADD = structure(
        c(4L, 5L, 5L, 4L, 5L, 1L, 2L, 2L, 2L, 2L, 5L, 1L, 3L, 3L, 3L, 3L, 3L, 4L, 2L, 2L, 2L, 3L, 3L, 4L, 3L, 1L, 3L, 5L, 2L, 2L, 4L, 2L, 2L, 3L, 3L, 3L, 5L, 2L, 2L, 2L, 3L, 3L, 4L, 1L, 2L, 2L, 5L, 2L, 3L, 1L), 
        .Label = c("PAD IV", "PADD I", "PADD II", "PADD III", "PADD V"), 
        class = "factor" 
       ), 
     SubAreaInPADD = structure(
          c(1L, 1L, 1L, 1L, 1L, 1L, 2L, 3L, 4L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 3L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 3L, 1L, 3L, 4L, 1L, 1L, 1L, 1L, 3L, 2L, 4L, 1L, 1L, 1L, 1L, 2L, 4L, 1L, 4L, 1L, 1L), 
          .Label = c("", "Sub A", "Sub B", "Sub C"), 
          class = "factor" 
         ), 
     SubAreaInPADDName = structure(
           c(1L, 1L, 1L, 1L, 1L, 1L, 4L, 2L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 4L, 2L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 4L, 2L, 1L, 2L, 3L, 1L, 1L, 1L, 1L, 2L, 4L, 3L, 1L, 1L, 1L, 1L, 4L, 3L, 1L, 3L, 1L, 1L), 
           .Label = c("", "Central Atlantic", "Lower Atlantic", "New England"), 
           class = "factor" 
          ), 
     PADDName = structure(
         c(2L, 5L, 5L, 2L, 5L, 4L, 1L, 1L, 1L, 1L, 5L, 4L, 3L, 3L, 3L, 3L, 3L, 2L, 1L, 1L, 1L, 3L, 3L, 2L, 3L, 4L, 3L, 5L, 1L, 1L, 2L, 1L, 1L, 3L, 3L, 3L, 5L, 1L, 1L, 1L, 3L, 3L, 2L, 4L, 1L, 1L, 5L, 1L, 3L, 4L), 
         .Label = c("East Coast", "Gulf Coast", "MidWest", "Rocky Mountain", "West Coast"), 
         class = "factor" 
        ) 
    ), 

    .Names = c("STATE", "State", "StateAbbreviation", "PADD", "SubAreaInPADD", "SubAreaInPADDName", "PADDName"), 
    class = "data.frame", 
    row.names = c(NA, -50L) 
) 

要建立圖表:

PADD_Names<-unique(PADDS$PADDName) 

map("state", interior = FALSE) 
PADD1<-subset(PADDS, PADD=="PADD I") 
PADD2<-subset(PADDS, PADD=="PADD II") 
PADD3<-subset(PADDS, PADD=="PADD III") 
PADD4<-subset(PADDS, PADD=="PADD IV") 
PADD5<-subset(PADDS, PADD=="PADD V") 

map('state', region = PADD1$State, fill=TRUE, col="red", add=TRUE, names=TRUE) # map of four states 
map('state', region = PADD2$State, fill=TRUE, col="green", add=TRUE, names=TRUE) # map of four states 
map('state', region = PADD3$State, fill=TRUE, col="blue", add=TRUE, names=TRUE) # map of four states 
map('state', region = PADD4$State, fill=TRUE, col="yellow", add=TRUE, names=TRUE) # map of four states 
map('state', region = PADD5$State, fill=TRUE, col="purple", add=TRUE, names=TRUE) # map of four states 

map.text("state", regions=PADDS$State, labels=as.character(PADDS$StateAbbreviation), add=TRUE) #add labels 

回答

2

你這是怎麼顏色狀態,並添加標籤:

library(maps) 
map("state", interior = FALSE) 
map('state', region = c('illinois', 'indiana', 'iowa', 'ohio'), fill=TRUE, col="red", add=TRUE) # map of four states 
map.text("state", regions=c("illinois", "indiana", "iowa", "ohio"), labels=as.character(c("IL", "IN", "IA", "OH")), add=TRUE) #add labels 
+0

不錯!有沒有辦法將狀態塊分開,就像PADD之間的白色差距? – lawyeR 2015-03-31 22:14:29