## -- Attaching packages --------------------------------------- tidyverse 1.3.0 --
## √ ggplot2 3.3.2 √ purrr 0.3.3
## √ tibble 3.0.0 √ dplyr 0.8.5
## √ tidyr 1.0.2 √ stringr 1.4.0
## √ readr 1.3.1 √ forcats 0.5.0
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
检查tidyverse包中的更新tidyverse_update()
基本设置
颜色列表
注意:使用color时,color和fill的区别。
## [1] "white" "aliceblue" "antiquewhite"
## [4] "antiquewhite1" "antiquewhite2" "antiquewhite3"
## [7] "antiquewhite4" "aquamarine" "aquamarine1"
## [10] "aquamarine2" "aquamarine3" "aquamarine4"
## [13] "azure" "azure1" "azure2"
## [16] "azure3" "azure4" "beige"
## [19] "bisque" "bisque1" "bisque2"
## [22] "bisque3" "bisque4" "black"
## [25] "blanchedalmond" "blue" "blue1"
## [28] "blue2" "blue3" "blue4"
## [31] "blueviolet" "brown" "brown1"
## [34] "brown2" "brown3" "brown4"
## [37] "burlywood" "burlywood1" "burlywood2"
## [40] "burlywood3" "burlywood4" "cadetblue"
## [43] "cadetblue1" "cadetblue2" "cadetblue3"
## [46] "cadetblue4" "chartreuse" "chartreuse1"
## [49] "chartreuse2" "chartreuse3" "chartreuse4"
## [52] "chocolate" "chocolate1" "chocolate2"
## [55] "chocolate3" "chocolate4" "coral"
## [58] "coral1" "coral2" "coral3"
## [61] "coral4" "cornflowerblue" "cornsilk"
## [64] "cornsilk1" "cornsilk2" "cornsilk3"
## [67] "cornsilk4" "cyan" "cyan1"
## [70] "cyan2" "cyan3" "cyan4"
## [73] "darkblue" "darkcyan" "darkgoldenrod"
## [76] "darkgoldenrod1" "darkgoldenrod2" "darkgoldenrod3"
## [79] "darkgoldenrod4" "darkgray" "darkgreen"
## [82] "darkgrey" "darkkhaki" "darkmagenta"
## [85] "darkolivegreen" "darkolivegreen1" "darkolivegreen2"
## [88] "darkolivegreen3" "darkolivegreen4" "darkorange"
## [91] "darkorange1" "darkorange2" "darkorange3"
## [94] "darkorange4" "darkorchid" "darkorchid1"
## [97] "darkorchid2" "darkorchid3" "darkorchid4"
## [100] "darkred" "darksalmon" "darkseagreen"
## [103] "darkseagreen1" "darkseagreen2" "darkseagreen3"
## [106] "darkseagreen4" "darkslateblue" "darkslategray"
## [109] "darkslategray1" "darkslategray2" "darkslategray3"
## [112] "darkslategray4" "darkslategrey" "darkturquoise"
## [115] "darkviolet" "deeppink" "deeppink1"
## [118] "deeppink2" "deeppink3" "deeppink4"
## [121] "deepskyblue" "deepskyblue1" "deepskyblue2"
## [124] "deepskyblue3" "deepskyblue4" "dimgray"
## [127] "dimgrey" "dodgerblue" "dodgerblue1"
## [130] "dodgerblue2" "dodgerblue3" "dodgerblue4"
## [133] "firebrick" "firebrick1" "firebrick2"
## [136] "firebrick3" "firebrick4" "floralwhite"
## [139] "forestgreen" "gainsboro" "ghostwhite"
## [142] "gold" "gold1" "gold2"
## [145] "gold3" "gold4" "goldenrod"
## [148] "goldenrod1" "goldenrod2" "goldenrod3"
## [151] "goldenrod4" "gray" "gray0"
## [154] "gray1" "gray2" "gray3"
## [157] "gray4" "gray5" "gray6"
## [160] "gray7" "gray8" "gray9"
## [163] "gray10" "gray11" "gray12"
## [166] "gray13" "gray14" "gray15"
## [169] "gray16" "gray17" "gray18"
## [172] "gray19" "gray20" "gray21"
## [175] "gray22" "gray23" "gray24"
## [178] "gray25" "gray26" "gray27"
## [181] "gray28" "gray29" "gray30"
## [184] "gray31" "gray32" "gray33"
## [187] "gray34" "gray35" "gray36"
## [190] "gray37" "gray38" "gray39"
## [193] "gray40" "gray41" "gray42"
## [196] "gray43" "gray44" "gray45"
## [199] "gray46" "gray47" "gray48"
## [202] "gray49" "gray50" "gray51"
## [205] "gray52" "gray53" "gray54"
## [208] "gray55" "gray56" "gray57"
## [211] "gray58" "gray59" "gray60"
## [214] "gray61" "gray62" "gray63"
## [217] "gray64" "gray65" "gray66"
## [220] "gray67" "gray68" "gray69"
## [223] "gray70" "gray71" "gray72"
## [226] "gray73" "gray74" "gray75"
## [229] "gray76" "gray77" "gray78"
## [232] "gray79" "gray80" "gray81"
## [235] "gray82" "gray83" "gray84"
## [238] "gray85" "gray86" "gray87"
## [241] "gray88" "gray89" "gray90"
## [244] "gray91" "gray92" "gray93"
## [247] "gray94" "gray95" "gray96"
## [250] "gray97" "gray98" "gray99"
## [253] "gray100" "green" "green1"
## [256] "green2" "green3" "green4"
## [259] "greenyellow" "grey" "grey0"
## [262] "grey1" "grey2" "grey3"
## [265] "grey4" "grey5" "grey6"
## [268] "grey7" "grey8" "grey9"
## [271] "grey10" "grey11" "grey12"
## [274] "grey13" "grey14" "grey15"
## [277] "grey16" "grey17" "grey18"
## [280] "grey19" "grey20" "grey21"
## [283] "grey22" "grey23" "grey24"
## [286] "grey25" "grey26" "grey27"
## [289] "grey28" "grey29" "grey30"
## [292] "grey31" "grey32" "grey33"
## [295] "grey34" "grey35" "grey36"
## [298] "grey37" "grey38" "grey39"
## [301] "grey40" "grey41" "grey42"
## [304] "grey43" "grey44" "grey45"
## [307] "grey46" "grey47" "grey48"
## [310] "grey49" "grey50" "grey51"
## [313] "grey52" "grey53" "grey54"
## [316] "grey55" "grey56" "grey57"
## [319] "grey58" "grey59" "grey60"
## [322] "grey61" "grey62" "grey63"
## [325] "grey64" "grey65" "grey66"
## [328] "grey67" "grey68" "grey69"
## [331] "grey70" "grey71" "grey72"
## [334] "grey73" "grey74" "grey75"
## [337] "grey76" "grey77" "grey78"
## [340] "grey79" "grey80" "grey81"
## [343] "grey82" "grey83" "grey84"
## [346] "grey85" "grey86" "grey87"
## [349] "grey88" "grey89" "grey90"
## [352] "grey91" "grey92" "grey93"
## [355] "grey94" "grey95" "grey96"
## [358] "grey97" "grey98" "grey99"
## [361] "grey100" "honeydew" "honeydew1"
## [364] "honeydew2" "honeydew3" "honeydew4"
## [367] "hotpink" "hotpink1" "hotpink2"
## [370] "hotpink3" "hotpink4" "indianred"
## [373] "indianred1" "indianred2" "indianred3"
## [376] "indianred4" "ivory" "ivory1"
## [379] "ivory2" "ivory3" "ivory4"
## [382] "khaki" "khaki1" "khaki2"
## [385] "khaki3" "khaki4" "lavender"
## [388] "lavenderblush" "lavenderblush1" "lavenderblush2"
## [391] "lavenderblush3" "lavenderblush4" "lawngreen"
## [394] "lemonchiffon" "lemonchiffon1" "lemonchiffon2"
## [397] "lemonchiffon3" "lemonchiffon4" "lightblue"
## [400] "lightblue1" "lightblue2" "lightblue3"
## [403] "lightblue4" "lightcoral" "lightcyan"
## [406] "lightcyan1" "lightcyan2" "lightcyan3"
## [409] "lightcyan4" "lightgoldenrod" "lightgoldenrod1"
## [412] "lightgoldenrod2" "lightgoldenrod3" "lightgoldenrod4"
## [415] "lightgoldenrodyellow" "lightgray" "lightgreen"
## [418] "lightgrey" "lightpink" "lightpink1"
## [421] "lightpink2" "lightpink3" "lightpink4"
## [424] "lightsalmon" "lightsalmon1" "lightsalmon2"
## [427] "lightsalmon3" "lightsalmon4" "lightseagreen"
## [430] "lightskyblue" "lightskyblue1" "lightskyblue2"
## [433] "lightskyblue3" "lightskyblue4" "lightslateblue"
## [436] "lightslategray" "lightslategrey" "lightsteelblue"
## [439] "lightsteelblue1" "lightsteelblue2" "lightsteelblue3"
## [442] "lightsteelblue4" "lightyellow" "lightyellow1"
## [445] "lightyellow2" "lightyellow3" "lightyellow4"
## [448] "limegreen" "linen" "magenta"
## [451] "magenta1" "magenta2" "magenta3"
## [454] "magenta4" "maroon" "maroon1"
## [457] "maroon2" "maroon3" "maroon4"
## [460] "mediumaquamarine" "mediumblue" "mediumorchid"
## [463] "mediumorchid1" "mediumorchid2" "mediumorchid3"
## [466] "mediumorchid4" "mediumpurple" "mediumpurple1"
## [469] "mediumpurple2" "mediumpurple3" "mediumpurple4"
## [472] "mediumseagreen" "mediumslateblue" "mediumspringgreen"
## [475] "mediumturquoise" "mediumvioletred" "midnightblue"
## [478] "mintcream" "mistyrose" "mistyrose1"
## [481] "mistyrose2" "mistyrose3" "mistyrose4"
## [484] "moccasin" "navajowhite" "navajowhite1"
## [487] "navajowhite2" "navajowhite3" "navajowhite4"
## [490] "navy" "navyblue" "oldlace"
## [493] "olivedrab" "olivedrab1" "olivedrab2"
## [496] "olivedrab3" "olivedrab4" "orange"
## [499] "orange1" "orange2" "orange3"
## [502] "orange4" "orangered" "orangered1"
## [505] "orangered2" "orangered3" "orangered4"
## [508] "orchid" "orchid1" "orchid2"
## [511] "orchid3" "orchid4" "palegoldenrod"
## [514] "palegreen" "palegreen1" "palegreen2"
## [517] "palegreen3" "palegreen4" "paleturquoise"
## [520] "paleturquoise1" "paleturquoise2" "paleturquoise3"
## [523] "paleturquoise4" "palevioletred" "palevioletred1"
## [526] "palevioletred2" "palevioletred3" "palevioletred4"
## [529] "papayawhip" "peachpuff" "peachpuff1"
## [532] "peachpuff2" "peachpuff3" "peachpuff4"
## [535] "peru" "pink" "pink1"
## [538] "pink2" "pink3" "pink4"
## [541] "plum" "plum1" "plum2"
## [544] "plum3" "plum4" "powderblue"
## [547] "purple" "purple1" "purple2"
## [550] "purple3" "purple4" "red"
## [553] "red1" "red2" "red3"
## [556] "red4" "rosybrown" "rosybrown1"
## [559] "rosybrown2" "rosybrown3" "rosybrown4"
## [562] "royalblue" "royalblue1" "royalblue2"
## [565] "royalblue3" "royalblue4" "saddlebrown"
## [568] "salmon" "salmon1" "salmon2"
## [571] "salmon3" "salmon4" "sandybrown"
## [574] "seagreen" "seagreen1" "seagreen2"
## [577] "seagreen3" "seagreen4" "seashell"
## [580] "seashell1" "seashell2" "seashell3"
## [583] "seashell4" "sienna" "sienna1"
## [586] "sienna2" "sienna3" "sienna4"
## [589] "skyblue" "skyblue1" "skyblue2"
## [592] "skyblue3" "skyblue4" "slateblue"
## [595] "slateblue1" "slateblue2" "slateblue3"
## [598] "slateblue4" "slategray" "slategray1"
## [601] "slategray2" "slategray3" "slategray4"
## [604] "slategrey" "snow" "snow1"
## [607] "snow2" "snow3" "snow4"
## [610] "springgreen" "springgreen1" "springgreen2"
## [613] "springgreen3" "springgreen4" "steelblue"
## [616] "steelblue1" "steelblue2" "steelblue3"
## [619] "steelblue4" "tan" "tan1"
## [622] "tan2" "tan3" "tan4"
## [625] "thistle" "thistle1" "thistle2"
## [628] "thistle3" "thistle4" "tomato"
## [631] "tomato1" "tomato2" "tomato3"
## [634] "tomato4" "turquoise" "turquoise1"
## [637] "turquoise2" "turquoise3" "turquoise4"
## [640] "violet" "violetred" "violetred1"
## [643] "violetred2" "violetred3" "violetred4"
## [646] "wheat" "wheat1" "wheat2"
## [649] "wheat3" "wheat4" "whitesmoke"
## [652] "yellow" "yellow1" "yellow2"
## [655] "yellow3" "yellow4" "yellowgreen"
其他可设置项
linetype、size、shape、fontface、justification等
## starting httpd help server ... done
线图
geom_line, geom_path, geom_step 线图中的常用参数:group:线的分组,alpha:线的透明度,color:颜色,size:粗细,linetype:类型
geom_line
案例一
使用ggplot2中的economics数据框
## # A tibble: 6 x 6
## date pce pop psavert uempmed unemploy
## <date> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1967-07-01 507. 198712 12.6 4.5 2944
## 2 1967-08-01 510. 198911 12.6 4.7 2945
## 3 1967-09-01 516. 199113 11.9 4.6 2958
## 4 1967-10-01 512. 199311 12.9 4.9 3143
## 5 1967-11-01 517. 199498 12.8 4.7 3066
## 6 1967-12-01 525. 199657 11.8 4.8 3018
多组线条(用color分组)
p1 <- ggplot(data=economics)+
geom_line(aes(x=date,y=pce,color="pce"))+
geom_line(aes(x=date,y=unemploy,color="unemploy"))+
labs(title = "Line Example1(1)",y="pce/unemploy")+ #设置标题
scale_color_discrete(name="Legend")+ #设置图例颜色(按组分)、名称
theme(legend.background = element_rect(fill = "azure"), #图例背景:注意是fill不是color
legend.position = c(1,0),
legend.justification = c(1,0),
plot.title = element_text(size=20,face ="bold",hjust = 0.5))
p1
多组线条(用linetype分组)
ggplot(data=economics)+
geom_line(aes(x=date,y=pce,linetype="pce"),color="steelblue")+ #注意此处两个color填一样的颜色
geom_line(aes(x=date,y=unemploy,linetype="unemploy"),color="steelblue")+
labs(title = "Line Example1(2)",y="pce/unemploy")+
scale_linetype_discrete(name="Legend")+ #设置图例线条形状(按组分)、名称
theme(legend.position = c(0,1),
legend.justification = c(0,1),
plot.title = element_text(size=15,hjust = 0))
多组线条(用linetype和color分组)
ggplot(data=economics)+
geom_line(aes(x=date,y=pce,linetype="pce",color="pce"))+
geom_line(aes(x=date,y=unemploy,linetype="unemploy",color="unemploy"))+
labs(title = "Line Example1(3)",y="pce/unemploy")+
scale_linetype_discrete(name="Legend")+ #设置图例线条形状(按组分)、名称
scale_color_discrete(name="Legend")+ #注意这里图例名称要与上面一致
theme(legend.position = c(1,0),
legend.justification = c(1,0),
plot.title = element_text(size=15,face = "bold",hjust = 1))
多图合一
p11 <- economics %>%
ggplot(aes(x=date,y=pce))+
geom_line(color="pink")+
xlab(label = NULL)+
labs(title = "Line Example1(4)")
p12 <- economics %>%
ggplot(aes(x=date,y=psavert))+
geom_line(color="skyblue")+
xlab(label = NULL)
p13 <- economics %>%
ggplot(aes(x=date,y=unemploy))+
geom_line(color="orange")
gridExtra::grid.arrange(p11,p12,p13,nrow=3)
案例二
#自创列表
da <- tribble(
~time, ~data,
"2018年一季报" ,114.46,
"2018年中报" ,115.06,
"2018年三季报" ,90.05,
"2018年年报" ,188.15,
"2019年一季报" ,171.47,
"2019年中报" ,165.92,
"2019年三季报" ,169.32,
"2019年年报" ,124.55
)
dat <- mutate(da,time=fct_inorder(time))#将字符串转化为因子,fct_inorder表示按因子首次出现顺序排列,该作用是防止顺序混乱。
da
## # A tibble: 8 x 2
## time data
## <chr> <dbl>
## 1 2018年一季报 114.
## 2 2018年中报 115.
## 3 2018年三季报 90.0
## 4 2018年年报 188.
## 5 2019年一季报 171.
## 6 2019年中报 166.
## 7 2019年三季报 169.
## 8 2019年年报 125.
## [1] "tbl_df" "tbl" "data.frame"
ggplot(dat,aes(x=time,y=data))+
geom_line(color="plum",group=1)+ #注意要添加group=1
geom_text(aes(label=data,vjust=0))+ #在图中添加数据
labs(title = "负债总额")+
theme(plot.background = element_rect(fill = "snow"), #注意是fill,color只是外边框
plot.title = element_text(hjust = 0.5,size = 20),
plot.margin = unit(c(0.5,1,0.5,0.5),"cm"), #设置边框距离:上左下右
axis.text.x = element_text(angle = 45,vjust = 0.5)) #旋转x轴的坐标
案例三
普通画法
## [1] "time" "index" "lna" "a"
## # A tibble: 6 x 4
## time index lna a
## <dttm> <dbl> <dbl> <dbl>
## 1 2018-03-26 00:00:00 0 6.07 434.
## 2 2018-03-27 00:00:00 0.648 6.06 426.
## 3 2018-03-28 00:00:00 1.28 6.03 414.
## 4 2018-03-29 00:00:00 1.27 6.01 407.
## 5 2018-03-30 00:00:00 0.980 6.02 412
## 6 2018-04-02 00:00:00 0.480 6.03 417
## [1] "tbl_df" "tbl" "data.frame"
ggplot(y1)+
geom_line(aes(x=time,y=index),color="orange")+
labs(title = "Line Example3(1)")+
theme(plot.title = element_text(face="bold",size = 20,hjust = 0.5))
时间序列图
将time 列转换成date格式
## # A tibble: 6 x 4
## time index lna a
## <date> <dbl> <dbl> <dbl>
## 1 2018-03-26 0 6.07 434.
## 2 2018-03-27 0.648 6.06 426.
## 3 2018-03-28 1.28 6.03 414.
## 4 2018-03-29 1.27 6.01 407.
## 5 2018-03-30 0.980 6.02 412
## 6 2018-04-02 0.480 6.03 417
查看数据最小值和最大值,方便画出坐标间隔
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -0.3286 0.1594 0.3422 0.4166 0.6971 1.2796
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 228.7 428.8 455.6 456.2 483.5 592.4
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 5.432 6.061 6.122 6.117 6.181 6.384
ggplot(y1,aes(x=time))+
geom_line(aes(y=index),color="navyblue",size=0.5)+
scale_x_date(date_breaks = "1 month")+ #设置x轴坐标间隔
scale_y_continuous(breaks = seq(-0.5,1.3,0.2))+ #设置y轴坐标间隔
labs(title = "Line Example3(2)")+
theme(axis.text.x = element_text(angle = 90,vjust = 0.5),
plot.title = element_text(size=20,hjust = 0.5))
ggplot(y1,aes(x=time))+
geom_line(aes(y=a),color="steelblue",size=0.5)+
scale_x_date(date_breaks = "1 month")+
scale_y_continuous(breaks = seq(200,600,100))+
labs(title = "Line Example3(2)")+
theme(axis.text.x = element_text(angle = 90,vjust = 0.5),
plot.title = element_text(size=20,hjust = 0.5))
ggplot(y1,aes(x=time))+
geom_line(aes(y=lna),color="orange",size=0.5)+
scale_x_date(date_breaks = "1 month")+
scale_y_continuous(breaks = seq(5,7,0.2))+
labs(title = "Line Example3(3)")+
theme(axis.text.x = element_text(angle = 90,vjust = 0.5),
plot.title = element_text(size=20,hjust = 0.5))
平滑曲线geom_smooth
案例一
使用ggplot2中的mpg数据框
## # A tibble: 6 x 11
## manufacturer model displ year cyl trans drv cty hwy fl class
## <chr> <chr> <dbl> <int> <int> <chr> <chr> <int> <int> <chr> <chr>
## 1 audi a4 1.8 1999 4 auto(l5) f 18 29 p compa~
## 2 audi a4 1.8 1999 4 manual(m5) f 21 29 p compa~
## 3 audi a4 2 2008 4 manual(m6) f 20 31 p compa~
## 4 audi a4 2 2008 4 auto(av) f 21 30 p compa~
## 5 audi a4 2.8 1999 6 auto(l5) f 16 26 p compa~
## 6 audi a4 2.8 1999 6 manual(m5) f 18 26 p compa~
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
按离散变量分组
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
ggplot(mpg)+
geom_smooth(aes(x=displ,y=hwy,color=drv))+
labs(title = "Smooth Example1(3/1)")+
theme(legend.position = c(0,0), #设置图例位置
legend.justification = c(0,0)) #调整图例位置
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
ggplot(mpg)+
geom_smooth(aes(x=displ,y=hwy,color=drv),
se=F, #去掉阴影部分置信区间
show.legend = F)+ #去掉图例
labs(title = "Smooth Example1(3/2)")
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
案例二
## # A tibble: 6 x 4
## time index lna a
## <date> <dbl> <dbl> <dbl>
## 1 2018-03-26 0 6.07 434.
## 2 2018-03-27 0.648 6.06 426.
## 3 2018-03-28 1.28 6.03 414.
## 4 2018-03-29 1.27 6.01 407.
## 5 2018-03-30 0.980 6.02 412
## 6 2018-04-02 0.480 6.03 417
ggplot(y1)+
geom_smooth(aes(x=index,y=lna),color="steelblue")+
labs(title = "Smooth Example2")+
theme(plot.title = element_text(hjust = 0.5))
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
辅助线
• geom_vline(): xintercept添加垂线
• geom_hline(): yintercept添加水平线
• geom_abline(): slope and intercept添加斜线
一般与散点图结合,见下文
条形图
案例一(对样本量计数)
## # A tibble: 6 x 11
## manufacturer model displ year cyl trans drv cty hwy fl class
## <chr> <chr> <dbl> <int> <int> <chr> <chr> <int> <int> <chr> <chr>
## 1 audi a4 1.8 1999 4 auto(l5) f 18 29 p compa~
## 2 audi a4 1.8 1999 4 manual(m5) f 21 29 p compa~
## 3 audi a4 2 2008 4 manual(m6) f 20 31 p compa~
## 4 audi a4 2 2008 4 auto(av) f 21 30 p compa~
## 5 audi a4 2.8 1999 6 auto(l5) f 16 26 p compa~
## 6 audi a4 2.8 1999 6 manual(m5) f 18 26 p compa~
案例二(根据表中数据画条形图)
geom_bar(设置stat=“identity”)
ggplot(dat,aes(x=time,y=data))+
geom_bar(stat = "identity",fill="azure")+
labs(title = "Bar Example2(1)")
案例三(映射第三变量)
## # A tibble: 6 x 10
## carat cut color clarity depth table price x y z
## <dbl> <ord> <ord> <ord> <dbl> <dbl> <int> <dbl> <dbl> <dbl>
## 1 0.23 Ideal E SI2 61.5 55 326 3.95 3.98 2.43
## 2 0.21 Premium E SI1 59.8 61 326 3.89 3.84 2.31
## 3 0.23 Good E VS1 56.9 65 327 4.05 4.07 2.31
## 4 0.290 Premium I VS2 62.4 58 334 4.2 4.23 2.63
## 5 0.31 Good J SI2 63.3 58 335 4.34 4.35 2.75
## 6 0.24 Very Good J VVS2 62.8 57 336 3.94 3.96 2.48
ggplot(data = diamonds) +
geom_bar(mapping = aes(x = cut, fill = clarity))+
labs(title = "Bar Example3(1)")+
theme(plot.title = element_text(size = 20,hjust = 0.5))
用position=“doge”将其映射变为条形依次并列排列,否则为自动堆叠。
ggplot(data = diamonds) +
geom_bar(mapping = aes(x = cut, fill = clarity), position = "dodge")+
labs(title = "Bar Example3(2)")+
theme(plot.title = element_text(size = 20,hjust = 0.5),
legend.position = c(0,1),legend.justification = c(0,1))
散点图
案例一(添加额外变量:映射第三变量)
## # A tibble: 6 x 11
## manufacturer model displ year cyl trans drv cty hwy fl class
## <chr> <chr> <dbl> <int> <int> <chr> <chr> <int> <int> <chr> <chr>
## 1 audi a4 1.8 1999 4 auto(l5) f 18 29 p compa~
## 2 audi a4 1.8 1999 4 manual(m5) f 21 29 p compa~
## 3 audi a4 2 2008 4 manual(m6) f 20 31 p compa~
## 4 audi a4 2 2008 4 auto(av) f 21 30 p compa~
## 5 audi a4 2.8 1999 6 auto(l5) f 16 26 p compa~
## 6 audi a4 2.8 1999 6 manual(m5) f 18 26 p compa~
ggplot(data=mpg)+
geom_point(aes(x=displ,y=hwy,color=class,alpha=class,shape=class),position = "jitter")+ #position = "jitter":抖动,将重叠的点分散开
labs(title = "Point Example1")+
scale_color_discrete("Legend:class")+
scale_alpha_discrete("Legend:class")+
scale_shape_discrete("Legend:class")
## Warning: Using alpha for a discrete variable is not advised.
## Warning: The shape palette can deal with a maximum of 6 discrete values because
## more than 6 becomes difficult to discriminate; you have 7. Consider
## specifying shapes manually if you must have them.
## Warning: Removed 62 rows containing missing values (geom_point).
箱线图
案例一
地图
案例一
ggplot(nz)+
geom_polygon(aes(long,lat,group=group),color="steelblue",fill="white")+
labs(title = "Polygon Example1")
案例二(为地图设置合适的纵横比:coord_quickmap)
ggplot(nz)+
geom_polygon(aes(long,lat,group=group),color="steelblue",fill="orange")+
labs(title = "Polygon Example2")+
coord_quickmap()
饼图
案例一:使用coord_polar极坐标系
ggplot(dat,aes(x="",y=data,fill=time))+
geom_bar(stat = "identity")+
labs(title = "Polar Example",x="",y="")+ #注意将x与y轴标签设为空
theme(axis.ticks = element_blank())+ #把左上角多出来的“小胡子”去掉
theme(axis.text.x = element_blank())+##白色的外框即是原柱状图的X轴,把X轴的刻度文字去掉即可
coord_polar(theta = "y")
案例二:使用geom_rect
见“更多详情”链接
外观设置
背景
内框背景:theme(panel.background = element_rect(fill = " “))
外框背景:theme(plot.background = element_rect(fill =” “))
外框边距:theme(plot.margin = unit(c(2,4,1,3),”cm“)))#上 右 下 左 边距
内框线条:theme(panel.grid.major = element_line(color =”tomato“,size = 2))
theme(panel.grid.minor = element_line(color =”pink",size = 1)))
标题
添加标题:labs(title=“A”,x=“a”,y=“b”)
标题设置:theme(plot.title = element_text(face=“bold”,size = 20,hjust = 0.5,color=" “))
theme(axis.title.x = element_text())
theme(axis.title.y = element_text())
坐标轴
theme(axis.text.x = element_text(angle = 30,vjust = 0.5))
theme(axis.text.y = element_text())
图例
去掉图例:show.legend=F,放在geom层
名称设置:由什么(颜色,透明度,形状)映射用什么,用了几个的情况用+连接,注意名称相同。
scale_color_discrete(“Legend:class”)+
scale_alpha_discrete(“Legend:class”)+
scale_shape_discrete(“Legend:class”)
图例背景: theme(legend.background = element_rect(fill = “azure”))注意是fill不是color
图例位置:
theme(legend.position = c(1,0),
legend.justification = c(1,0.2))
theme(legend.position = c(1,0),
legend.justification =c(1,0))
调整图的大小
在{r}中添加fig.height=xx,fig.width=xx,见图一
ggthemes调整主题
见example1(1)