R/RStudio:高dpi屏幕上的图形缩放问题和模糊性

Tom*_*ers 7 graphics r highdpi ggplot2 rstudio

在高DPI 4K监视器上,似乎在Windows下,RStudio绘图窗口使用像素倍增使绘图清晰(我使用RStudio 0.99.483和R 3.2.2和Windows 8.1,但在Windows 10下相同的结果).这导致非常模糊的文本和图形(加上不能与Cleartype一起使用,因为它会在像素加倍后导致彩色边纹).

例:

qplot(Sepal.Length, Petal.Length, data = iris, color = Species, 
       size = Petal.Width, alpha = I(0.7))
Run Code Online (Sandbox Code Playgroud)

放大RStudio设置为200%给我一个模糊的图像(彩色边纹)像 在此输入图像描述

完全缩小反过来给我一个清晰的图像,但文字太小,情节符号和菜单项: 在此输入图像描述

任何人都可以推荐一个解决这个问题的方法吗?RStudio在内部使用什么Web浏览器来显示绘图窗口?可以在那个方面修改任何东西吗?应该在什么级别修复?RStudio或R本身(in grDevicesgrid??).只是不确定在哪个级别可以修补......有什么想法吗?

编辑:使用

windows()
qplot(Sepal.Length, Petal.Length, data = iris, color = Species, 
       size = Petal.Width, alpha = I(0.7))
Run Code Online (Sandbox Code Playgroud)

给我一个清晰的形象: 在此输入图像描述

但令人烦恼的是,默认窗口非常小(是普通显示器的两倍,面积的1/4),如果我缩放它,文本的大小将相对于其余部分改变(指定width = XXX和height = XX具有相同的效果).所以这回到了我一直有的缩放R图的问题.:-)

使用其他选项xpinchypinch在Windows调用中使我的窗口更大,例如:

windows(xpinch=340, ypinch=340)
qplot(Sepal.Length, Petal.Length, data = iris, color = Species, 
       size = Petal.Width, alpha = I(0.7))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但是字体似乎没有按照它们相对于其余部分的方式进行缩放,并且绘图符号变得稍微大一些(绘图画布虽然似乎已经缩放好,但不是线宽).不知道是哪里的问题是-是否ggplot2grid输出应该更好地适应xpinchypinch在设置windows()设备,或者如果它的东西更低水平.x11()似乎没有任何dpi设置,而是quartz()(参数dpi=...) - 虽然我无法测试后者,因为我没有Mac ...猜猜问题的一部分是这些不同的设备似乎没有有一个一致的设置来指定dpi,所以也许毫不奇怪他们被特定的包严重考虑...不确定RStudio图形设备...

简而言之,在具有不同dpi的不同图形设备上制作具有良好且可再现缩放的R图表似乎很难......除了导出到PDF并查看之外,还有什么想法?

Tun*_*inh 1

据我所知,较高 DPI 的屏幕在许多应用程序中都存在显示缩放问题。您是否尝试过禁用缩放?您可以按如下方式进行操作:

  • 右键单击应用程序的图标(R 和 Rstudio)并选择属性
  • 转到“兼容性”选项卡,然后选择“在高 DPI 设置上禁用显示缩放”框
  • 单击应用并确定
  • 重新启动 RStudio/R

我希望这可以帮助您解决问题。如果我错误地理解了这个问题或者你已经尝试过这个问题,我深表歉意。

PS抱歉我只能发表答案,不能发表评论。我还没有足够的声望