我想产生的存储在数据帧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
在此先感谢! -