2015-10-21 1 views
0

Я ищу подмножество данных, и я ищу только один столбец, и я разбиваю строки этого столбца на три раздела. Каждый из трех разделов имеет среднее значение, и я хочу иметь возможность отображать каждое из трех средств на гистограмме. Я хотел бы, чтобы гистограмма имела «MeanA», «MeanB» и «MeanC» на оси x с фактическими средними значениями по оси y, чтобы я мог визуально видеть разницу между тремя средствами.Как сделать ось x гистограммы нечисловой

Я попытался это:

истор (с (Meana, MeanB, MeanC), перерывы = 15)

Но это дает мне частоту на у-оси, бесполезно меня, потому что все они 1. И ось х очень грязная, потому что все три средства очень близки по стоимости друг к другу. Есть ли способ аннотировать ось X только с именами «MeanA», «MeanB» и «MeanC», а при наборе чисел на оси y?

+1

Вы можете рассмотреть возможность использования 'barplot' вместо этого. – Benjamin

+1

Я не уверен, почему так много людей говорят, что хотят гистограмму, когда они действительно хотят барплот. – Roland

+0

Если вы на самом деле делаете гистограмму в будущем, аргумент xaxt = "n" будет подавлять метки x. Тогда 'axis (1, at = seq (1,3,1), label = c (" MeanA "," MeanB "," MeanC ")', Это говорит, что я согласен с @Benjamin, проверяю 'barplot' – Badger

ответ

0

Предполагая, что вам нужно barplot, вы можете использовать ggplot2 так:

# Random data 
df <- data.frame(
group = c(rep(c("Group A", "Group B", "Group C"),each=100)), 
values = c(rnorm(100, 1, 1), rnorm(100, 2, 1), rnorm(100, 3, 1)) 
) 

# Plot 
library(ggplot2) 
ggplot(df) + 
geom_bar(aes(group, values, fill = group), stat = "summary", fun.y = "mean") + 
ylab("Mean") + 
xlab("") + 
theme_minimal() + 
theme(legend.position="none") 

enter image description here