Спиральный (полярный) график на основе условного цвета в R? - PullRequest
1 голос
/ 02 мая 2019

Я хочу, чтобы все отрицательные значения были желтыми, а все положительные - голубыми.Что-то не так с моим кодом, так как я вижу, что некоторые положительные значения становятся желтыми и наоборот для синего (см. Рисунок).Также масштаб легенды не показывался внизу.Кроме того, как бы я сделал нулевую линию жирным шрифтом.Вот пример моего кода

A=runif(20,min = -3, max = 3)
myDate=1981:2000
myData=data.frame(myDate,A)

ggplot(myData, aes(myDate, A))+
  geom_bar(stat = "identity", fill=ifelse( A < 0,"yellow","blue"))+
  coord_polar(theta = "x")+
  theme(legend.position = "bottom")+
  theme_bw()

Любая помощь будет оценена.

enter image description here

1 Ответ

1 голос
/ 02 мая 2019

Проблемы не связаны с полярными координатами.
Для цвета вы должны поместить условное форматирование в aes() вызов для работы.Для легенды вы должны внести изменение в тему после вызова theme_bw().В противном случае он перезаписывается снова.Вы можете просто нанести линию на 0, чтобы сделать ее толще.
Надеюсь, это поможет.

A=runif(20,min = -3, max = 3)
myDate=1981:2000
myData=data.frame(myDate,A)

ggplot(myData, aes(myDate, A))+
  geom_bar(stat = "identity", aes(fill=ifelse( A < 0,"negative","positive")))+
  coord_polar(theta = "x")+
  scale_fill_manual(values = c("yellow", "blue")) +
  geom_hline(yintercept = 0, color = "black")+
  labs(fill = "Legend") +
  theme_bw() +
  theme(legend.position = "bottom")

enter image description here

...