Установка полей в R - PullRequest
       10

Установка полей в R

0 голосов
/ 07 января 2019

Я делаю диаграмму в R и хочу обозначить свою ось Y. Имена довольно длинные, поэтому я хочу увеличить нижнее поле, чтобы вместить их все. Мне сказали, что мне нужно использовать функцию mar(). Но кажется, что независимо от того, какие значения я ввел в функцию, мои поля никогда не меняются!

Мой сюжет выглядит так:

enter image description here

Мой скрипт R выглядит так:

boxplot(
  as.numeric(UEC$Q1_1)[3:21],
  as.numeric(UEC$Q1_2)[3:21],
  as.numeric(UEC$Q1_3)[3:21],
  as.numeric(UEC$Q1_4)[3:21],
  as.numeric(UEC$Q1_5)[3:21],
  as.numeric(UEC$Q1_6)[3:21],
  as.numeric(UEC$Q1_7)[3:21],
  as.numeric(UEC$Q1_8)[3:21],
  as.numeric(UEC$Q1_9)[3:21],
  as.numeric(UEC$Q1_10)[3:21],
  as.numeric(UEC$Q1_11)[3:21],
  as.numeric(UEC$Q1_12)[3:21],
  as.numeric(UEC$Q1_13)[3:21],
  as.numeric(UEC$Q1_14)[3:21],
  as.numeric(UEC$Q1_15)[3:21],
  as.numeric(UEC$Q1_16)[3:21],
  as.numeric(UEC$Q1_17)[3:21],
  as.numeric(UEC$Q1_18)[3:21],
  as.numeric(UEC$Q1_19)[3:21],
  as.numeric(UEC$Q1_20)[3:21],
  as.numeric(UEC$Q1_21)[3:21],
  as.numeric(UEC$Q1_22)[3:21],
  as.numeric(UEC$Q1_23)[3:21],
  as.numeric(UEC$Q1_24)[3:21],
  as.numeric(UEC$Q1_25)[3:21],
  as.numeric(UEC$Q1_26)[3:21],
  main="UEC Questions",
  names=c("annoying/enjoyable", "not understandable/understandable",    "creative/dull",    "easy to learn/difficult to learn", "valuable/inferior",    "boring/exciting",  "not interesting/interesting",  "unpredictable/predictable",    "fast/slow",    "inventive/conventional",   "obstructive/supportive", "good/bad",   "complicated/easy", "unlikable/pleasing",   "usual/leading edge",   "unpleasant/pleasant",  "secure/not secure",    "motivating/demotivating",  "meets expectations/does not meet expectations",    "inefficient/efficient",    "clear/confusing",  "impractical/practical",    "organized/cluttered",  "attractive/unattractive",  "friendly/unfriendly", "conservative/innovative"),
  las=2,
  mar=c(5.1, 4.1, 4.1, 2.1) 
  )

Я знаю, что значения, которые я ввел для полей, возможно, неверны, но они все равно не работают!

Кто-нибудь может подсказать, где я иду не так?

1 Ответ

0 голосов
/ 07 января 2019

Вы можете использовать par перед вызовом boxplot.

С cex.axis вы можете уменьшить размер шрифта по оси X, а с mar вы можете возиться с интервалом вокруг границы.

Обратите внимание, что заказ mar=c("bottom-side", "left-side", "upper-side", "right-side").

par(cex.axis=0.8, mar=c(8, 4, 5, 2))
boxplot(as.numeric(data$qsec),
        as.numeric(data$mpg),
        names = c("areallylongtext", "anotherreallylongtext"), las=2)

enter image description here

Обратите внимание, что вы не должны копировать / вставлять все эти as.numeric(), вместо этого вы должны использовать переменную группировки, как в моем примере ниже:

par(cex.axis=0.8, mar=c(10, 4, 5, 2))
boxplot(mpg ~ cyl, data, 
        names=c("areallylongtext", "anotherreallylongtext", "yetanotherreallylongtext"), las=2)

enter image description here

...