![]() |
老实的高山 · NIK插件-托马斯教程1-color ...· 6 月前 · |
![]() |
谦和的炒粉 · 樱花影院电视剧电影免费观看 - 百度· 9 月前 · |
![]() |
礼貌的太阳 · 网剧“极致单品”点燃新一代青春文化体验 _中 ...· 1 年前 · |
![]() |
儒雅的菠萝 · 2023上海劳力士大师赛门票价格+购票方式- ...· 2 年前 · |
![]() |
性感的仙人掌 · 日本利用动漫外交影响别国民众_新闻中心_新浪网· 2 年前 · |
我正在绘制一个图形,在x轴上有一个分类变量,在y轴上有一个数值变量。
对于x轴,如果有许多数据点,默认文本格式会导致每个刻度线的标签与其他标签重叠。如何(a)更改轴文本的字体大小和(b)更改文本的方向以使文本垂直于轴?
使用
theme()
d <- data.frame(x=gl(10, 1, 10, labels=paste("long text label ", letters[1:10])), y=rnorm(10))
ggplot(d, aes(x=x, y=y)) + geom_point() +
theme(text = element_text(size=20),
axis.text.x = element_text(angle=90, hjust=1))
#vjust adjust the vertical justification of the labels, which is often useful
这里有很多关于如何格式化
here
图的好信息。您可以看到可以使用
?theme
修改(基本上是全部)的参数的完整列表。
theme()
的用法同上@Drew Steen。以下是轴文本和标题的常见主题属性。
ggplot(mtcars, aes(x = factor(cyl), y = mpg))+
geom_point()+
theme(axis.text.x = element_text(color = "grey20", size = 20, angle = 90, hjust = .5, vjust = .5, face = "plain"),
axis.text.y = element_text(color = "grey20", size = 12, angle = 0, hjust = 1, vjust = 0, face = "plain"),
axis.title.x = element_text(color = "grey20", size = 12, angle = 0, hjust = .5, vjust = 0, face = "plain"),
axis.title.y = element_text(color = "grey20", size = 12, angle = 90, hjust = .5, vjust = .5, face = "plain"))
在这样的情况下,使用"fill“属性会有所帮助。您可以使用
element_blank()
从axis中删除文本,并显示带有图例的多色条形图。我正在绘制一家维修店的部件拆卸频率,如下所示
ggplot(data=df_subset,aes(x=Part,y=Removal_Frequency,fill=Part))+geom_bar(stat="identity")+theme(axis.text.x = element_blank())
在我的例子中,我选择了这个解决方案,因为我在条形图中有很多条,但我找不到一个合适的字体大小,既可读,又足够小,不会相互重叠。
使用主题():
d <- data.frame(x=gl(10, 1, 10, labels=paste("long text label ", letters[1:10])), y=rnorm(10))
ggplot(d, aes(x=x, y=y)) + geom_point() +
theme(text = element_text(size=20))
当制作多个绘图时,全局设置它是有意义的(相关部分是第二行,三行在一起是一个工作示例):
library('ggplot2')
theme_update(text = element_text(size=20))
ggplot(mpg, aes(displ, hwy, colour = class)) + geom_point()