Reputation: 151
I am attempting to create a bargraph in r, and I am having trouble with the x axis labels being cut off. However this is only happening when I save the graph to a file. If I print it to the graphics device it shows all of the labels, however when I save the file the labels are cut off.
Here is code that reproduces the problem.
Captivate<-51.38
Challenge<-88.88889
Clarify<-80.55556
Confer<- 81.29085
Consolidate<-64.81481
Care<-68.51852
Control<-70.66993
Engagement<-66.17239
df<-rbind(Captivate, Challenge, Clarify, Confer, Consolidate, Care, Control, Engagement)
png("~/graph.png")
barplot(df, beside=TRUE, ylim=c(0,100),ylab="Percentage of Positive Answers ", space=.1, main="Some Title",
names.arg=c("Captivate", "Challenge", "Clarify", "Confer", "Consolidate", "Care", "Control", "Engagement"), las=2, axis.lty=1)
dev.off()
I have tried changing the margins using par() however nothing has worked.
Can anyone tell me what I need to do to have the full labels showing?
Upvotes: 3
Views: 12980
Reputation: 263301
Starting up a new graphics device resets the par values to the device defaults so you need to set mar after calling png:
png("~/graph.png") ; par(mar=c(6, 4, 4, 2) + 0.1)
barplot(df, beside=TRUE, ylim=c(0,100),
ylab="Percentage of Positive Answers ", space=.1, main="Some Title",
names.arg=c("Captivate", "Challenge", "Clarify", "Confer", "Consolidate", "Care", "Control", "Engagement"), las=2, axis.lty=1)
dev.off()
Upvotes: 6