Я использую следующий построить график приведенный ниже:Отображение только меток, которые используются?
data <- structure(list(Type1 = c("DB", "DB", "DB", "DB", "DB", "DB",
"DB", "DB", "DB", "DB", "DB", "DB", "DB", "Manual", "Manual",
"Manual", "Manual", "Manual", "Manual", "Manual", "Manual", "Manual",
"Manual", "Manual", "Manual", "Manual", "Manual", "Manual"),
Type2 = c(1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 3L, 3L, 3L,
3L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L,
3L), Category = c("A", "B", "C", "D", "E", "A", "B", "F",
"G", "A", "B", "C", "H", "I", "J", "K", "L", "M", "O", "J",
"P", "K", "Q", "M", "K", "P", "J", "P"), Percent = c("83.5106383",
"9.574468085", "5.85106383", "0.531914894", "1/188*100",
"85.24590164", "11.47540984", "1/61*100", "1.639344262",
"90", "3.333333333", "3.333333333", "3.333333333", "20.10582011",
"10.05291005", "6.349206349", "5.82010582", "4.761904762",
"31.14754098", "16.39344262", "6.557377049", "6.557377049",
"4.918032787", "30", "23.33333333", "16.66666667", "10",
"6.666666667")), .Names = c("Type1", "Type2", "Category",
"Percent"), row.names = c(NA, -28L), class = "data.frame")
data$Percent <- as.numeric(data$Percent)
g= ggplot(data, aes(x=Category, y=Percent)) +
geom_bar(width=0.8, stat="identity", position=position_dodge()) +
facet_grid(Type1 ~ Type2,) +
theme_bw() +
coord_flip() +
scale_y_continuous(limits=c(0,100))
print(g)
Есть ли способ, что я могу сделать сюжет, таким TAHT каждой строка использует только метка, которые отличны от нуля? Например, возьмите строку DB
. Он использует только 6 меток, но отображает все 16 меток, потому что остальные 10 используются частью данных Manual
. Аналогично для строки Manual
. Я ищу что-то вроде этого:
1 2 3
H
G
D DB
C
B
A
Q
P
O
G MANUAL
M
L
K
J
I
Любые предложения о том, как это сделать?
Я играл с этим на некоторое время (после того, как я установил проблемы в вашем примере данных) и я начинаю думать, что могут быть некоторые проблемы с facet_grid и аргументом весов. Однако вы также можете использовать facet_wrap, и это работает. – joran
@joran: +1 Спасибо за ваше время. Я тоже играл, и я могу подтвердить, что есть ошибка. Я сообщу об этом в ближайшее время. – Legend