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

2024-01-27

在高 DPI 4K 显示器上,Windows 下的 RStudio 绘图窗口似乎使用像素加倍来使绘图清晰(我使用的是 RStudio 0.99.483 和 R 3.2.2 以及 Windows 8.1,但在 Windows 10 下结果相同)。这会导致文本和图形非常模糊(而且与 Cleartype 配合效果不佳,因为它会在像素加倍后导致彩色边纹)。

Example:

qplot(Sepal.Length, Petal.Length, data = iris, color = Species, 
       size = Petal.Width, alpha = I(0.7))

with zoom in RStudio set to 200% gives me a fuzzy image (with colour fringing) like enter image description here

Zooming out completely in turn gives me a sharp image, but with far too small text, plot symbols & menu items: enter image description here

有人可以推荐解决这个问题的方法吗? RStudio 在内部使用什么 Web 浏览器来显示绘图窗口?在这方面可以解决什么问题吗?应该在什么水平上解决这个问题? RStudio 或 R 本身(在grDevices or grid??)。只是不太确定可以在什么级别进行修补......有什么想法吗?

编辑:使用

windows()
qplot(Sepal.Length, Petal.Length, data = iris, color = Species, 
       size = Petal.Width, alpha = I(0.7))

gives me a sharp image : enter image description here

但令人烦恼的是,默认窗口非常小(是普通显示器的两倍,面积的四分之一),并且如果我缩放它,文本的大小将相对于其余部分发生变化(指定 width=XXX 和 height=XX 具有相同的效果)。所以这又回到了我在缩放 R 图时一直遇到的问题。 https://stackoverflow.com/questions/31381066/r-function-to-make-plot-symbols-line-widths-and-text-in-ggplot2-lattice-and-b :-)

使用附加选项xpinch and ypinch在 Windows 中,调用使我的窗口变大,例如:

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

但字体似乎没有按照相对于其余部分应有的方式缩放,并且绘图符号变得稍大(绘图画布虽然似乎已经缩放正常,但线宽却没有缩放)。不确定问题出在哪里——是否ggplot2 or grid输出应该更好地适应xpinch and ypinch的设置windows()设备,或者是否是更低级别的东西。x11()似乎没有任何 dpi 设置,而quartz()确实(参数dpi=...) - 虽然我无法测试后者,因为我没有 Mac...我猜问题的一部分是这些不同的设备似乎没有一致的设置来指定 dpi,所以也许它们并不奇怪特定软件包严重考虑了...不确定 RStudio 图形设备...

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


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

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 如何在 switch 语句中将向量作为参数传递

    我对问题的谷歌搜索没有返回有用的结果和文档 switch没有告诉我如何做 所以我希望我能在这里得到答案 假设我有一个向量 cases lt c one two three 我想使用 switch 语句并将这些元素作为 switch 语句的参
  • dmvnorm MVN 密度 - RcppArmadillo 实现比 R 包慢,包括一些 Fortran

    The solution现已上线RCPP画廊 http gallery rcpp org articles dmvnorm arma 我从 RcppArmadillo 中的 mvtnorm 包重新实现了 dmvnorm 我有点喜欢犰狳 但我
  • 自定义 colorRampPalette 中的颜色条

    我定义了一个 colorRampPalette my colors colorRampPalette c light green yellow orange red 如何为其绘制颜色条 图例 项目 最好仅使用基本包 我正在寻找一个充满该颜色
  • 如何在R中使用OpenNLP获取POS标签?

    这是 R 代码 library NLP library openNLP tagPOS lt function x s lt as String x word token annotator lt Maxent Word Token Anno
  • R中的不定积分

    我正在计算方程的不定积分 我将加速度计的数据通过可视化 C 程序输入到 R 中 然后就可以很简单地得出一个方程来表示加速度曲线 这一切都很好 但是我还需要计算撞击速度 根据我在高中时代的理解 我的加速度曲线的不定积分将产生速度方程 我知道执
  • Openxlsx 多次验证损坏输出文件

    我正在尝试添加多个验证并将公式添加到 Excel 文件 这是我使用的代码 library openxlsx fileTemplate lt New01 xlsx wbTemplate lt loadWorkbook fileTemplate
  • R dplyr过滤多列上的字符串条件

    我有一个 df 例如 df lt read table text v1 v2 v3 v4 v5 1 A B X C 2 A B C X 3 A C C C 4 B D V A 5 B Z Z D header T 如果变量 v2 到 v5
  • Rstudio 命令历史记录

    这些天我经常使用 Rstudio 但最近注意到我的命令不再存储在历史记录中 我不知道这是从什么时候开始的 但可能是在安装最新版本时发生的 关于问题可能是什么的任何想法吗 Thanks 这是我们在 v0 93 73 中引入并在 v0 93 7
  • .NET 图形重影

    我正在为我们正在开发的新应用程序制作一个示例 GUI 我已经决定了语言 但我可以使用任何第 3 方 DLL 或插件或任何我需要的东西 以使 GUI 尽可能无缝地工作 他们希望它非常像 mac ubuntu vista Windows 7 所
  • 修复 ggplot 中构面中的数据顺序

    我在使用 ggplot 绘制数据时遇到问题 我无法使每个方面内的数据正确排序 我的样本数据是 data lt structure list Parameter c 0 1 0 7 0 0 0 2 0 2 0 7 0 0 0 1 0 3 0
  • 预乘 Alpha 合成

    我正在尝试实现预乘阿尔法混合 在本页 什么是颜色混合 https learn microsoft com en us previous versions windows xna bb976070 v xnagamestudio 41 它们确
  • 在 R 中按组检查重叠开始和结束时间

    我想检查数据的重叠 这是数据 ID lt c rep 1 3 rep 3 5 rep 4 4 rep 5 5 Begin lt c 0 2 5 3 7 8 7 25 25 10 15 17 20 1 NA 10 11 13 End lt c
  • 使用 R 读取和转换二进制原始数据

    我有一个file https drive google com file d 0BxMpk0nhnJy6SFhxd2xuMzJYYlk edit usp sharing其中包含原始 二进制数据和 ascii 它包含一个时间戳和一个代表速度的
  • R 中的转换会导致文档错误

    每当我运行此代码时 tm map 行都会给我警告消息 警告信息 在 tm map SimpleCorpus docs toSpace 中 转换删除文档 texts lt read csv Data fast food Domino s Do
  • 按具有作业的组划分的 R 分位数

    我有以下 df group rep seq 1 3 30 variable runif 90 5 0 7 5 df data frame group variable 我需要 i 按组定义分位数 ii 将每个人分配到相对于其组的分位数 因此
  • 如何使用双重调度来分析图形基元的交集?

    我正在分析图形基元 矩形 直线 圆形等 的交互并计算重叠 相对方向 合并等 这被引用为双重调度的一个主要示例 例如维基百科 http en wikipedia org wiki Double dispatch 自适应碰撞算法通常要求 不同的
  • 在 Shiny 应用程序中过滤数据时,长度为 1 的字符向量除了第一个元素之外的所有元素都将被忽略错误

    我有以下闪亮的应用程序 library shiny library rhandsontable library shinydashboard library ggplot2 library dplyr setwd C Users Marc
  • 从 R 到 C 处理列表并访问它

    我想使用从 R 获得的 C 列表 我意识到这个问题与此非常相似 使用 call 在 R 和 C 之间传递数据帧 https stackoverflow com questions 6658168 passing a data frame f
  • 将天气 iframe 嵌入到 Shiny Dashboard 中

    我正在尝试将 Forecast io 的天气预报嵌入到闪亮的仪表板中 我最初在使用 符号时遇到了麻烦 但看到一篇文章提供了如何使用特殊字符格式化 HTML 代码的示例 但是 当我运行该应用程序时 我看到一个简单的 未找到 即使我知道该链接有
  • 将 read.csv 与符号链接文件一起使用

    我正在尝试做什么 我的源文件非常大 我想避免将其复制到其他文件夹中 我决定创建一个指向大文件的符号链接并想使用read csv读取文件 文件夹结构 项目1 数据 源文件 csv 项目2 数据 别名到源文件 csv 什么地方出了错 读取源文件

随机推荐