Я пишу программу, в которой есть шаг, включающий ggplot2 в R. Соответствующие шаги графика:
ggplot() +
geom_violin(data=x, mapping=aes(x=1, y=Mean_cov)) +
geom_jitter(data=x, mapping=aes(x=3, y=Mean_cov, col=Frac_pos)) +
scale_x_discrete(breaks=c(1,3), labels=c("","")) +
scale_y_continuous(limits=c(0, 50)) +
scale_color_gradient2( breaks=seq(0,100,20),
limits=c(0,100),
low="green3", high="darkorchid4",
midpoint=50, name="% covered") +
coord_flip()
Mean_cov
и Frac_pos
равны colnames()
моего data.frame()
. 1 и 3 - нелегальные решения, которые я нашел для получения графика, который разделяет geom_jitter()
и geom_violin()
на достаточное пространство.
Это сработало в R/3.3.3
но поскольку наш системный администратор обновил значение по умолчанию R до R/3.5.2
, у нас возникают проблемы при построении графика (т. Е. График создается, но оси перекрывают поле панели, а не содержатся внутри него). Я знаю, что могу просто указать на R/3.3.3
, но я бы предпочел сделать мою программу совместимой с более новыми версиями R, поскольку я хочу опубликовать ее.
Предупреждение, которое я получаю, довольно популярно в R-связанные с ошибками потоки:
3: In structure(NULL, class = "waiver") :
Calling 'structure(NULL, *)' is deprecated, as NULL cannot have attributes.
Consider 'structure(list(), *)' instead.
Мне известны другие проблемы стекового потока, подобные моей:
R c.Date () вызывает предупреждение Вызов структуры (NULL), *) 'устарела
Однако я не смог решить эту проблему из-за других проблем, поэтому я решил открыть новую, так как она кажется проблемой ggplot2.
Возможно, ошибка возникает из-за того, что ggplot2 вызывает некоторую функцию в фоновом режиме?
Вот 10 строк из моего фрейма данных:
Frac_pos Mean_cov
99.78591232934406 42.783034429509
99.98996910484291 24.89770493118806
98.9460737536315 19.48427592934241
99.80868782354266 45.07804411433716
99.48891662209545 88.17287692399121
99.89221021636827 30.86539422141599
99.56238183247297 25.512161961209184
99.00406672752926 32.80431986056934
99.22226325737003 29.72798766048967
Вот как это должно выглядеть (как в R / 3.3.3):
Вот как это выглядит с более новыми версиями R (видите, что оно шире? Поскольку у меня миллионы таких точек, многие из них выпадают из панели):