2016-05-05 2 views
1

Добрый день.alpha и dodge для geom_bar в ggplot2

У меня возникла проблема с построением штрих-кода с использованием ggplot2: Я хотел бы построить 3 переменные разных цветов на одной и той же гистограмме. Для этого я использую geom_bar с определенным уровнем серы, связанным с каждой переменной. Я использую position=position_dodge(width=0.75) для наложения полос и используя alpha=0.85 для создания прозрачности. Однако я не могу понять, почему последняя переменная появляется поверх второй. Мне нужна первая переменная, охватывающая вторую переменную (как она есть), а вторую - третью (которая является проблема здесь). Что контролирует «глубину» каждой переменной и есть ли способ ее изменить? Histogram presenting my 3 variables, as you can see, the black variable appears on top of the dark grey one (which is great) but the light grey variable also appears on top of the dark grey variable (instead of under it)

Большое спасибо.

ответ

0

Насколько я знаю, проблема исходит от position=position_dodge.

Здесь вы указываете расстояние между центрами ниже, чем ширина ваших баров. Вместо этого вы должны попробовать с position="dodge".

0

Хотя я до сих пор не знаю правильного ответа на ваш вопрос, меня заинтересовала эта тема и проверила некоторые мои данные, меняя цвета и ширину.

В моих случаях третий брус охватывал второй, а второй - первый. Сложная часть состоит в том, что очень сложно сказать, какой из них охватывает, без добавления цветов линий (или уменьшения ширины). Я предполагаю, что может быть вероятность, что на самом деле ваш третий бар покрывает второй, а второй - первый, как и мои дела.

Попробуйте добавить colour="black" в вашу функцию geom_bar() и посмотреть, соответствует ли порядок наложения так же, как вы думали.

enter image description here

enter image description here

enter image description here enter image description here

+0

Благодарим вас за ответ. Тем не менее, вы можете видеть на моем графике, что цвет пересечения между первым и вторым полосами более темный, чем цвет первого бара (по этой причине мы чувствуем, что первый бар находится над вторым баром). Что не так на вашем графике (я проверил с помощью color = "black"). –

0

Хорошо, для тех, кто борется с той же проблемой, я в конце концов нашел способ это работает. Порядок столбцов (по горизонтали) определяется в алфавитном порядке по имени трех переменных (в моем случае «F» является первым баром, «N» является вторым баром, а «XFe» является последним баром), но глубина каждой переменной определяется по порядку появления в наборе данных, причем первая переменная, являющаяся баром, больше всего на задней панели, а последняя отображаемая переменная, являющаяся полосой больше всего впереди (см. прикрепленные фотографии, например, я помещаю то же самое цвет к переменной 3, чтобы сделать ее более очевидной). В моей оригинальной версии, порядок появления моих переменных в наборе данных был «N», «F» и «XFe», и вот что происходит, когда я изменить порядок набора данных:

Version with dataset reorganised for having the order of appearance of the variables as "F", "N" and "XFe"

Version with appearance of the variables in the dataset as "F", "XFe" and "N"

 Смежные вопросы

  • Нет связанных вопросов^_^