R 基本图形

  • 加载包,主要是为了利用里面的数据集Arthritis
> library(vcd)
> head(Arthritis)  数据集的前几行格式
  ID Treatment  Sex Age Improved
1 57   Treated Male  27     Some
2 46   Treated Male  29     None
3 77   Treated Male  30     None
4 17   Treated Male  32   Marked
5 36   Treated Male  46   Marked
6 23   Treated Male  58   Marked
  • 条形图
#   table统计数据集列Improved的数据
> counts <- table(Arthritis$Improved) 
> counts

  None   Some Marked 
    42     14     28 

(1)垂直条形图

> barplot(counts, main='Sample Bar Plot', xlab='Improvement', ylab='Frequency')

垂直条形图

(2)水平条形图

> barplot(counts, main='Sample Bar Plot', xlab='Improvement', ylab='Frequency', horiz=TRUE)

水平条形图

(3)堆砌条形图

> counts <- table(Arthritis$Improved, Arthritis$Treatment)
> counts
        
         Placebo Treated
  None        29      13
  Some         7       7
  Marked       7      21
> barplot(counts, main='Sample Bar Plot', xlab='Improvement', ylab='Frequency')

堆砌条形图

加颜色图例

> barplot(counts, main='Sample Bar Plot', xlab='Improvement', ylab='Frequency', col=c('red','yellow','green'), legend=rownames(counts))

堆砌条形图加图例

(4)分组条形图 beside=TRUE

> barplot(counts, main='Sample Bar Plot', xlab='Improvement', ylab='Frequency', beside=TRUE)

(5)棘状图

spine是vcd里的函数
> library(vcd)
> spine(counts)   main="名儿"
棘状图
  • 直方图
    来画个四宫格吧
> par(mfrow=c(2,2))

> hist(mtcars$mpg, main="fig1")

> hist(mtcars$mpg, breaks=12, col="#999999", main="fig2")

> hist(mtcars$mpg, breaks=12, freq=FALSE, main="fig3")
> rug(jitter(mtcars$mpg))  添加轴须图
> lines(density(mtcars$mpg), col="black", lwd=2)  添加密度曲线

> h <- hist(mtcars$mpg, breaks=12, main="fig4")
添加正态密度曲线
> xfit <- seq(min(mtcars$mpg), max(mtcars$mpg), length=40)
> yfit <- dnorm(xfit, mean=mean(mtcars$mpg), sd=sd(mtcars$mpg))
> yfit <- yfit*diff(h$mids[1:2])*length(mtcars$mpg)
> lines(xfit, yfit, col="black", lwd=2)
> box()  添加外框

image.png

(6)核密度图

> library(sm)
> attach(mtcars)
> head(mtcars)
                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
> cyl.f <- factor(cyl, levels=c(4, 6, 8), labels=c("4 cylinder", "6 cylinder", "8 cylinder"))
> sm.density.compare(mpg, cyl, xlab="mpg")  画出核密度图
> title(main="title")  添加标题
> colfill <- c(2: (1+length(levels(cyl.f))))
> legend(locator(1), levels(cyl.f), fill=colfill)  添加图例

核密度图

(7)箱线图

> boxplot.stats(mpg)
$stats
[1] 10.40 15.35 19.20 22.80 33.90

$n
[1] 32

$conf
[1] 17.11916 21.28084

$out
numeric(0)

> boxplot(mpg~cyl, data=mtcars)
image.png
> boxplot(mpg~cyl, data=mtcars, 
+              notch=TRUE,   含凹槽的箱线图
+              varwidth=TRUE)   箱线图的宽度与样本大小成正比
含凹槽的箱线图
> cyl.f <- factor(cyl, levels=c(4, 6, 8), labels=c("4 cylinder", "6 cylinder", "8 cylinder"))
> am.f <- factor(am, levels=c(0, 1), labels=c("0", "1"))
> boxplot(mpg~am.f *cyl.f, data=mtcars,  varwidth=TRUE)   两个交叉因子箱线图

含凹槽的箱线图

小提琴图

> x1 <- mpg[cyl==4]
> x2 <- mpg[cyl==6]
> x3 <- mpg[cyl==8]
> vioplot(x1, x2, x3, names=c("4", "6", "8"))

小提琴图

(8)点图

> dotchart(mpg, labels=row.names(mtcars))
点图
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,724评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,104评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,142评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,086评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,076评论 5 370
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,914评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,220评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,871评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,318评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,834评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,951评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,574评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,162评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,162评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,383评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,349评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,652评论 2 343

推荐阅读更多精彩内容