久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

R_ggplot2基礎(chǔ)(一)

 生物_醫(yī)藥_科研 2019-03-29

1 ggplot2特點(diǎn)

  • 采用圖層的設(shè)計(jì)方式,有利于結(jié)構(gòu)化思維

  • 將表征數(shù)據(jù)和圖形細(xì)節(jié)分開(kāi),,能快速將圖形表現(xiàn)出來(lái),使創(chuàng)造性繪圖更加容易,,而不必糾結(jié)于圖形的細(xì)節(jié),,細(xì)節(jié)可以后期慢慢調(diào)整

  • 將常見(jiàn)的統(tǒng)計(jì)變換融入到了繪圖中

  • 有明確的起始(ggplot開(kāi)始)與終止(一句話一個(gè)圖層),,圖層之間的疊加是靠“+”實(shí)現(xiàn)的,越往后,,其圖層越在上方

  • 圖形美觀,,擴(kuò)展包豐富,有專(zhuān)門(mén)調(diào)整字體和公式的包,,有專(zhuān)門(mén)調(diào)整顏色的包,,還有專(zhuān)門(mén)用按鈕輔助調(diào)整主題的包,總之,,應(yīng)有盡有

2 ggplot2基本概念

  • Data數(shù)據(jù),, Mapping映射

  • Scale標(biāo)度

  • Geometric幾何對(duì)象

  • Statistics統(tǒng)計(jì)變換

  • Coordinate坐標(biāo)系統(tǒng)

  • Layer圖層

  • Facet分面

  • Legend圖例

  • beautiful美化

3 ggplot2語(yǔ)法框架

繪圖流程:

ggplot(data, aes(x = , y = )) +   # 基礎(chǔ)圖層,不出現(xiàn)任何圖形元素,,
 geom_xxx()|stat_xxx() +  # 幾何圖層或統(tǒng)計(jì)變換,,出現(xiàn)圖形元素  
 coord_xxx() +  # 坐標(biāo)變換,默認(rèn)笛卡爾坐標(biāo)系    
 scale_xxx() + # 標(biāo)度調(diào)整,,調(diào)整具體的標(biāo)度  
 facet_xxx() + # 分面,,將其中一個(gè)變量進(jìn)行分面變換  
 guides() + # 圖例調(diào)整
 theme() # 主題系統(tǒng)  

3.1 共性映射與個(gè)性映射

  • ggplot(data = NULL, mapping = aes())

  • geom_xxx(data = NULL, mapping = aes())

  • ggplot()內(nèi)有data、mapping兩個(gè)參數(shù)
    具有全局優(yōu)先級(jí),,可以被之后的所有geom_xxx對(duì)象或stat_xxx()所繼承(前提是geomstat未指定相關(guān)參數(shù))

  • geom_xxx()stat_xxx()內(nèi)的參數(shù)屬于局部參數(shù),,僅僅作用于內(nèi)部

  • 為了避免混亂,通常將共性映射的參數(shù)指定在ggplot(aes())aes內(nèi)部,,將個(gè)性映射的參數(shù)指定在geom_xxx(aes())stat_xxx(aes())內(nèi)部

3.2 幾何對(duì)象與統(tǒng)計(jì)變換

  • 幾何對(duì)象geom_xxx(stat = ) 內(nèi)有統(tǒng)計(jì)變換參數(shù)stat,,統(tǒng)計(jì)變換stat_xxx(geom = )內(nèi)也有幾何對(duì)象參數(shù)geom

  • 兩種方法結(jié)果相同,幾何對(duì)象更專(zhuān)注于結(jié)果,,統(tǒng)計(jì)變換更專(zhuān)注于變換過(guò)程

library(ggplot2)
# 用幾何對(duì)象作圖
ggplot(data = NULL, mapping = aes(x = x, y = y)) + geom_point(color = 'darked',
   stat = 'identity')  # identity 表示沒(méi)有任何統(tǒng)計(jì)變換
# 用統(tǒng)計(jì)變換作圖
ggplot(data = NULL, mapping = aes(x = x, y = y)) + stat_identity(color = 'darked',
   geom = 'point')  # geom_point(stat = 'identity')與stat_identity(geom = 'point')結(jié)果一樣

3.3 aes與data參數(shù)

  • aes參數(shù)用來(lái)指定要映射的變量,可以是多個(gè)變量,,

  • data參數(shù)表示指定數(shù)據(jù)源,必須是data.frame格式,,其坐標(biāo)軸變量最好寬轉(zhuǎn)長(zhǎng),,只能指定一個(gè)x軸和y軸,多個(gè)x列或y列不能使用調(diào)整圖例,。

geom_xxx()幾何對(duì)象

常用的幾種幾何對(duì)象函數(shù):

幾何對(duì)象函數(shù)描述其它
geom_point點(diǎn)圖geom_point(position = 'jitter') == geom_jitter() 避免重疊
geom_line折線圖可以通過(guò)smooth參數(shù)平滑處理
geom_bar柱形圖x軸是離散變量
geom_area面積圖
geom_histogram直方圖x軸數(shù)據(jù)是連續(xù)的
geom_boxplot箱線圖
geom_rect二維長(zhǎng)方形圖
geom_segment線段圖
geom_path幾何路徑由一組點(diǎn)按順序連接
geom_curve曲線
geom_abline斜線有斜率和截距指定
geom_hline水平線常用于坐標(biāo)軸繪制
geom_vline豎線常用于坐標(biāo)軸繪制
geom_text文本

ggplot2唯一不支持的常規(guī)平面圖形是雷達(dá)圖

其它幾何對(duì)象查詢(xún):
ggplot2 part of the tidyverse
ggplot2 Quick Reference: geom
也可以用

ls(pattern = '^geom_', env = as.environment('package:ggplot2')) 查詢(xún),,但是沒(méi)有圖形示例

library(ggplot2)
ls(pattern = '^geom_', env = as.environment('package:ggplot2'))

柱形圖和散點(diǎn)圖是關(guān)鍵,并且與極坐標(biāo)變換緊密相連,,著重介紹柱形圖和散點(diǎn)圖,,其它的原理和參數(shù)都類(lèi)似

4.1 aesthetics specifications 美學(xué)參數(shù)

能用作變量映射的包括:

美學(xué)參數(shù)描述
color/col/colour指定點(diǎn)、線和填充區(qū)域邊界的顏色
fill指定填充區(qū)域的顏色,,如條形和密度區(qū)域,, 第21到24號(hào)點(diǎn)也有填充色
alpha指定顏色的透明度,從0(完全透明) 到 1(不透明)
size指定點(diǎn)的尺寸或線的寬度,單位為mm
angle角度,,只有部分幾何對(duì)象有,如geom_text文本的擺放角度, geom_spoke中短棒擺放角度
linetype指定線條的類(lèi)型
shape點(diǎn)的形狀, 為[0, 25]區(qū)間的26個(gè)整數(shù)
vjust垂直位置微調(diào),,在(0, 1)區(qū)間的數(shù)字或位置字符串: 0=“buttom”, 0.5=“middle”, 1=“top” , 區(qū)間外的數(shù)字微調(diào)比例控制不均
hjust水平位置微調(diào),在(0, 1)區(qū)間的數(shù)字或位置字符串:0=“l(fā)eft”, 0.5=“center”, 1=“right” ,, 區(qū)間外的數(shù)字微調(diào)比例控制不均
不常映射的參數(shù)描述
binwidth直方圖的寬度
notch表示方塊圖是否應(yīng)為缺口
sides表示地毯圖的安置位置(“b”底部, “l(fā)”左部, “t”頂部, “r”右部, “bl”左下角, 等等)
width箱線圖或柱形圖的寬度,,從(0, 1), 柱形圖默認(rèn)0.9即90%
lineend表示指定寬線條端部形狀,有3種:“round”半圓形,,“square”增加方形, “butt”默認(rèn)不變,, 常用于geom_path和geom_line幾何對(duì)象
family字體(Font face),內(nèi)置的只有3種:“sans”, “serif”, “mono”
fontface字型,,分為: “plain”常規(guī)體, “bold”粗體, “italic”斜體, “bold.italic”粗斜體,。常用于geom_text等文本對(duì)象
lineheight長(zhǎng)文本換行行距, 常用于geom_text等文本對(duì)象

4.1.1 fill/color 顏色

R自身自持很多種方式的顏色,“顏色名稱(chēng)”和“HEX色值”最常用和方便,,其它的需要擴(kuò)展包
顏色名稱(chēng)如:
“white”, “azure”, “bisque”, “blue”, “black”, “brown”, “chacolate”, “coral”, “cornsilk”, “cyan”, “gold” ,
“darkgolden”, “orange”, “orchild”, “gray”, “grey”, “tomato”, “violet”, “wheat”, “yellow”, “pink”,
“purple”, “red”, “salmon”, “seashell”, “ivory”,“magentia”,“navy”等系列,。
所有的顏色名稱(chēng)見(jiàn): R_Color_Chart(后臺(tái)回復(fù):顏色,可下載PDF版本)
如果對(duì)一組顏色進(jìn)行映射的話,,建議使用RColorBrewer等調(diào)色包,,更加方便
RColorBrewer顏色板如下,,左邊為字符串編號(hào),,上下分為3個(gè)版塊,分別為漸變色板Sequential,,離散對(duì)比色板Qualitative,,兩極色板Diverging

# colors() # 調(diào)用所有內(nèi)置顏色編號(hào),名稱(chēng)
scales::show_col(colors()[1:6])  # show_col函數(shù)可以將顏色名稱(chēng)或HEX色值向量顯示出來(lái)
# RColorBrewer包使用
library('RColorBrewer')
display.brewer.all()  # 顯示所有可用色板
display.brewer.all(type = 'seq')  # 查看漸變色板


RColorBrewer使用方法:
通過(guò)函數(shù)brewer.pal(n, name)抽取色條名字為name的n種顏色,,后面還可以用“[]”索引符號(hào)索取色塊,,
一個(gè)幾何對(duì)象設(shè)置多種顏色只能在標(biāo)度中設(shè)置,我們會(huì)在標(biāo)度中繼續(xù)講解,,例:

library('RColorBrewer')
display.brewer.pal(7, 'PuRd')  # 抽取PuRd色條7種顏色,,其顏色色值范圍沒(méi)有變,只是色值間隔增大了
display.brewer.pal(9, 'PuRd')[11]  # 抽取PuRd色條11種顏色,,其顏色色值范圍沒(méi)有變,,指定色值間隔減小了

4.1.2 linetype 線型

線條形狀通過(guò)名稱(chēng)或整數(shù)指定:

線型描述
0=“blank”白線
1=“solid”實(shí)線
2=“dashed”短虛線
3=“dotted”點(diǎn)線
4=“dotdash”點(diǎn)橫線
5=“l(fā)ongdash”長(zhǎng)虛線
6=“twodash”短長(zhǎng)虛線

自定義線型
通過(guò)1個(gè)十六進(jìn)制的字符串來(lái)自定義,字符串長(zhǎng)度為2,、4,、6或8。
第1個(gè)數(shù)字為代表閉合的長(zhǎng)度,,第2個(gè)數(shù)字代表缺口的長(zhǎng)度,,第3個(gè)數(shù)字又是閉合的長(zhǎng)度,第4個(gè)數(shù)字是缺口的長(zhǎng)度,如此交替排列,。 然后作為一個(gè)整體重復(fù)排列
如:
* 字符串“33”代表開(kāi)始3個(gè)單位長(zhǎng)度閉合,,產(chǎn)生短橫線,然后缺口長(zhǎng)度也是3個(gè)單位,,這樣作為一個(gè)整體進(jìn)行重復(fù)排列
* 字符串“81”代表開(kāi)始8個(gè)單位長(zhǎng)度閉合,,產(chǎn)生較長(zhǎng)的橫線,然后缺口長(zhǎng)度為1個(gè)單位,,這樣作為一個(gè)整體重復(fù)排列
* 字符串“f8”表示開(kāi)始16個(gè)單位長(zhǎng)度閉合,,產(chǎn)生長(zhǎng)橫線,然后缺口長(zhǎng)度為8個(gè)單位,,這樣作為一個(gè)整體重復(fù)排列
* 字符串“357a”表示開(kāi)始3個(gè)單位長(zhǎng)度閉合,,產(chǎn)生短橫線,然后缺口5個(gè)單位,,然后閉合7個(gè)單位,,最后缺口11個(gè)單位,這樣整體重復(fù)排列

如圖所示:

library(ggplot2)
lty <- c('solid', 'dashed', 'dotted', 'dotdash', 'longdash', 'twodash')
linetypes <- data.frame(
 y = seq_along(lty), # seq_along表示生成與對(duì)象同樣長(zhǎng)度的序列
 lty = lty
)
ggplot(linetypes, aes(0, y)) +
 geom_segment(aes(xend = 5, yend = y, linetype = lty)) +  # 將一個(gè)變量映射到線型
 scale_linetype_identity() +
 geom_text(aes(label = lty), hjust = 0, nudge_y = 0.2) +
 scale_x_continuous(NULL, breaks = NULL) +
 scale_y_reverse(NULL, breaks = NULL)

# 自定義線型
lty <- c('33', '18', '81', 'f8', '5f', '357a', '5a73', '342167', 'a23f45b6') # 自定義9種線型
linetypes <- data.frame(
 y = seq_along(lty),
 lty = lty
)
ggplot(linetypes, aes(0, y)) +
 geom_segment(aes(xend = 5, yend = y, linetype = lty)) + # 將一個(gè)變量映射到線型
 scale_linetype_identity() +
 geom_text(aes(label = lty), hjust = 0, nudge_y = 0.2) +
 scale_x_continuous(NULL, breaks = NULL) +
 scale_y_reverse(NULL, breaks = NULL)

4.1.3 shape點(diǎn)型

[0, 25]個(gè)序號(hào)代表26種點(diǎn)型,, 只有21到26號(hào)點(diǎn)形能fill顏色,,其它都只有輪廓顏色,
序號(hào)32:127對(duì)應(yīng)ASCII字符
所有序號(hào)如圖所示:

library('ggplot2')

d = data.frame(p = c(0:25, 32:127))
ggplot() + scale_y_continuous(name = '') + scale_x_continuous(name = '') + scale_shape_identity() +
   geom_point(data = d, mapping = aes(x = p%%16, y = p%/%16, shape = p), size = 5,
       fill = 'red') + geom_text(data = d, mapping = aes(x = p%%16, y = p%/%16 +
   0.25, label = p), size = 3)


4.1.4 family字體

內(nèi)置的只有3種,,可以通過(guò)擴(kuò)展包extrafont來(lái)將其它字體轉(zhuǎn)換為ggplot2可識(shí)別的標(biāo)準(zhǔn)形式 還可以通過(guò)showtext包以圖片的形式將字體插入到ggplot2圖中,,對(duì)于公式之類(lèi)的特殊字體特別方便,比Latex容易爆了

library('ggplot2')

df <- data.frame(x = c(0.4, 0.6, 0.8), y = 1:3, family = c('sans', 'serif',
   'mono'))
ggplot(df, aes(x, y)) + geom_text(aes(label = family, family = family), size = 15) +
   xlim(0.2, 1) + ylim(0, 4)


4.1.5 Font face字型

分為4類(lèi):“plain”常規(guī)體, “bold”粗體, “italic”斜體, “bold.italic”粗斜體

library('ggplot2')

df <- data.frame(x = c(1, 1.5, 3, 3.5), y = c(2, 1, 1, 2), fontface = c('plain',
   'bold', 'italic', 'bold.italic'))
ggplot(df, aes(x, y)) + geom_text(aes(label = fontface, fontface = fontface),
   size = 15) + xlim(0, 5.5) + ylim(0.5, 2.5)

4.1.6 vjust/hjust相對(duì)位置微調(diào)

vjust: “top” = 1, “middle” = 0.5, “bottom” = 0
hjust: “l(fā)eft” = 0, “center” = 0.5, “right” = 1
微調(diào)后,,該幾何對(duì)象還是在另一個(gè)幾何對(duì)象周?chē)?/p>

library('ggplot2')

just <- expand.grid(hjust = c(0, 0.5, 1), vjust = c(0, 0.5, 1))
just$label <- paste0(just$hjust, ', ', just$vjust)

ggplot(just, aes(hjust, vjust)) + geom_point(colour = 'grey70', size = 5) +
   geom_text(aes(label = label, hjust = hjust, vjust = vjust))  # 也能進(jìn)行映射,,但很少用

4.2 position adjustment 位置調(diào)整參數(shù)

包括:

位置調(diào)整函數(shù)描述其它
position_dodge()水平并列放置position_dodge(width = NULL, preserve = c(“total”, “single”)) 簇狀柱形圖
position_dodge2()水平并列放置position_dodge2(…, padding = 0.1, reverse = FALSE) 簇狀柱形圖,多了2個(gè)參數(shù)
position_identity()位置不變對(duì)于散點(diǎn)圖和折線圖,可行,,默認(rèn)為identity,但對(duì)于多分類(lèi)柱形圖,,序列間存在遮蓋
position_stack()垂直堆疊position_stack(vjust = 1, reverse = FALSE) 柱形圖和面積圖默認(rèn)stack堆積
position_fill()百分比填充position_fill(vjust = 1, reverse = FALSE) 垂直堆疊,但只能反映各組百分比
position_jitter()擾動(dòng)處理position_jitter(width = NULL, height = NULL, seed = NA)部分重疊,, 用于點(diǎn)圖
position_jitterdodge()并列抖動(dòng)position_jitterdodge(jitter.width = NULL,jitter.height = 0, dodge.width = 0.75,seed = NA)
position_nudge()整體位置微調(diào)position_nudge(x = 0, y = 0),整體向x和y方向平移的距離,,常用于geom_text文本對(duì)象

position_xxx()內(nèi)其它參數(shù):padding, preserve, reverse, vjust, width, height 等

參數(shù)名稱(chēng)描述
preservec(“total”, “single”)當(dāng)同一組柱子高度相同時(shí),是保留單個(gè)柱子,,還是保留所有柱子
padding數(shù)字,,(0, 1)區(qū)間調(diào)整柱子間距(中心距離), 越大,,則柱子寬度縮小越多,, 間距越大,0.5表示寬度縮小50%以增大間距
reverseTRUE/FALSE是否翻轉(zhuǎn)各組柱子內(nèi)部的排列順序,,對(duì)于dodge2則水平順序翻轉(zhuǎn),,對(duì)于stack和fill則垂直順序不同
vjust(0,1)區(qū)間調(diào)整點(diǎn)和線的垂直位置,,默認(rèn)1頂部,0.5表示居中,,0表示處于底部,,折線的變化趨勢(shì)會(huì)變平緩,默認(rèn)1
width(0,1)區(qū)間表示水平抖動(dòng)的程度,,因?yàn)榇嬖谡?fù)方向,,所有抖動(dòng)的范圍為其2倍,默認(rèn)0.5
height(0,1)區(qū)間表示垂直抖動(dòng)的程度,,因?yàn)榇嬖谡?fù)方向,,所以抖動(dòng)的范圍為其2倍, 默認(rèn)0.5
dodge.width(0,1)區(qū)間表示各組的點(diǎn)抖動(dòng)總的水平寬度,默認(rèn)0.75,, 表示點(diǎn)分布在各組箱子75%寬度上

4.2.1 position_dodge(), position_dodge2() 水平并列

library(ggplot2)
ggplot(mtcars, aes(factor(cyl), fill = factor(vs))) + geom_bar(position = 'dodge2')  # 水平并列柱形圖,,默認(rèn)保留所有柱子

ggplot(mtcars, aes(factor(cyl), fill = factor(vs))) + geom_bar(position = position_dodge(preserve = 'total'))  # 保留所有柱子

ggplot(mtcars, aes(factor(cyl), fill = factor(vs))) + geom_bar(position = position_dodge(preserve = 'single'))  # 保留單個(gè)柱子

ggplot(mtcars, aes(factor(cyl), fill = factor(vs))) + geom_bar(position = position_dodge2(preserve = 'single',
   reverse = T))  # 翻轉(zhuǎn)各組柱子內(nèi)部排列順序

ggplot(mtcars, aes(factor(cyl), fill = factor(vs))) + geom_bar(position = position_dodge2(preserve = 'single',
   padding = 0.5))  # 所有柱子寬度縮小50%

4.2.2 position_stack, position_fill 垂直堆積

library(ggplot2)
ggplot(mtcars, aes(factor(cyl), fill = factor(vs))) + geom_bar()  # 柱形圖默認(rèn)stack堆積

ggplot(mtcars, aes(factor(cyl), fill = factor(vs))) + geom_bar(position = 'fill')  # 百分比堆積

ggplot(mtcars, aes(factor(cyl), fill = factor(vs))) + geom_bar(position = position_stack(reverse = TRUE))  # 翻轉(zhuǎn)各組內(nèi)部垂直堆疊順序

# 散點(diǎn)圖 + 折線圖
series <- data.frame(time = c(rep(1, 4), rep(2, 4), rep(3, 4), rep(4, 4)), type = rep(c('a',
   'b', 'c', 'd'), 4), value = rpois(16, 10))
ggplot(series, aes(time, value, group = type)) + geom_line(aes(colour = type)) +
   geom_point(aes(colour = type))  # 默認(rèn)identity

ggplot(series, aes(time, value, group = type)) + geom_line(aes(colour = type),
   position = 'stack') + geom_point(aes(colour = type), position = 'stack')  # stack堆積

ggplot(series, aes(time, value, group = type)) + geom_line(aes(colour = type),
   position = position_stack(vjust = 0.5)) + geom_point(aes(colour = type),
   position = position_stack(vjust = 0.5))  # 向下移動(dòng)半個(gè)單位,以最下面的元素為高度為基準(zhǔn)

ggplot(series, aes(time, value, group = type)) + geom_line(aes(colour = type),
   position = position_stack(vjust = 0)) + geom_point(aes(colour = type), position = position_stack(vjust = 0))  # 向下移動(dòng)到底,,最下面的折線都拉直了

4.2.3 position_jitter(), position_jitterdodge() 擾動(dòng)錯(cuò)開(kāi)

library(ggplot2)
ggplot(mtcars, aes(am, vs)) +
 geom_jitter()

ggplot(mtcars, aes(am, vs)) +
 geom_jitter(width = 0.1, height = 0.1) # 增加水平抖動(dòng)10%,,垂直抖動(dòng)10%

ggplot(mtcars, aes(am, vs)) +
 geom_point(position = position_jitter(width = 0.1, height = 0.1)) # 原理與上面一樣,但是抖動(dòng)是隨機(jī)的,,每次結(jié)果都可能不一樣

ggplot(mtcars, aes(am, vs)) +
 geom_point(position = 'jitter') + # 默認(rèn)抖動(dòng)50%
 geom_point(aes(am + 0.2, vs + 0.2), position = 'jitter', color = 'red' ) # 可以在映射里面進(jìn)行簡(jiǎn)單的運(yùn)算

4.2.4 position_jitterdodge()

position_jitterdodge(jitter.width = NULL, jitter.height = 0, dodge.width = 0.75, seed = NA)
僅僅用于箱線圖和點(diǎn)圖在一起的情形,且有順序的,,必須箱子在前,點(diǎn)圖在后,,抖動(dòng)只能用在散點(diǎn)幾何對(duì)象中,
jitter.width 默認(rèn)40%,, jitter.height 默認(rèn)0

library(ggplot2)
dsub <- diamonds[sample(nrow(diamonds), 1000), ]

ggplot(dsub, aes(x = cut, y = carat, fill = clarity)) + geom_boxplot(outlier.size = 0) +
   geom_point(shape = 23)  # 23號(hào)點(diǎn)形狀為菱形

ggplot(dsub, aes(x = cut, y = carat, fill = clarity)) + geom_boxplot(outlier.size = 0) +
   geom_point(shape = 23, position = position_jitterdodge(dodge.width = 0.1))  # 點(diǎn)分布于各組箱子10%寬度上,默認(rèn)點(diǎn)水平抖動(dòng)錯(cuò)開(kāi)

ggplot(dsub, aes(x = cut, y = carat, fill = clarity)) + geom_boxplot(outlier.size = 0) +
   geom_point(shape = 23, position = position_jitterdodge(dodge.width = 0.8))  # 點(diǎn)分布于各組箱子80%寬度上,,默認(rèn)點(diǎn)水平抖動(dòng)錯(cuò)開(kāi)

4.2.5 position_nudge 整體微調(diào)

library(ggplot2)
df <- data.frame(x = c(1, 3, 2, 5), y = c('a', 'c', 'd', 'c'))

ggplot(df, aes(x, y)) + geom_point() + geom_text(aes(label = y))  # 文本對(duì)象位置與點(diǎn)重合,,視覺(jué)效果不好

ggplot(df, aes(x, y)) + geom_point() + geom_text(aes(label = y), position = position_nudge(y = -0.1))  # 文本位置向下移動(dòng)1%個(gè)單位,,錯(cuò)開(kāi)文本與點(diǎn)位置

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多