R ggplot:更好地呈现条形图

R ggplot:更好地呈现条形图,r,ggplot2,R,Ggplot2,我有一个小的数据帧DF,它由两列X=Type,Y=Cost组成。想要绘制每种类型的条形图及其成本。我已经设法做到了,但是,我正在寻找一个更好的演示在barplot。我有三个问题可以满足我的要求: 1) 因为每种类型的X轴文本都很长,所以我将它们设置为45度。我试过缩写,它不可读 2) 我尝试在ggplot中使用填充图案/纹理,而不是颜色,这在Hadley看来是不可能的: 在黑白打印的情况下,是否有任何方法使绘图可读 3) 我想知道是否有一种方法可以专注于其中一种“类型”类别,也就是说,使其具有醒

我有一个小的数据帧DF,它由两列X=Type,Y=Cost组成。想要绘制每种类型的条形图及其成本。我已经设法做到了,但是,我正在寻找一个更好的演示在barplot。我有三个问题可以满足我的要求:

1) 因为每种类型的X轴文本都很长,所以我将它们设置为45度。我试过缩写,它不可读

2) 我尝试在ggplot中使用填充图案/纹理,而不是颜色,这在Hadley看来是不可能的:

在黑白打印的情况下,是否有任何方法使绘图可读

3) 我想知道是否有一种方法可以专注于其中一种“类型”类别,也就是说,使其具有醒目和特殊的颜色,以吸引人们对这种特殊类型的注意。例如,我希望使“其他”结果看起来与其他结果不同

我尝试了我的想法,但是,我完全愿意重新设计图表。有什么建议吗

以下是数据-我使用了dput命令:

structure(list(Type = structure(c(6L, 8L, 7L, 9L, 10L, 15L, 11L, 
17L, 3L, 16L, 5L, 19L, 4L, 14L, 2L, 18L, 13L, 1L, 12L), .Label = c("Backup Hardware ", 
"data or network control", "Email exchange server/policy", "Instant messaging control", 
"Login/system administrators/privilage", "Machine A", "Machine A with Software and   Camera", 
 "Machine A without Software", "Machine B", "Machine B without RAM and CD ROM", 
"Managment analyses software ", "Other", "Password and security", 
"public web application availability", "Software for backup", 
"System access by employees ", "Telecom and Harware", "Web site update", 
"wireless network access ponits"), class = "factor"), Cost = structure(c(4L, 
3L, 15L, 13L, 11L, 7L, 2L, 1L, 19L, 16L, 14L, 12L, 10L, 9L, 8L, 
6L, 5L, 17L, 18L), .Label = c("$1,292,312", "$1,888,810", "$11,117,200", 
"$14,391,580", "$161,210", "$182,500", "$2,145,900", "$250,000", 
"$270,500", "$298,810", "$3,452,010", "$449,001", "$6,034,000", 
"$621,710", "$7,642,660", "$700,000", "$85,100", "$885,000", 
"$923,700"), class = "factor")), .Names = c("Type", "Cost"), class = "data.frame",   row.names = c(NA, 
-19L))
这是我的R代码:

p<- ggplot(data = DF, aes(x=Type, y=Cost)) + 
 geom_bar(aes(fill=Type),stat="identity") + 
 geom_line()+
scale_x_discrete (name="Type")+
scale_y_discrete(name="Cost")+
theme(axis.text.x = element_text(colour="black",size=11,face="bold")) +
theme(axis.text.x = element_text(angle = 45, hjust = 1))+
labs(fill=expression(paste("Type of study\n")))

print(p)

p以下是绘图的一些起点:

1) 首先,将变量
Cost
从因子转换为数值,并将其命名为
Cost2

DF$Cost2<-as.numeric(gsub("[^0-9]", "",DF$Cost))

以下是绘图的一些起点:

1) 首先,将变量
Cost
从因子转换为数值,并将其命名为
Cost2

DF$Cost2<-as.numeric(gsub("[^0-9]", "",DF$Cost))

对于BW打印问题,只需使用中的
scale\u fill\u grey()主要问题-你的成本值是因数而不是数字,所以你的图是完全错误的-最高的成本几乎在底部,但最低的成本几乎在顶部。shujaa谢谢,我会试试的@Didzis Elferts谢谢你的留言我把它改成了barplot。3) 我使用的货币基本上可以删除。我问这个问题是为了得到新的想法和设计@简单易懂,除非你将成本更改为数字,即无点,否则你可以使用
scale\u fill\u manual()
I将成本更改为数字,这使得R多次崩溃!!!!!。对于BW打印问题,只需使用中的
scale\u fill\u grey()主要问题-你的成本值是因数而不是数字,所以你的图是完全错误的-最高的成本几乎在底部,但最低的成本几乎在顶部。shujaa谢谢,我会试试的@Didzis Elferts谢谢你的留言我把它改成了barplot。3) 我使用的货币基本上可以删除。我问这个问题是为了得到新的想法和设计@简单易懂,除非你将成本更改为数字,即无点,否则你可以使用
scale\u fill\u manual()
I将成本更改为数字,这使得R多次崩溃!!!!!。如何使X轴上的标签“other”变为粗体!!如何使X轴上的标签“other”变为粗体!!