Я хочу добавить еще одну легенду, которая сообщает мне, какое кольцо круговой карты тепла представляет (от внешнего кольца до внутреннего кольца).Как добавить другую легенду к круговой карте тепла в R
Я попытался следующие из другого answer ранее:
library(reshape)
library(ggplot2)
library(plyr)
nba <- read.csv("http://datasets.flowingdata.com/ppg2008.csv")
nba$Name <- with(nba, reorder(Name, PTS))
nba.m <- melt(nba)
nba.m <- ddply(nba.m, .(variable), transform, value = scale(value))
# Convert the factor levels (variables) to numeric + quanity to determine size of hole.
nba.m$var2 = as.numeric(nba.m$variable) + 15
# Labels and breaks need to be added with scale_y_discrete.
y_labels = levels(nba.m$variable)
y_breaks = seq_along(y_labels) + 15
nba.labs <- subset(nba.m, variable==levels(nba.m$variable) [nlevels(nba.m$variable)])
nba.labs <- nba.labs[order(nba.labs$Name),]
nba.labs$ang <- seq(from=(360/nrow(nba.labs))/1.5, to=(1.5* (360/nrow(nba.labs)))-360, length.out=nrow(nba.labs))+80
nba.labs$hjust <- 0
nba.labs$hjust[which(nba.labs$ang < -90)] <- 1
nba.labs$ang[which(nba.labs$ang < -90)] <- (180+nba.labs$ang)[which(nba.labs$ang < -90)]
p2 = ggplot(nba.m, aes(x=Name, y=var2, fill=value)) +
geom_tile(colour="white") +
geom_text(data=nba.labs, aes(x=Name, y=var2+1.5,
label=Name, angle=ang, hjust=hjust), size=3) +
scale_fill_gradient(low = "white", high = "steelblue") +
ylim(c(0, max(nba.m$var2) + 1.5)) +
scale_y_discrete(breaks=y_breaks, labels=y_labels) +
coord_polar(theta="x") +
theme(panel.background=element_blank(),
axis.title=element_blank(),
panel.grid=element_blank(),
axis.text.x=element_blank(),
axis.ticks=element_blank(),
axis.text.y=element_text(size=5))
print(p2)
Однако, вместо того, чтобы легенда, у меня это сообщение об ошибке вместо:
Шкала для «у» уже настоящее время. Добавление другой шкалы для 'y', которая заменит существующий масштаб.
Любые решения?
Заранее благодарен!
, какая строка кода добавляет еще одну легенду? –
У меня этот код отсюда: http://stackoverflow.com/questions/13887365/ggplot2-circular-heatmap-that-looks-like-a-donut Первоначально я думал, что это scale_y_discrete (брейки = y_breaks, label = y_labels) будет другой легендой (левый угол, в сером цвете), но это не сработает. – Miyii
Это не ошибка, ее предупреждение (удалить '' scale_y_discrete (breaks = y_breaks , labels = y_labels) + '', чтобы избавиться от ненужного. Кроме того, следует отметить, что вам нужно загрузить 'plyr' для' ddply'. В любом случае, ваше объяснение «легенда, которая говорит мне, какое кольцо круговой карты тепла представляет», не имеет для меня никакого смысла. Возможно, это мое невежество, у вас есть пример того, что вы ищете? Кольца пронумерованы? Если это так требует дополнительного кода и другого вопроса, чем того, что вы просили. –