Я использую ggplot
в R, чтобы построить некоторые данные. То, что я пытаюсь сделать, - это график рассеяния, где фон отличается в разных областях диаграммы. Очень полезный ответ here, который доставит мне большую часть пути, но не полностью.Изменение цвета фона диаграммы ggplot с переменной фактором
Вот пример данных
row.names selectionDirector country Totals director.rank
1 268 Alfred Hitchcock Argentina 14 1
2 269 Alfred Hitchcock Australia 7 3
3 274 Alfred Hitchcock Canada 10 1
4 286 Alfred Hitchcock France 18 1
5 288 Alfred Hitchcock Germany 9 6
6 296 Alfred Hitchcock Italy 5 3
7 319 Alfred Hitchcock Spain 21 4
8 320 Alfred Hitchcock Sweden 4 8
9 325 Alfred Hitchcock UK 87 1
10 330 Alfred Hitchcock US 87 1
11 346 Andrei Tarkovsky Argentina 4 20
12 347 Andrei Tarkovsky Australia 2 34
13 355 Andrei Tarkovsky Canada 2 32
14 365 Andrei Tarkovsky France 2 37
Мой код:
rects <- data.frame(xstart = seq(-0.5,8.5,1), xend = seq(0.5,9.5,1), col = letters[1:10])
ggplot() +
geom_rect(data=rects,aes(ymin=0,ymax=80,xmin=xstart,xmax=xend,fill=col)) +
geom_point(data=top.votes.by.director.country, aes(x=country, y=director.rank)) +
coord_flip() +
facet_wrap(~selectionDirector)
страна является фактором с 10 значениями. director.rank
- числовое. Оба они исходят из фрейма данных top.votes.by.director.country
. Идея состоит в том, чтобы иметь фон, который отличается для горизонтальной области для каждой страны, чтобы было легче читать, когда я граничу.
Представьте картинку выше, за исключением того, что вместо цветных точек для каждой страны будет цветная полоса за черной точкой. Ближайшее приближение можно найти в Интернете является приведенной ниже таблице взяты из ответа из приведенной выше ссылке:
Так было бы цвета фона для каждой страны в граненый графике так же, как выше диаграмма имеет цветной фон для каждого региона.
Проблема в том, что при запуске кода выше я получаю следующую ошибку.
Error: Discrete value supplied to continuous scale
Когда я удаляю участок geom_rect
, он отлично работает. Если я переведу geom_rect
выше facet_wrap
, я получаю график, хотя он перепутался. Если я сделаю только часть geom_rect
, я получу предпосылку, которую я хочу примерно.
Я уже пару часов общаюсь с этим и не могу заставить его работать.
Можете ли вы предоставить образец ваших данных? А также пример ожидаемого результата. – Molx
Я попытался добавить в сообщение дополнительную информацию. Я добавил образец данных и самое близкое приближение, которое я могу найти на выходе, который я хочу. Это будет какая-то комбинация диаграммы, которую я создал, и диаграмма ниже, где фоны - разные цвета. –