ggplot2箱式图两两比较_作图技巧024篇ggplot2在循环中的坑

ggplot2在循环中的输出生活科学哥-R语言科学 2020-12-23  8:28ggplot2用过之后,你肯定会爱上它;结合一些不错的包,可以得到非常有展现力的图片,但是呢,有时也会碰到一些奇怪的情况。今天来们来看看,其中的一个小坑。

原始数据与代码

  为了演示变换的过程,这里生成了1个数据,并且作一个简单的图

library(ggplot2)library(patchwork)dfp1$y[1]*4) df$y=df$y+1 p2$y[1]*4)  p1/p2

数据1的结果:上面我们输出了2个图,点图的size与y值的第一个(虽然这里y值对于每个图中都一样,分别为1与2),结果如下:

b211cfd638ef2c0b5cfbf7712b5d45d8.png

但是如果说,我们想循环中画y从1变到10的图:

library(ggplot2)library(patchwork)dffor(i in 1:10){  p$y[1]*4)  df$y=df$y+1  p}

数据2的结果:怎么点都没用,没反应。如果直接在循坏外面输入p,得到的是y为10时的结果,说明这个过程进行得很正常呀。

p

b3646d4c115ee95aed99f3e95b210439.png

920194921810a83cec923dc006c56a64.png

如何解决的方案1

  这个问题解决了也很简单,只要加上print或者是plot即可。因为在图形输出中有相互的覆盖,朋友们可以测试一下下面这个代码,看看使用p 与采用print(p)时,输出的PDF文件的区别(存放 在C:\test下。)

library(ggplot2)library(patchwork)setwd("c:/test")dfpdf("test.pdf",width = 20,height = 10)for(i in 1:10){  p$y[1]*4)print(p)   df$y=df$y+1}  dev.off()

同样,可以改成plot(p),结果也是一样的。 

920194921810a83cec923dc006c56a64.png

如何解决的方案2

  有些朋友可能会说,我不一定要输出,那如果一定要循环语句中操作的话 ,那就存在列表中即可。

library(ggplot2)library(patchwork)setwd("c:/test")dfsfor(i in 1:10){  s[[i]]$y[1]*4)  df$y=df$y+1}

要作图时,引用s[[]]中的某图即可。

920194921810a83cec923dc006c56a64.png

其它

  在基础作图中,不会有这样的问题。

library(ggplot2)library(patchwork)setwd("c:/test")dfpar(mfrow=c(4,3))for(i in 1:10){  plot(df$x,df$y,cex=i)  df$y=df$y+1}

43e9141623a10e1d0f5fda6cc7fd1eb1.png

至于原因,我也不知道为何,有知道的朋友欢迎指点。但是明确的是,在ggplot2的在线说明中,提及过这个问题,见参考文献部分。

920194921810a83cec923dc006c56a64.png

今天的简单分享就到这里。

参考文献 

1.  https://ggplot2.tidyverse.org/reference/print.ggplot.html

0b8e4b7e96504e1479ed8470bb51f45f.gif

往期回顾

36d59fb2eb2de04d79872bed7e848535.gif

01

基本概念

从零开始学R-001篇-程序安装

从零开始学R-002篇-向量

从零开始学R-003篇-数据框

从零开始学R-004篇-列表

从零开始学R-005篇-矩阵

数据结构-006篇-数组实例

数据结构-007篇-因子

 数据运算-008篇-数学与逻辑运算

数据运算-009篇-矩阵运算简单介绍

数据运算-010篇-内置的一般数学计算函数

数据运算-011篇-内置的统计概率函数

数据运算-012篇-集合的操作

逻辑运算-013篇-条件语句

循环语句-014篇-for与while

循环语句-015篇-apply家族

定位函数-016篇-which函数打天下

字符处理-017篇-paste函数

字符处理-018篇-grep,substr,sub等函数

数据运算-019篇-统计函数初体验median与mad

数据运算-020篇-统计函数初体验之分位数quantile

数据运算-021篇-统计函数初体验之差分diff函数

数据运算-022篇-统计函数初体验之中心化函数scale

数据运算-023篇-描述性统计分析及缺失值分析

数据运算-024篇-相关系数分析

数据运算-025篇-dplyr之slice

数据运算-026篇-数据的行拆分

数据运算-027篇-数据的行合并

数据运算-028篇-rlang的列引用方法

数据运算-029篇-对多列数据框进行格式转换

数据运算-030篇-字符串处理str_dec的局限

3ee511e0a65fec49389b53fda5dd28af.gif

02

基础作图

R的作图-001篇-barplot柱状图

R的作图-002篇-pie 作饼图

R的作图-003篇-hist 直方图

R的作图-004篇-boxplot箱线图

R的作图-005篇-核密度图与比较

R的作图-006篇-plot函数

R的作图-007篇-散点图与线性拟合

R的作图-008篇-散点图矩阵

R的作图-009篇-高密度散点图

R的作图-010篇-三维散点图

R的作图-011篇-气泡图

R的作图-012篇-马赛克图

R的作图-013篇-QQ图及原理

R的作图-014篇-lm拟合结果图解释

R的作图-015篇-ggplot2之初体验

R的作图-016篇-ggplot2之geom_point

R的作图-017篇-ggplot2之geom_jitter与rug

R的作图-018篇-ggplot2之geom_line与geom_path

R的作图-019篇-ggplot2之geom_area,geom_polygon geom_ribbon

R的作图-020篇-ggplot2之geom_bar,geom_col与geom_histogram    

R的作图-021篇-ggplot2之geom_density

R的作图-022篇-ggplot2之geom_density2d

R的作图-023篇-ggplot2之geom_boxplot

R的作图-024篇-ggplot2之geom_bin2d

R的作图-025篇-ggplot2之geom_contour()

R的作图-026篇-ggplot2之geom_crossbar 与geom_count()

R的作图-027篇-ggplot2之geom_errorbar 与geom_linerange等简单作图

R的作图-028篇-ggplot2之geom_vline/hline/abline/smooth等

R的作图-029篇-ggplot2之geom_tile,geom_rect与geom_raster

R的作图-030篇-ggplot2之geom_text与geom_label

作图进阶-031篇-ggplot2之geom_violin

作图进阶-032篇-ggplot2之分面facet_grid与facet_wrap

作图进阶-033篇-ggplot2之legend

作图进阶-034篇-ggplot2之作图区的设定

作图进阶-035篇-ggalluvial之桑基图

作图进阶-036篇-ggridges之峰峦图

作图进阶-037篇-坐标轴标签重叠的优化

作图进阶-038篇-数据拟合作图分析

作图进阶-039篇-plotly包之add_XXX

作图进阶-040篇-plotly的type与mode

作图进阶-041篇-plotly的颜色设置

作图进阶-042篇-plotly中往图中增加标签

作图进阶-043篇-plotly通过add_fun灵活叠加图

作图进阶-044篇-plotly的图例legend设置

作图进阶-045篇-plotly的坐标轴Ticks设置

作图进阶-046篇-plotly设定默认的trace颜色

作图进阶-047篇-plotly中画误差棒作图进阶-048篇-plotly中的箱线图

作图进阶-049篇-plotly中的动画效果

作图进阶-050篇-plotly中二维密度与等高线

作图进阶-051篇-add_heatmap的使用

作图进阶-052篇-add_ribbons与polygons的使用

作图进阶-053篇-add_segments,add_paths与add_table

作图进阶-054篇-基于矩阵画热图

作图进阶-055篇-mesh3d画个雨伞玩玩

作图进阶-056篇-经验累积分布函数的实现

作图进阶-057篇-画个瓶子玩玩

 作图进阶-058篇-plotly中的曲线旋转

作图进阶-059篇-曲线旋转后简单构造三维图形作图进阶-060篇-曲线的拉伸作图进阶-061篇-ggplot2中的legend排列作图进阶-062篇-ggplot2中采用双标度作图进阶-063篇-ggplot2中的标度作图进阶-064篇-plotly里的gauge chart作图进阶-065篇-plotly里的瀑布图作图进阶-066篇-plotly里的漏斗图作图进阶-067篇-ggplot2中标注显著性作图进阶-068篇-ggplot2中的嵌套子图作图进阶-069篇-r中的数据表格处理作图进阶-070篇-再谈R中的颜色作图进阶-071篇-再谈R中的因子作图进阶-072篇-展现交集的韦恩图作图进阶-073篇-用R快速生成word文档批作图进阶-074篇-更改legend的小技巧3ee511e0a65fec49389b53fda5dd28af.gif

03

作图技巧

作图技巧-001篇-facet_zoom放大局部图

作图技巧-002篇-ggplot2 中的字体设置

作图技巧-003篇-ggplot2 新版本 3.3.0的一些新功能

作图技巧-004篇-QQ图之DIY

作图技巧-005篇-plotly做3维曲面图

作图技巧-006篇-数据标记初体验

作图技巧-007篇-数据标记之geom_mark_hull进阶

作图技巧-008篇-ggforce中甜甜圈饼图的作法及其它的功能

作图技巧-009篇-ggplot作图时的因子排序

作图技巧-010篇-plot_ly中的mesh3d

作图技巧-011篇-ggplot_build中的数据提取实现histogram与density同步叠加

作图技巧-012篇-ggplot中的stat_sum等系列

作图技巧-013篇-ggplot分面图的标签设置

作图技巧-014篇-不同的样条曲线bspline

作图技巧-015篇-大家一起来拼图

作图技巧-016篇-拼图系列之2-cowplot

作图技巧-017篇-拼图工具之3-patchwork

作图技巧-018篇-第二坐标轴在ggplot2中的实现

作图技巧-019篇-draw_key_XXX系列

作图技巧-020篇-更改ggplot2作图的默认设置

作图技巧-021篇-增加基于表达式的坐标轴标题

作图技巧-022篇-月是故乡明,画个月亮图

作图技巧-023篇-再看极坐标

3ee511e0a65fec49389b53fda5dd28af.gif

04

R的技巧

R的技巧-001篇-快速从列表中提取元素组成数据框

R的技巧-002篇-快速对数据框中满足条件的列进行替换

R的技巧-003篇-数字的不同取整与进位

R的技巧-004篇-文件名提取分类成表

R的技巧-005篇-直方图与分布图的叠加

R的技巧-006篇-ggplot2中的cut类函数

R的技巧-007篇-assign与get:动态生成变量与获取变量

R的技巧-008篇-pretty函数实现完美分割点

R的技巧-009篇-数据填充                 

R的技巧-010篇-dplyr之slice,mutate,summarize  与do

R的技巧-011篇-dnorm,pnorm与qnorm傻傻分不清

R的技巧-012篇-缝缝补补改创建好的ggplot2图

R的技巧-013篇-approx函数插值

R的技巧-014篇-openxls包处理excel数据

5cffd74e28cbe6b0a745e087412066ea.png 

欢迎关注与转发,如有不懂,可以共同探讨,在后台留言或者是扫码下方。

6a98e2a5387c2d22020cbe65aea18cd9.png

你点的每一个在看,我都认真当成了喜欢

欢迎关注与转发,如有不懂,可以共同探讨,在后台留言或者是扫码下方。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507941.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习-自然语言处理中的近似训练

自然语言处理中的近似训练 跳字模型的核心在于使用softmax运算得到给定中心词wcw_cwc​来生成背景词wow_owo​的条件概率 P(wo∣wc)exp(uo⊤vc)∑i∈Vexp(ui⊤vc).P(w_o \mid w_c) \frac{\text{exp}(\boldsymbol{u}_o^\top \boldsymbol{v}_c)}{ \sum_{i \in \mathcal{V}} \te…

pytorch-word2vec的实例实现

word2vec的实例实现 实现词嵌入word2vec中的跳字模型和近似训练中的负采样以及二次采样(subsampling),在语料库上训练词嵌入模型的实现。 首先导入实验所需的包或模块。 import collections import math import random import sys import …

pytorch-LSTM的输入和输出尺寸

LSTM的输入和输出尺寸 CLASS torch.nn.LSTM(*args, **kwargs)Applies a multi-layer long short-term memory (LSTM) RNN to an input sequence. For each element in the input sequence, each layer computes the following function: 对于一个输入序列实现多层长短期记忆的…

python中的[-1]、[:-1]、[::-1]、[n::-1]

import numpy as np anp.random.rand(4) print(a)[0.48720333 0.67178384 0.65662903 0.40513918]print(a[-1]) #取最后一个元素 0.4051391774882336print(a[:-1]) #去除最后一个元素 [0.48720333 0.67178384 0.65662903]print(a[::-1]) #逆序 [0.40513918 0.65662903 0.67178…

torchtext.data.Field

torchtext.data.Field 类接口 class torchtext.data.Field(sequentialTrue, use_vocabTrue, init_tokenNone, eos_tokenNone, fix_lengthNone, dtypetorch.int64, preprocessingNone, postprocessingNone, lowerFalse, tokenizeNone, tokenizer_languageen, include_lengthsF…

np.triu

np.triu numpy.triu(m, k0) Upper triangle of an array. Return a copy of a matrix with the elements below the k-th diagonal zeroed. 返回一个矩阵的上三角矩阵,第k条对角线以下的元素归零 例如: import numpy as np np.triu(np.ones([4,4]), …

python读取json格式的超参数

python读取json格式的超参数 json文件: {"full_finetuning": true,"max_len": 180,"learning_rate": 3e-5,"weight_decay": 0.01,"clip_grad": 2,"batch_size": 30,"epoch_num": 20,"…

python缺少标准库_干货分享:Python如何自动导入缺失的库

很多同学在写Python项目时会遇到导入模块失败的情况:ImportError: No module named xxx或者ModuleNotFoundError: No module named xxx。导入模块失败通常分为两种:一种是导入自己写的模块(即以 .py 为后缀的文件),另一种是导入三方库。接下来…

.val()数据乱码_【目标检测数据集】PASCAL VOC制作

【VOC20072012】数据集地址:https://pjreddie.com/projects/pascal-voc-dataset-mirror/PASCAL VOC为图像识别和分类提供了一整套标准化的优秀的数据集,用于构建和评估用于图像分类(Classification),检测(O…

pytorch-多GPU训练(单机多卡、多机多卡)

pytorch-多GPU训练(单机多卡、多机多卡) pytorch 单机多卡训练 首先是数据集的分布处理 需要用到的包: torch.utils.data.distributed.DistributedSampler torch.utils.data.DataLoader torch.utils.data.Dataset DistributedSampler这个…

机器人 铑元素_智能机器人 三十三

福里斯特茫然不知所措地从窃窃私语的黑暗中转过身来,沉重的失败感犹如巨怪压得他喘不过气来。他顺从地跛着脚走向笼内角落里的小浴室,冲着微笑着的木偶刚才经过的地方点点头,漫不经意地问道:“你们是如何抓住他们的?”…

character-level OCR之Character Region Awareness for Text Detection(CRAFT) 论文阅读

Character Region Awareness for Text Detection 论文阅读 论文地址(arXiv) ,pytorch版本代码地址 最近在看一些OCR的问题,CRAFT是在场景OCR中效果比较好的模型,记录一下论文的阅读 已有的文本检测工作大致如下: 基于回归的文…

c# wpf 面试_【远程面试】九强通信 | 九洲电器集团全资子公司

成都IT内推圈成立于2016年,专注成都IT互联网领域的招聘与求职;覆盖精准IT人群10W,通过内推圈推荐且已入职人数超过5000,合作公司均系成都知名或靠谱公司.此公众号每天7:30AM准时推送当天职位详情,敬请关注并置顶!岗位投递一、登陆内推圈官网: www.itneituiquan.com,…

ViT(Vision Transformer)学习

ViT(Vison Transformer)学习 Paper:An image is worth 1616 words: transformers for image recognition at scale. In ICLR, 2021. Transformer 在 NLP领域大放异彩,并且随着模型和数据集的不断增长,仍然没有表现出饱和的迹象。这使得使用更大规模的数…

mysql php宝塔 root_[转载]在安卓中安装宝塔面板运行PHP+MySQL

手机上的操作我用的手机是小米10pro,其他手机应该也能用相同的方法安装成功。安装Linux Deploy,然后给它root权限。点击左上角的菜单按钮。点击号,创建一个名为debian的配置文件。如果已经有了名为debian的配置文件,选择它即可。返…

cpri带宽不足的解决方法_u盘容量不足怎么办 u盘容量不足解决方法【介绍】

我们在使用u盘的时候总能碰到各种各样的问题,其中u盘容量不足问题也是神烦,很多时候打开并没有发现有文件存在,但是在你存文件的时候又被提示u盘容量不足无法操作,关于这个问题u启动通过整理和大家一起分享下解决办法。1、u盘里的…

(python numpy) np.array.shape 中 (3,)、(3,1)、(1,3)的区别

(python numpy) np.array.shape 中 (3,)、(3,1)、(1,3)的区别 被人问到这个问题,就记录一下吧 1. (3,) (3,)是[x,y,z][x,y,z][x,y,z]的形式,即为一维数组,访问数组元素用一个index for example: >>> array1 np.array([1,2,3]) …

复合的赋值运算符例题_Java学习:运算符的使用与注意事项

运算符的使用与注意事项四则运算当中的加号“”有常见的三种用法:对于数值来,那就是加法。对于字符char类型来说,在计算之前,char会被提升成为int,然后再计算。char类型字符,和int类型数字之间的对照关系比…

腾讯会议如何使用讲演者模式进行汇报(nian gao)

腾讯会议如何使用讲演者模式进行汇报(nian gao) 首先列出步骤,再一一演示: altf5 开启讲演者模式,调整讲演者模式的窗口为小窗alttab 切换回腾讯会议界面,屏幕共享power point窗口(注意不是“…

bulk这个词的用法_15、形容词与副词(二)比较的用法

初中英语语法——形容词与副词(二)比较的用法语法解释1、形容词与副词比较级和最高级的规则变化单音节词与部分双音节词:(1)一般情况加-er,-estlong-longer-longest strong-stronger-strongestclean-cleaner-cleanest(2)以不发音的e结尾的词,…