查看原文
其他

R可视化——图形绘制过程中如何实现局部放大?

王志山 科研后花园 2023-09-08

对于图形绘制过程中实现局部放大效果,其实小编之前在B站发布的视频中讲过如何基于origin软件去实现,大家如果感兴趣可以去搜索观看,今天,小编主要给大家展示如何基于R语言实现图形的局部放大。

数据及基础图形的绘制

1、数据——以R自带数据集iris为例

df<-iris


2、基于ggplot2包绘制散点图

#加载绘图包library(ggplot2)library(ggthemes)#绘图p<-ggplot(df, aes(Sepal.Length, Sepal.Width, color = Species)) + geom_point(size=4) + theme_solarized()+ theme(legend.key = element_rect(fill = 'transparent'))p

局部放大效果的实现

1、加载包——主要基于ggforce包实现图形的局部放大

library(ggforce)

2、局部放大某一组的数据

p+facet_zoom(x = Species == "setosa")

p+facet_zoom(x = Species == "versicolor")

p+facet_zoom(x = Species == "virginica")

当然,也可以将局部放大的图展现在y轴上:

p+facet_zoom(y = Species == "versicolor")


3、根据设置的阈值局部放大图形

p+facet_zoom(x = Sepal.Length > 6)

p+facet_zoom(y = Sepal.Width > 3)

4、通过同时设置x和y的范围实现图中特定区域的放大

p+facet_zoom(xlim = c(5,6),ylim = c(2.5,3))

p+facet_zoom(xlim = c(5,6),ylim = c(2.5,3), split = T)


p+facet_zoom(xy = Species == "versicolor", split = T)


5、设置缩放面板与完整数据面板的相对大小,通过zoom.size控制,默认值为2,即缩放面板的大小是完整数据面板的两倍

p+facet_zoom(xy = Species == "versicolor",split = T, zoom.size = 1.5)

p+facet_zoom(xy = Species == "versicolor",split = T, zoom.size = 3)

参考:facet_zoom参数帮助文档(??facet_zoom)


我就知道你“在看”

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存