R语言绘图(ggplot2、ggpubr)从入门到精通04--柱状图美化之调色

Python014

R语言绘图(ggplot2、ggpubr)从入门到精通04--柱状图美化之调色,第1张

本系列课程要求大家有一定的R语言基础,对于完全零基础的同学,建议去听一下师兄的《生信必备技巧之——R语言基础教程》。本课程将从最基本的绘图开始讲解,深入浅出的带大家理解和运用强大而灵活的ggplot2包。内容包括如何利用ggplot2绘制散点图、线图、柱状图、添加注解、修改坐标轴和图例等。

本次课程所用的配套书籍是: 《R Graphic Cookbooks》

除了以上的基本图形外,师兄还会给大家讲解箱线图、提琴图、热图、火山图、气泡图、桑基图、PCA图等各种常用的生信图形的绘制,还不赶紧加入收藏夹,跟着师兄慢慢学起来吧!

柱状图可能是最常用的一种数据可视化。它们通常用于显示数值(在y轴上),用于显示不同类别的数值(在x轴上)。例如,柱状图可以用来显示四种不同商品的价格。柱状图通常不适合显示一段时间内的价格,因为时间是一个连续的变量

在制作柱状图时,您应该注意一个重要的区别:柱状图的高度有时表示数据集中的案例数,有时表示数据集中的值。记住这一区别——这可能会引起混淆,因为它们与数据的关系非常不同,但两者使用相同的术语。

拓展: position参数: 此处的position主要是指对图像的微调,最常见的应用是在分组的柱形图(bar)中,因为分组的柱形图会产生组内堆积和不堆积两种主要效果。

rm(list=ls())##清除之前数据

library(rms)  ###加载rms包#

library(foreign)

library(survival)

library(rmda)

##install.packages("DynNom")

library(DynNom)

setwd("C://Users//zhanglingyu//Desktop//测试")  #设置工作目录

rt<- read.table('测试.txt',header=T,sep="\t")

head(rt)  #查看前5行的数据

str(rt)

##接着对所有变量数据进行打包

ddist <- datadist(rt)  #将数据打包

options(datadist='ddist')

model1<- lrm(rt$fustat ~ Age+Gender+Tau+EMPG+Glu+HCY+VB12+ALB, data =  rt)

summary(model1)

par(mgp=c(1.6,0.6,0),mar=c(2,2,2,2))  ##设置画布

nomogram <- nomogram(model1,fun=function(x)1/(1+exp(-x)), ##逻辑回归计算公式

                    fun.at = c(0.001,0.01,0.05,seq(0.1,0.9,by=0.1),0.95,0.99,0.999),#风险轴刻度

                    funlabel = "Risk of Alzheimer Disease", #风险轴便签

                    lp=T,  ##是否显示系数轴

                    conf.int = F, ##每个得分的置信度区间,用横线表示,横线越长置信度越

                    abbrev = F#是否用简称代表因子变量

)

plot(nomogram,

    #1.变量与图形的占比

    xfrac=.35,

    #2.变量字体加粗

    cex.var=1,

    #3.数轴:字体的大小

    cex.axis=0.8,

    #4.数轴:刻度的长度

    tcl=-0.5,

    #5.数轴:文字与刻度的距离

    lmgp=0.3,

    #6.数轴:刻度下的文字,1=连续显示,2=隔一个显示一个

    label.every=1,

    #7.1个页面有几个数轴(这个可以压缩行间距)

    naxes=13,

    #8.垂直线的颜色.

    col.grid=gray(c(0.8, 0.95)),

    #9.线性预测轴名字

    lplabel="Linear Predictorlp",

    #10变量分数名字

    points.label='Points',

    #11总分名字

    total.points.label='Total Points',

    force.label=F#没啥用TRUE强制标记的每个刻度线都绘制标签,我也没研究明白

)

#运行以展示Nomogram每个变量的分数

model1

##生成改良诺模图

plot(nomogram,col.grid = c("Tomato2","DodgerBlue"))

1、启动WPS表格2013,先设定abc的值,也就是二次函数的三个系数。

2、我们知道,a是不能为0的,所以,有必要设置数据有效性,设为不允许为0。

3、下面要制作函数表达式了,平方号我们可以在特殊符号中选择。

4、为了制作一个随机的图,我们要用到公式代码,这样给出不同的abc值,得到的曲线也不同。所以函数表达式可以这样写:="y="&IF(E3=1,"x²",E3&"x²")&IF(F3<0,F3&"x",IF(F3=0,"",IF(F3=1,"+x","+"&F3&"x")))&IF(G3<0,G3,IF(G3=0,"","+"&G3)),我们知道二次函数的对称轴的公式是 x=-b/2a,所以我们可以在B3单元格输入公式:=ROUND($F$3/(-2*$E$3)-13+ROW(),0),填充,然后在C3输入=$E$3*B3^2+$F$3*B3+$G$3,如下图所示:

5、数据生成完毕,下面是生成图表了,选择XY散点图,类型选为无数据点平滑线散点图。

6、源数据的设置,切换到数据区域选项卡,单击数据区域后的选项,给出数据区域。

7、图表基本已经生成完毕,我们稍微美化一下,改变曲线颜色.