R сюжет: как я могу правильно настроить привередливые поля? - PullRequest
0 голосов
/ 01 февраля 2019

У меня проблема с полями в моем линейном графике R ... Я понимаю, что на сайте есть много вопросов, связанных с этим, но, похоже, ни один из них не касается гвоздя по голове, и я решил, что просто спрошуособенно с включенными деталями ... Я также прошу прощения, если чрезмерно описательный / многословный!

Я строю график линии R с несколькими линиями (4) и пользовательскими отметками (символьная / описательная информация) в моменты времени, а нечем 0: 3.Все отлично, за исключением полей.

Итак, сначала метки галочек обрезаются на экране.Однако выравнивание оси, отображение легенды, отображение всех точек данных и т. Д. Все выглядит иначе.Здесь я устанавливаю mar = c(5, 4.1, 4.1, 4.0)

Я пытаюсь изменить отображение ярлыков, используя: mar = c(5, 4.1, 4.1, 4.0) + x), используя несколько значений для x (0,5, 1,0, 2,5 и т. Д.).Это изменяет оси так, что они не выравниваются, график обрезается и т. Д., А метки снова не отображаются на экране.

Далее я пытаюсь изменить параметры dev.new(...), используя: dev.new(width=4, height=3, unit="in") и другие значениядля w и h.Решение по-прежнему отсутствует ... выравнивание все отключено, оси x отсутствуют, метки осей и метки галочек отключены и т. Д.

Любая помощь очень, очень ценится.Я знаю, что для таких примеров можно использовать привередливый сюжет, но в этом примере я предпочитаю R-график, а не ggplot.

Заранее спасибо ...

Вот сопоставимый код R:

bird <- c ("2", "4", "3.5", "8")
dog <- c ("8", "6", "10", "4")
fish <- c("10", "8", "5", "1")
cat <- c("12", "6", "3", "1") 

time = c("0", "1", "2", "3")  

  dev.new() 
  plot(time, bird, type="o", col="darkblue", xlab="time points", ylab="average scores of pets", main = "average pet scores over time", ylim=c(0, 15), cex.main=1.2, axes=FALSE) 
  par(las=2, mar = c(5, 4.1, 4.1, 4.0)) 
  axis(1, at=0:3, labels= c("pre-lim", "first appointment", "3 month check-up", "12 month check-up")) 
  axis(2) 
  lines(time, dog, type="o", col="forestgreen") 
  lines(time, fish, type="o", col="cornflowerblue") 
  lines(time, cat, type="o", col="darkturquoise") 
  legend (2.25, 14.3, legend = c("bird", "dog", "fish", "cat"), fill= c("darkblue", "forestgreen", "cornflowerblue", "darkturquoise"))

enter image description here

1 Ответ

0 голосов
/ 01 февраля 2019

Сочетание dev.new() и par(mar = c(10, 5, 1, 1)) дает приличный сюжет, я думаю.

dev.new()
par(las = 2, mar = c(10, 5, 1, 1)) 

enter image description here

...