R - 更改 corrplot 轴标签的大小

2024-02-13

我正在使用以下内容corrplot:

require("corrplot") ## needs the corrplot package
corrplot(cor(lpp_axis1, lpp_axis2), method=c("number"), bg = "grey10",
         addgrid.col = "gray50", tl.offset = 2, tl.cex=2,
         tl.col = "black", 
         col = colorRampPalette(c("yellow","green","navyblue"))(100))

这是使用可用的 csv 文件创建的here http://misterdavis.org/r_wiki/r_results_1231_2010.

该图很好,我可以根据需要调整 cl 标签。我尝试调整 x 轴和 y 轴上的标签,但没有任何影响。我考虑过改变 mar - 但我还没有找到方法。我尝试使用 cex.label 更改大小失败。

问题 - 如何使 corrplot (不是 cl,也不在网格中)显示的文本更大?

两个轴是以下数据框:

lpp_axis1 <- data.frame("Compile Source Code" = Q3A.1, "View Source Code" = Q3A.2, "Change Source Code" = Q3A.3, "Write Documentation" = Q3A.8, "File Bug Reports"= Q3B.3, "Ask Questions" = Q3B.5, "Provide Answers" = Q3B.6, "Overall Participation" = Q3a3bConsolidated)

lpp_axis2 <- data.frame("Identification" = Q1,"Overall Learning" = Q6Consolidated,  "Learning Programming" = Q6.1,  "Learning about Computers" = Q6.2, "Learning Teamwork" =  Q6.3)

输出来自

str(lpp_axis1)

is

> str(lpp_axis1)
'data.frame':   4603 obs. of  8 variables:
 $ Compile.Source.Code  : int  4 2 3 2 2 2 3 2 2 0 ...
 $ View.Source.Code     : int  4 2 1 1 2 2 3 1 1 0 ...
 $ Change.Source.Code   : int  4 1 0 1 2 1 2 1 1 0 ...
 $ Write.Documentation  : int  4 1 2 2 3 0 3 0 1 0 ...
 $ File.Bug.Reports     : int  4 4 1 2 2 0 2 0 0 0 ...
 $ Ask.Questions        : int  4 4 2 4 2 1 2 1 3 0 ...
 $ Provide.Answers      : int  2 4 1 4 4 0 3 1 3 0 ...
 $ Overall.Participation: int  49 26 14 32 31 8 27 10 15 0 ...

输出来自

packageDescription("corrplot")

表示:

Package: corrplot
Type: Package
Title: visualization of a correlation matrix
Version: 0.30
Date: 2010-05-30
Author: Taiyun Wei
Suggests: seriation, cairoDevice, Cairo,
Maintainer: Taiyun Wei <[email protected] /cdn-cgi/l/email-protection>
Description: The corrplot package is a graphical display of a
        correlation matrix, confidence interval. It also contains some
        algorithms to do matrix reordering.
License: GPL-2 | GPL-3
LazyLoad: yes
URL: http://corrplot.r-forge.r-project.org
Repository: CRAN
Repository/R-Forge/Project: corrplot
Repository/R-Forge/Revision: 45
Date/Publication: 2010-05-31 07:44:14
Packaged: 2010-05-30 20:39:16 UTC; rforge
Built: R 2.11.1; ; 2011-03-19 00:22:49 UTC; unix

-- File: /home/user/R/x86_64-pc-linux-gnu-library/2.11/corrplot/Meta/package.rds 
> 

corrplot 维护者回写了可用的备用 corrplot.rhere http://misterdavis.org/R_info/corrplot.r

使用此 corrplot 和下面的示例代码,文本大小是可以接受的。然而,尝试增加它也会产生相同的效果。

source("http://misterdavis.org/R_info/corrplot.r")
corrplot(cor(lpp_axis1, lpp_axis2), addn=T,
         addgrid.col = "gray50", tl.cex=2, assign.col="min2max",
         tl.col = "black", cl.ratio=0.4, addcolor="no",
         col = colorRampPalette(c("yellow","green","blue"))(100))

使用可用的相关圈的早期版本here http://addictedtor.free.fr/graphiques/sources/source_152.R,可以根据自己的喜好调整文本。 (尽管该图缺少后来更精致的 corrplot 包的一些功能。) cex 可以用于 cex。如果时间允许,我可能会尝试调整两者,以找到一个折中方案。

使用旧的相关圆脚本,以下代码会生成足够大的 X 和 Y 轴标签:

circle.corr(cor(lpp_axis1, lpp_axis2), bg = "gray50",   col = colorRampPalette(c("navyblue","white", "red"))(100), cex=1.5)

Update2

实际上,由于提供了代码和数据,现在有了一个真正的可重现示例:

d1 <- read.csv(url("http://misterdavis.org/r_wiki/r_results_1231_2010"))
lpp_axis1 <- with(d1, data.frame("Compile Source Code" = Q3A.1,
                                 "View Source Code" = Q3A.2,
                                 "Change Source Code" = Q3A.3, 
                                 "Write Documentation" = Q3A.8, 
                                 "File Bug Reports"= Q3B.3,
                                 "Ask Questions" = Q3B.5,
                                 "Provide Answers" = Q3B.6,
                                 "Overall Participation" = Q3a3bConsolidated))

lpp_axis2 <- with(d1, data.frame("Identification" = Q1,
                                 "Overall Learning" = Q6Consolidated,  
                                 "Learning Programming" = Q6.1,
                                 "Learning about Computers" = Q6.2, 
                                 "Learning Teamwork" =  Q6.3))

corrplot(cor(lpp_axis1, lpp_axis2), method=c("number"), bg = "grey10",
         addgrid.col = "gray50", tl.cex=1,
         tl.col = "black", 
         col = colorRampPalette(c("yellow","green","navyblue"))(100))
dev.new()
corrplot(cor(lpp_axis1, lpp_axis2), method=c("number"), bg = "grey10",
         addgrid.col = "gray50", tl.cex=2,
         tl.col = "black", 
         col = colorRampPalette(c("yellow","green","navyblue"))(100))

The dev.new()允许您同时在屏幕上进行比较,而无需将绘图区域分成两个面板。

The tl.offset似乎造成的问题比其价值更多,所以我将其排除在外。我包括以下两个数字:

With tl.cex = 1

With tl.cex = 2

如您所见,我无法重现您所看到的问题;tl.cex只是改变轴标签尺寸的大小。注意这是没有使用tl.offset但其余的绘图代码与您的相同。

这就是我从中得到的packageDescription():

R> packageDescription("corrplot")
Package: corrplot
Type: Package
Title: visualization of a correlation matrix
Version: 0.30
Date: 2010-05-30
Author: Taiyun Wei
Suggests: seriation, cairoDevice, Cairo,
Maintainer: Taiyun Wei <[email protected] /cdn-cgi/l/email-protection>
Description: The corrplot package is a graphical display of a
        correlation matrix, confidence interval. It also contains some
        algorithms to do matrix reordering.
License: GPL-2 | GPL-3
LazyLoad: yes
URL: http://corrplot.r-forge.r-project.org
Repository: CRAN
Repository/R-Forge/Project: corrplot
Repository/R-Forge/Revision: 45
Date/Publication: 2010-05-31 07:44:14
Packaged: 2010-05-30 20:39:16 UTC; rforge
Built: R 2.13.0; ; 2011-04-01 12:33:21 UTC; unix

-- 文件:/home/gavin/R/libs/corrplot/Meta/package.rds

将其与您系统上的代码进行比较,并尝试上面的示例,以便我们运行完全相同的代码进行比较。


原始示例这是一个可重现的示例:

require(corrplot)
data(mtcars)
corr <- cor(mtcars)
corrplot(corr, method = "number", tl.cex = 2)

Update

好的,我现在看到问题了。和tl.offset,您将标签从相关图形进一步推到边缘。这似乎是一个关于不幸福的错误corrplot()就好像你没有设置一样tl.offset它缩放相关图形以适应标签。我能看到的唯一解决方案是不设置tl.offset根本没有,或者将其设置为较小的值 这是一个极端的例子:

layout(matrix(1:2, ncol = 2))
corrplot(corr, method = "number", tl.cex = 2, tl.offset = 3)
corrplot(corr, method = "number", tl.cex = 2)
layout(1)

You can通过改变绘图设备的相对尺寸来改进 - 如果在屏幕上,则增加绘图设备窗口的宽度或高度(或两者),直到所有标签都可见。如果这是另一台设备(pdf() or png()说),那么您需要在创建设备时更改设备的尺寸。


Original[可重现的示例] 给出:

您不清楚 x 和 y 轴标签有什么问题,但是corrplot()改变绘图边距以适应标签。您已经通过设置参数指定了这些 x 和 y 轴标签的相对大小tl.cex = 2。如果您希望标签更大,请增加该值:

corrplot(corr, method = "number", tl.cex = 4)

如果你想要更小的标签,设置tl.cex为更小的值:

corrplot(corr, method = "number", tl.cex = 0.8)

鉴于这些是唯一的 xand绘图上的 y 标签,这有帮助吗?如果不,which标签需要更改吗?

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

R - 更改 corrplot 轴标签的大小 的相关文章

随机推荐

  • C++ 遗传算法的最佳数据结构?

    我需要实现一个针对我的问题 大学项目 定制的遗传算法 第一个版本将其编码为短矩阵 每条染色体的位数x人口大小 这是一个糟糕的设计 因为我声明了一个短路 但仅使用 0 和 1 值 但这只是一个原型 并且按预期工作 现在是时候开发一个新的了 改
  • 用于计算上下文无关语法的 FIRST 和 FOLLOW 集的算法 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要一种算法来计算语法的 FIRST 和 FOLLOW 集 是否有一个简单的算法或简单的代码来计算这些 大多数编译器教科书和解析算法
  • 计算 3D 网格的体积

    我厌倦了计算 3D 物体 立方体 圆柱体 的体积 有人可以帮忙吗 有这个问题吗 问题是 如何计算物体的体积 基于三角形的坐标 我的班级做得不好 有人能帮我吗 提高班级水平 thanks public class Algorithm priv
  • 我可以在我的应用程序中同时使用 GCM 和 FCM 吗?

    我有一个Android项目 其中实现了GCM 后端 服务器 已经使用 GCM 进行了适当的编码 现在是否可以在我的项目中添加 firebase FCM 并与 GCM 并行工作 我无法迁移到 FCM 因为不可能更改我的后端代码 因为它是一个大
  • 如何在react-native项目中启用jsconfig.json

    我正在设置一个新的 React Native 项目 并希望通过将 jsconfig json 文件添加到项目的根目录来配置应用程序以支持使用绝对路径导入模块 但该应用程序无法解析这些模块 我需要做一些额外的设置吗 我使用react nati
  • 如何将后代 UrlHelper 类注入 WebViewPage 以启用缓存清除?

    我已经覆盖了UrlHelper Content 方法 现在我希望使用我的实现而不是默认的UrlHelper class 如何配置 MVC 来告诉它要注入哪个类WebViewPage Url财产 更新1 这个想法很简单 捆绑包通过向 url
  • PageObject with Ruby - 在文本字段中设置文本仅适用于主文件

    我正在自动化一个网站 该网站有一个页面 其中包含通过单选按钮选择的选项列表 当选择其中一个无线电时 会出现一个文本字段和一个选择列表 我创建了一个文件 test contracting rb 通过它我执行测试 ruby test contr
  • 将数组广播为不同的形状(添加“假”维度)

    在 python 中 使用 numpy 我可以将数组广播为不同的形状 gt gt gt import numpy as np gt gt gt a np array 2 3 4 gt gt gt b np zeros 3 2 gt gt g
  • 将 XmlSerializer 与根元素中的数组一起使用

    我有一个类似于以下内容的 XML 文档
  • 停止“开发人员工具访问需要控制另一个进程才能继续调试”警报

    我最近升级到10 7 3 当我登录后第一次尝试在模拟器中调试我的iOS项目时 系统提示我以下两个警报 我的用户是管理员用户 我以前从未见过这些警报 我怎样才能让他们停下来 EDIT 我已确认我是该组织的会员 developer小组使用id
  • NSWindow在showWindow后自动关闭

    我正在尝试在情节提要中打开 NSWindow 我已正确实例化控制器 窗口打开但立即消失 var sb NSStoryboard var vc NSWindowController IBAction func openWindow sende
  • 识别美丽汤中令人困惑的价值目标

    这是一个涉及Python的问题 美丽的汤 https www crummy com software BeautifulSoup bs4 doc 和 HTML 以及投资百科API https github com kirkthaker in
  • 洪水填充四路算法复杂度

    我已经搜索过 但似乎找不到洪水填充算法 四路版本 的复杂性 大 O 表示法的复杂度究竟是多少 时间复杂度为 O 4 mn mn 因为矩阵的每个单元最多被处理4次 例如 可以通过其顶部 底部 左侧或右侧单元格来调用特定单元格
  • OpenCV 绘制匹配错误

    我的代码由一个部分组成 我在其中对一组匹配进行排序并根据距离定义良好的匹配 当我尝试绘制匹配时 我收到错误 OpenCV Error Assertion failed i1 gt 0 i1 lt static cast
  • 如何使 pip 可用于 Windows 上的 git bash 命令行?

    我添加了pip我的 python site packages 目录中的安装文件夹到我的 PATH 但我仍然只能通过以下方式运行它python m pip在我的 git bash 中 只是pip给我command not found 我环顾四
  • PyQt5 - 如何在鼠标点击位置画一个点?

    我试图在主窗口上画一个点 但该点未显示 我尝试过绑定mousePressEvent to paintEvent 但效果不佳 这是我的代码的当前版本 也不起作用 我也尝试提出一个观点drawPoint方法 它也不起作用 import sys
  • Django - 如何从模型中选择特定列?

    我嗅了一下 找不到这个 但我确信它就在这里的某个地方 对这个潜在的双重帖子表示歉意 如果我有这个代码 return Story objects filter user request user id order by create date
  • Python 在 cv2.destroyWindow() 之后冻结

    我在 Mac OS X Lion 上的 Python 2 7 下使用 openCV 每当我运行代码来简单地显示相机源 来自 iSight 时 Python 就会冻结 看起来相机实际上并没有得到清理 我使用了相同代码的多个不同版本 如下 来自
  • Android EditText,在 numberDecimal 输入类型的情况下显示逗号和点作为可能的分隔符

    我需要让用户在输入十进制数时在两个变体之间进行选择 使用逗号 作为分隔符 使用点 作为分隔符 默认情况下 如果我使用inputType numberDecimal in the EditTextxml配置 EditText仅显示数字和逗号
  • R - 更改 corrplot 轴标签的大小

    我正在使用以下内容corrplot require corrplot needs the corrplot package corrplot cor lpp axis1 lpp axis2 method c number bg grey10