我想產生的存儲在數據幀10項barplot:[R barplot具有非常長的名字
df <- structure(list(v = structure(c(0.133177575198731, 0.048416489312887,
0.0323328322269662, 0.0257842168974815, 0.0207946396185765, 0.0157952295839215,
0.015414483430714, 0.0138292246981344, 0.0136598827935515, 0.8536143025
), .Dim = 10L, .Dimnames = structure(list(c("HIPERTENSION ESENCIAL (PRIMARIA)",
"RINOFARINGITIS AGUDA", "DIARREA Y GASTROENTERITIS DE PRESUNTO ORIGEN INFECCIOSO",
"LUMBAGO NO ESPECIFICADO", "INFECCION DE VIAS URINARIAS, SITIO NO ESPECIFICADO",
"AMIGDALITIS AGUDA, NO ESPECIFICADA", "FIEBRE, NO ESPECIFICADA",
"CEFALEA", "DOLOR EN ARTICULACION", "HIPOTIROIDISMO, NO ESPECIFICADO"
)), .Names = "")), names = c("HIPERTENSION ESENCIAL (PRIMARIA)",
"RINOFARINGITIS AGUDA", "DIARREA Y GASTROENTERITIS DE PRESUNTO ORIGEN INFECCIOSO",
"LUMBAGO NO ESPECIFICADO", "INFECCION DE VIAS URINARIAS, SITIO NO ESPECIFICADO",
"AMIGDALITIS AGUDA, NO ESPECIFICADA", "FIEBRE, NO ESPECIFICADA",
"CEFALEA", "DOLOR EN ARTICULACION", "HIPOTIROIDISMO, NO ESPECIFICADO"
)), .Names = c("v", "names"), row.names = c("HIPERTENSION ESENCIAL (PRIMARIA)",
"RINOFARINGITIS AGUDA", "DIARREA Y GASTROENTERITIS DE PRESUNTO ORIGEN INFECCIOSO",
"LUMBAGO NO ESPECIFICADO", "INFECCION DE VIAS URINARIAS, SITIO NO ESPECIFICADO",
"AMIGDALITIS AGUDA, NO ESPECIFICADA", "FIEBRE, NO ESPECIFICADA",
"CEFALEA", "DOLOR EN ARTICULACION", "HIPOTIROIDISMO, NO ESPECIFICADO"
), class = "data.frame")
我用標準barplot
去了,它工作得很好,除了名稱太長,因而不適合任何合理的框架。
barplot(df$v,names = rownames(df),las=3,cex.names=0.5)
足夠接近,但還是名字都這麼久他們不適合(如果我嘗試cex.names
低於0.5就變得不可讀)。 我也試圖與ggplot
:
library(ggplot2)
ggplot(df,aes(x=names,y=v))+
geom_bar(stat="identity")
ggplot(df,aes(x=names,y=v))+
geom_bar(stat="identity")+
theme(text = element_text(size=12),
axis.text.x = element_text(angle=90, vjust=2))
這給出了一個非常近似的結果,但我一直沒能找到如何保持遞減的順序(ggplot訂單的名字在X,而不是維持秩序在df
)。
我會明白,如果你能爲我提供雙面回答:
- 如何把標籤內標準
barplot
和酒吧 - 如何保持
df
秩序項目ggplot
在此先感謝! -