R语言图形初阶(一)

一、预备知识

1.使用图形
#绑定数据框mtcars

attach(mtcars)

#打开一个图形窗口并生成散点图

plot(wt,mpg)

#添加一条最优拟合曲线

abline(lm(mpg~wt))

#图形名称

title("aaa")

#数据框解除绑定

detach(mtcars)

2.图形的保存
pdf() 、 win.metafile()、png()、jpeg()、bmp()、tiff()、xfig()等其他格式
3.创建多个图形并随时查看每一个
方法一:创建新的一幅图之前打开一个新的图形窗口,每一幅图形将出现在新的窗口中

dev.new()

方法二:通过图形用户界面查看多个图形
“历史”history-----"记录“recording-----点击上一个previous或下一个next
方法三:使用函数同时打开多个图形窗口,并选择将哪个图形发送到哪个窗口中
dev.new()、dev.next()、dev.prev()、dev.set()、dev.off()
可以使用help(dev.cur)查看帮助

二、基础描述分析(案例说明)

1.数据准备
#载入相关的包

library(plyr)
library(reshape2)

#读入数据

novel<-read.csv("E:/R学习资料/data/novel.csv",fileEncoding = "UTF-8")

2.定性变量
hist(v,main,xlab,xlim,ylim,breaks,col,border)

a = table(novel$小说类型)
a = a[order(a, decreasing = T)]

###条形图
barplot(H names.arg = M xlab = “Revenue” ylab = “Month” col = “blue” border = “red” main = “Revenue chart” horiz = TRUE)(数据集 坐标项名称 坐标标签 坐标标签 主题颜色 边缘颜色 标题 水平方向)

barplot(a[1:5], names.arg = names(a)[1:5], col = rainbow(5, alpha = 0.4), xlab = "小说类型", ylab="频数")

###饼状图
pie(数据、数据对应的标签、名称、颜色)

pie(c(4000, 3000, 2000, 1000), labels = c("北京", "天津", "上海", "广州"), main = "啊啊啊", col = 2:5)

#将小说类型进行合并

novel$'小说类别' = "其他"
novel$'小说类别'[novel$小说类型 == "都市小说" | novel$小说类型 == "职场小说"] = "都市类小说"
novel$'小说类别'[novel$小说类型 == "科幻小说" | novel$小说类型 == "玄幻小说" | novel$小说类型 == "奇幻小说"] = "幻想类小说"
novel$'小说类别'[novel$小说类型 == "武侠小说" | novel$小说类型 == "仙侠小说"] = "武侠类小说"

#求出每个类别所占百分比

ratio = table(novel$'小说类别') / sum(table(novel$'小说类别')) * 100

#定义标签
标签中显示百分比

label1 = names(ratio)

每个百分比所对应的类型

label2 = paste0(round(ratio, 2), "%")

###画饼状图

pie(ratio, col = heat.colors(5, alpha = 0.4), labels = paste(label1, label2, sep = "\n"), font = 1)

3.定量变量
###直方图

novel$总字数 = novel$总字数 / 10000
par(mfrow = c(1, 2))

#去掉异常值

chara = sort(novel$总字数)[1:1500]

hist(v,main,xlab,xlim,ylim,breaks,col,border)
v—直方图中所使用数值的向量
main—图表的标题
col—设置条形图的颜色
border—设置每个栏的边框颜色
xlab—描述X轴
xlim—指定x轴的取值范围
ylim—指定y轴的取值范围
breaks—提及每个栏的宽度

hist(chara, breaks = 10, xlab = "总字数(万字)", ylab = "频数", main = "", col = "lightblue")
hist(chara, breaks = 100, xlab = "总字数(万字)", ylab = "频数", main = "", col = "lightblue")

4.两个变量
#将画板分为1行2列

par(mfrow = c(1, 2)) 
boxplot(log(总点击数) ~ 小说性质, data = novel, col = rainbow(2, alpha = 0.3), ylab = "总点击数对数")
boxplot(log(评论数) ~ 小说性质, data = novel, col = rainbow(2, alpha = 0.3), ylab = "总评论数对数")

#将画板恢复

par(mfrow = c(1, 1)) 
test = novel[novel$评论数 < 8000 & novel$总点击数 < 200000, ]
x = test$总点击数
y = test$评论数
plot(x, y, pch = 1, cex = 0.6, xlab = "总点击数", ylab = "评论数")

#分组做箱线图

aa = cut(x, breaks = c(0, 50000, 100000, 150000, 200000), labels = c("(0-5w]", "(5w-10w]", "(10w-15w]", "(15w-20w]"))
boxplot(y ~ aa, col = rainbow(4, alpha = 0.4), xlab = "总点击数", ylab = "评论数")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值