Ответ 1
Вы можете использовать аргумент fill
для ваших цветов. Как и в случае с Дэвидом Робинсоном, я бы также предложил разместить легенду в правом верхнем углу в этом случае.
legend("topright",
legend = c("reading/Writing", "Speaking"),
fill = c("darkblue", "red"))
Рассматривая некоторые из ваших других вопросов, вы также можете потратить некоторое время на то, чтобы ваши данные были в более подходящей форме перед графикой.
Вот пример:
-
Вот ваши данные:
heights1 = c(5, 5, 4.5, 4, 4, 4, 4.5, 2, 4, 4) # Your data
-
Вот ваши данные как
matrix
с соответствующимиdimnames
mydata <- matrix(heights1, ncol = 2, byrow = TRUE, dimnames = list(c("Spanish", "English", "Hindi", "Arabic", "Body Lang"), c("Reading/Writing", "Speaking"))) mydata # Much more meaningful to look at than a simple vector # Reading/Writing Speaking # Spanish 5.0 5 # English 4.5 4 # Hindi 4.0 4 # Arabic 4.5 2 # Body Lang 4.0 4
-
Определите свои цвета (необязательно, но полезно, если вы работаете с несколькими парами в группе)
colors <- c("darkblue", "red") # Define the colors you're using
-
Поместите свои данные, добавив немного лишнего места наверху и подавляя ваши оси. Не уверен, почему вы не хотите включать легенду на этом этапе, но это легко сделать, добавив следующие аргументы:
legend.text = TRUE, args.legend = list(x = "topright", bty = "n")
barplot(t(mydata), beside = TRUE, col = colors, ylim = c(0, 6), axes = FALSE, xlab = "Language starting with mostly used", main = "Languages (Verbal & Non-verbal)")
-
Вновь добавьте свою ось y и добавьте свою легенду
axis(2, at = 0:5, labels = 0:5) legend("topright", colnames(mydata), fill = colors, bty = "n")