Как изменить ширину гистограммы, на которой отображаются только 2 элемента?

#r #charts #bar-chart

Вопрос:

Я хотел отобразить 2 элемента на гистограмме. Я использовал аргумент width для уменьшения ширины каждого бара, но они все равно не корректируются. Я обнаружил, что при увеличении аргумента пространства столбики станут меньше, но они будут очень далеко друг от друга. Не мог бы кто-нибудь, пожалуйста, помочь объяснить мне, как решить эту проблему? Я приложил коды и диаграмму ниже для вашей справки. Спасибо, что уделили мне время.

 predErrlt;-c(mars = MARS_Predictions_Err, svm = SVM_Predictions_Err) barplot(predErr, main = "Prediction Error Bar Chart", xlab = "Models", ylab = "Err", width = 1, ylim = c(0,1000))   

введите описание изображения здесь

Комментарии:

1. Вы хотите, чтобы весь участок был уже или только две полосы? Если это первое, вам следует настроить ширину устройства для построения графика вместо штриховой диаграммы.

2. Я хотел бы просто изменить только два бара

Ответ №1:

Вам нужно поиграть с тремя параметрами: width (задает ширину каждого бара), xlim (задает диапазон оси x) и space (задает расстояние между барами как долю от средней ширины бара).

Например, эта комбинация параметров:

 heights = c("m1"=2, "m2"=4) barplot(heights,   xlab = "Models",   ylab = "Err",   width = c(0.1,0.1), xlim = c(0,1), space = 3)  

дал мне этот результат, и я верю, что это то, чего вы хотите:

введите описание изображения здесь

Комментарии:

1. Да, это то, что я пытался получить. Я считаю, что проблема заключалась в том, что я не включил xlim! Большое вам спасибо за вашу помощь!

Ответ №2:

Я сгенерировал некоторые данные. Чтобы изменить расстояние между прутьями, я использовал space=1 . Это ваш ответ на ваш вопрос?

 set.seed(100)  MARS_Predictions_Errlt;-rnorm(1,200) SVM_Predictions_Errlt;-rnorm(1,200)  predErrlt;-c(mars = MARS_Predictions_Err, svm = SVM_Predictions_Err) barplot(predErr, main = "Prediction Error Bar Chart",   xlab = "Models",   ylab = "Err", width = 3,   ylim = c(0,1000),  space=1)  

пробел=1

введите описание изображения здесь

пробел=0 введите описание изображения здесь