Добавление имени двух символов в карту состояния в R [дубликат]

Попытка объяснить это более описательно,

Операция 1:

x = [[0, 0], [0, 0]]
print(type(x)) # <class 'list'>
print(x) # [[0, 0], [0, 0]]

x[0][0] = 1
print(x) # [[1, 0], [0, 0]]

Операция 2:

y = [[0] * 2] * 2
print(type(y)) # <class 'list'>
print(y) # [[0, 0], [0, 0]]

y[0][0] = 1
print(y) # [[1, 0], [1, 0]]

Заметил, почему не изменяется первый элемент первого списка не изменил второй элемент каждого списка? Это потому, что [0] * 2 действительно представляет собой список из двух чисел, и ссылка на 0 не может быть изменена.

Если вы хотите создать копии клонов, попробуйте выполнить операцию 3:

import copy
y = [0] * 2   
print(y)   # [0, 0]

y = [y, copy.deepcopy(y)]  
print(y) # [[0, 0], [0, 0]]

y[0][0] = 1
print(y) # [[1, 0], [0, 0]]

еще один интересный способ создания копий клонов, операция 4:

import copy
y = [0] * 2
print(y) # [0, 0]

y = [copy.deepcopy(y) for num in range(1,5)]
print(y) # [[0, 0], [0, 0], [0, 0], [0, 0]]

y[0][0] = 5
print(y) # [[5, 0], [0, 0], [0, 0], [0, 0]]
1
задан Matt O'Brien 3 May 2014 в 18:48
поделиться

1 ответ

Это даст вам очертания состояния зеленым цветом с прозрачным серым наложением:

map(database= "state", col="green", fill=FALSE)
map(database= "usa", col="#AAAAAA22", fill=TRUE,lty=0,add=TRUE)

(добавлено значение «альфа» для серого цвета, чтобы границы «отображались» ... см. ?rgb и ?col2rgb.) Это добавляет ярлыки, но очень беспорядочно и с дополнительными областями:

map.text(database="state", add=TRUE) #  Not advised

Я думаю, что потребуется дополнительная работа с набором данных state в наборе наборов данных для сопоставления аббревиатуры к государственным центрам.

?state

Это показалось эффективным, хотя вы можете сделать текст немного меньшим с помощью cex = 0.6:

text(x=state.center$x, y=state.center$y, state.abb)  # better

enter image description here [/g0]

С некоторой дополнительной настройкой вы можете удалить часть границы, перезаписав ее белым:

map(database= "state", col="green", fill=FALSE)
map(database= "usa", col="#FFFFFF", fill=FALSE,add=TRUE, lwd=1.5)   # the overwrite of boundary
map(database= "usa", col="#AAAAAA22", fill=TRUE,lty=0,add=TRUE)   # note the transparency
text(x=state.center$x, y=state.center$y, state.abb, cex=0.5)

enter image description here [/g1]

4
ответ дан 42- 20 August 2018 в 22:54
поделиться
  • 1
    Спасибо за отличный ответ, это работает (почти) отлично! Я снимаю для той же цветовой схемы, что и второй сюжет: не зеленые границы вокруг штатов. Я пробовал это: map (database = "state", col = "# 000000", fill = FALSE) map (database = "usa", col = "grey80", fill = TRUE, lty = 0 , add = TRUE) `, но я не могу соответствовать цветам. Вы знаете, почему карта США покрывает границы государств в моей ситуации? – Matt O'Brien 3 May 2014 в 20:21
  • 2
    Потому что я использовал прозрачный цвет, и вы этого не сделали. Последние два шестнадцатеричных цифры (из восьми) по моей спецификации цвета заливки составляли 22, поэтому он был довольно прозрачным и позволял показывать зеленые границы. Если вы хотите, чтобы серые границы просто изменялись и назывались «зелеными», к "серой". – 42- 3 May 2014 в 20:27
  • 3
    BondedDust, я впечатлен вашими навыками ... не могу выразить свою благодарность! Спасибо, что спасли мне бесчисленные часы и помогли мне увеличить свои возможности с помощью этого пакета. – Matt O'Brien 3 May 2014 в 20:33
Другие вопросы по тегам:

Похожие вопросы: