前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ggplot2绘图(R_03)

ggplot2绘图(R_03)

原创
作者头像
用户10803254
修改2023-10-24 17:59:38
2100
修改2023-10-24 17:59:38
举报

注意:代码可运行却画不出图——因为画板被占用,解决方法:多次运行dev.off(),到null device为止

画图的思维:1.我的数据适合什么样的图?2.搜画图代码 3.仿制示例数据 4.套代码,调细节

plot() 多种图形

hist()频率直方图

boxplot()箱式图

stripchart()点图

barplot()柱状图

dotplot()点图

piechart()饼图

matplot()数学图形

lines()添加线

curve()添加曲线

abline()添加给定斜率的线

points()添加点

segments()折线

arrows()箭头

axis()坐标轴

box()外框

title()标题

text()文字

代码语言:javascript
复制
#1.基础包 
plot(iris[,1],iris[,3],col = iris[,5]) #iris为数据框,以iris第一列为横坐标,第三列为纵坐标,第五列有多少个不同的取值则有多少种颜色
text(6.5,4, labels = 'hello')#在(6.5,4)坐标处添加“hello”

dev.off() #关闭画板

#2.ggplot2 中坚力量,语法有个性
library(ggplot2)
ggplot(data = iris)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length,
                           color = Species))#以iris数据框作点图,x=和y=分别表示行名和列名,Sepal.Length为数据框中的列名

属性

参数

颜色

color

大小(单位mm)

size

透明度

alpha

填充颜色(1-20均用不到fill函数))

fill

形状(数字编号见下图)

shape

一.以点图为例解释各参数:

1.

代码语言:javascript
复制
ggplot(data=iris)+
geom_point(mapping=aes(x=Sepal.Length,y=Sepal.Length),size=2,alpha=0.5,shape=21)

2.x、y、color均为aes的参数

代码语言:javascript
复制
ggplot(data=iris)+
geom_point(mapping=aes(x=Sepal.Length,y=Sepal.Length,color=Species))

3.x和y为aes的参数,color为geom_point的参数

代码语言:javascript
复制
ggplot(data=iris)+
geom_point(mapping=aes(x=Sepal.Length,y=Sepal.Length),color="red")

4.scale_color_manual手动设置显示的颜色,此函数必须与color=Species一起使用,更多颜色查询十六进制颜色代码

代码语言:javascript
复制
ggplot(data=iris)+
geom_point(mapping=aes(x=Sepal.Length,y=Sepal.Length,color=Species))+
scale_color_manual(values=c("blue","red","yellow"))

5.单分面:将大图按Species分为三个子图

代码语言:javascript
复制
ggplot(data=iris)+
geom_point(mapping=aes(x=Sepal.Length,y=Sepal.Length,color=Species))+
facet_wrap(~Species)

6.双分面

代码语言:javascript
复制
dat = iris
dat$Group = sample(letters[1:5],150,replace = T)#sample表示取样,从abcde中取150个样(可重复取样)
ggplot(data = dat) + 
  geom_point(mapping = aes(x = Sepal.Length, y = Petal.Length)) + 
  facet_grid(Group ~ Species)

7.几何对象的叠加(多种图形叠加)

代码语言:javascript
复制
ggplot(data = iris,mapping = aes(x = Sepal.Length, y = Petal.Length))+
  geom_smooth()+
  geom_violin(aes(fill=species))+#小提琴图有颜色填充
  geom_jitter(aes(shape=1))#点的形状

二.柱状图

代码语言:javascript
复制
ggplot(data = diamonds) + 
  geom_bar(mapping = aes(x = cut))#自动统计x出现的次数作为纵坐标
ggplot(data = diamonds) + 
  stat_count(mapping = aes(x = cut))#两种代码所作的图相同

2.1不统计数量,统计比例

代码语言:javascript
复制
ggplot(data = diamonds) + 
  geom_bar(mapping = aes(x = cut, y = ..prop.., group = 1))#group=1表示cut中的所有组作为一个整体,百分比相加等于1

三.箱式图

pdat.data.frame

rownames

group

gene

count

test1

control

gene1

0.1

test2

treat

gene2

0.2

代码语言:javascript
复制
library(ggplot2)
p = ggplot(pdat,aes(gene,count))+
  geom_boxplot(aes(fill = group))+
  theme_bw()
p
p + facet_wrap(~gene,scales = "free")

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 注意:代码可运行却画不出图——因为画板被占用,解决方法:多次运行dev.off(),到null device为止
  • 画图的思维:1.我的数据适合什么样的图?2.搜画图代码 3.仿制示例数据 4.套代码,调细节
  • 一.以点图为例解释各参数:
    • 2.x、y、color均为aes的参数
      • 3.x和y为aes的参数,color为geom_point的参数
        • 4.scale_color_manual手动设置显示的颜色,此函数必须与color=Species一起使用,更多颜色查询十六进制颜色代码
          • 5.单分面:将大图按Species分为三个子图
            • 6.双分面
              • 7.几何对象的叠加(多种图形叠加)
              • 二.柱状图
                • 2.1不统计数量,统计比例
                • 三.箱式图
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档