国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - R語言 - R語言數(shù)據(jù)可視化ggplot添加左右y軸繪制天貓雙十一銷售圖

R語言數(shù)據(jù)可視化ggplot添加左右y軸繪制天貓雙十一銷售圖

2022-01-19 13:49Kanny廣小隸 R語言

本篇文章主要介紹如何在R中,使用ggplot2包在一個圖像上添加左右兩個 y 軸刻度,并在同一個圖像上繪制兩個完全不一樣的統(tǒng)計圖,有需要的朋友可以借鑒參考下

本文是以天貓雙十一銷量與增長率為例,原始的數(shù)據(jù)可以參考上一篇文章:用 ggplot 重繪天貓雙十一銷售額圖,這里不再作過多的介紹。

同時整個的天貓雙十一的銷售額數(shù)據(jù)分析可以關(guān)注:天貓雙十一“數(shù)據(jù)造假”是真的嗎?

老規(guī)矩,先上最終成果(兩張圖只是顏色的差別):

R語言數(shù)據(jù)可視化ggplot添加左右y軸繪制天貓雙十一銷售圖

R語言數(shù)據(jù)可視化ggplot添加左右y軸繪制天貓雙十一銷售圖

上圖左邊 y 軸表示增長率的刻度,右邊 y 軸表示銷售額的數(shù)據(jù),我們將兩者在同一張圖上進行展現(xiàn)。其實將兩個統(tǒng)計圖在同一個坐標(biāo)系中呈現(xiàn)不算是這個繪圖的難點,其真正的難點在與刻度的變換以及坐標(biāo)軸標(biāo)簽的設(shè)定。

下面我們開始一步一步來繪制出上圖所示的圖案~

 

構(gòu)造數(shù)據(jù)集

構(gòu)造數(shù)據(jù)集前,我們先看看數(shù)據(jù):

年份 銷售額 增長率
2009 0.5
2010 9.36 1772.00
2011 52 455.56
2012 191 267.31
2013 350 83.25
2014 571 63.14
2015 912 59.72
2016 1207 32.35
2017 1682 39.35
2018 2135 26.93
2019 2684 25.71

由于銷售額與增長率都是近乎相同的量綱(單論數(shù)值看,都是在 0-3000 之間),所以我們在事先可以不對數(shù)據(jù)進行變換,變換為統(tǒng)一的尺度。但我想要在坐標(biāo)軸上,增長率以百分比的形式顯示,所以需要除以100,但增長率除以100之后,為了把我們的兩個 y 軸變換到同一個尺度區(qū)間,所以銷售額也需要隨之除以100。(注意,這里的銷售額除以100 可以不需要具體的實際意義,只是保證在圖像上呈現(xiàn)效果美觀即可,最后的實際區(qū)間我們可以通過修改坐標(biāo)軸的刻度值實現(xiàn)。)

因此生成數(shù)據(jù)的代碼如下:

year <- 2009:2019
sales <- c(0.5, 9.36, 52, 191, 350, 571, 912, 1207, 1682, 2135, 2684)
growth_rate <- c(NA, diff(sales) / sales[1:(length(sales) - 1)] * 100)
dat_overview <- data.frame(year = factor(year), sales = sales / 100, growth_rate = growth_rate / 100)

但經(jīng)常使用 ggplot 童鞋可能知道,我們沒有辦法直接只用上述的數(shù)據(jù)在 ggplot 中進行繪制,需要進行一個變換,也就是將銷售額與增長率并列,并且再加一列變量作為 index,具體操作我們可以使用管道數(shù)據(jù)處理的 package :tidyr。(具體的原因與使用方法可參見:tidyr+ggplot2多個變量分層展示)

library(tidyr)
dat_overview %>%
gather(sales, growth_rate, key = "var", value = "value")

其結(jié)果如下:

 year         var      value
1  2009       sales  0.0050000
2  2010       sales  0.0936000
3  2011       sales  0.5200000
4  2012       sales  1.9100000
5  2013       sales  3.5000000
6  2014       sales  5.7100000
7  2015       sales  9.1200000
8  2016       sales 12.0700000
9  2017       sales 16.8200000
10 2018       sales 21.3500000
11 2019       sales 26.8400000
12 2009 growth_rate         NA
13 2010 growth_rate 17.7200000
14 2011 growth_rate  4.5555556
15 2012 growth_rate  2.6730769
16 2013 growth_rate  0.8324607
17 2014 growth_rate  0.6314286
18 2015 growth_rate  0.5971979
19 2016 growth_rate  0.3234649
20 2017 growth_rate  0.3935377
21 2018 growth_rate  0.2693222
22 2019 growth_rate  0.2571429

 

繪制散點

首先我們將數(shù)據(jù)框中的散點映射到圖像中:

dat_overview %>%
gather(sales, growth_rate, key = "var", value = "value") %>%
ggplot(aes(x = year, y = value, col = var)) +
geom_point(size = 3, alpha = 0.6)

這里我們使用的是管道數(shù)據(jù)的 ggplot 的繪制方法,所以數(shù)據(jù)集直接使用 %>% 連接即可,不需要寫在 ggplot() 函數(shù)中。

同時關(guān)于繪圖,上面只是修改了我們散點的尺寸與透明度:size = 3, alpha = 0.6,得到的繪圖如下面所示。

R語言數(shù)據(jù)可視化ggplot添加左右y軸繪制天貓雙十一銷售圖

這時候的圖還是非常 吃藕 (chou) 的,下面我們再精雕細琢一些坐標(biāo)的布局與名稱。

 

修改兩坐標(biāo)軸信息

先直接上代碼:

dat_overview %>%
gather(sales, growth_rate, key = "var", value = "value") %>%
ggplot(aes(x = year, y = value, col = var)) +
geom_point(size = 3, alpha = 0.6) +
scale_y_continuous("增長率", labels = scales::percent,
                   sec.axis = sec_axis(~ . * 100, name = "銷售額 (億元)")) +
# scale_color_manual(labels = c("增長率", "銷售額 (億元)"), values = c("blue", "red")) +
scale_color_discrete(labels = c("增長率", "銷售額 (億元)")) +
labs(title = "2009 - 2019 年銷售額與增長率", x = "年份") +
theme(legend.position = "bottom",
      legend.title = element_blank(),
      plot.title = element_text(hjust = 0.5))

這里我們新添加了 scale_y_continuous(),這里是修改 y 軸的刻度,首先我們修改了 y 軸左軸的名稱,為增長率,然后 label = scales::percent 表示將刻度上的數(shù)值以百分比的形式顯示。

最后 sec.axis = sec_axis(~ . * 100, name = "銷售額 (億元)") 則是添加右側(cè) y 軸 (這里叫 scecond axis),刻度為原始刻度乘以100,這里乘以100是由于我們在生成銷售額數(shù)據(jù)的時候,為了容易尺度范圍,除以了100,同時添加右側(cè) y 軸的名稱: "銷售額 (億元)"。

scale_color_discrete() 表示將我們的圖例中的名稱進行修改:英文改成中文。

也可以使用注釋中的 scale_color_manual() 函數(shù),同時修改名稱與散點的顏色,這里添加了注釋,需要的童鞋可以取消注釋,同時將 scale_color_discrete() 打上注釋。

接著我們再修改一些主題設(shè)置:legend.position = "bottom" 將我們圖例的標(biāo)簽調(diào)整到底部。其它的設(shè)置都是一些常規(guī)操作,可以翻看前面的博文,這里就不進行細說了。

最后就能得到我們最終的成果!

R語言數(shù)據(jù)可視化ggplot添加左右y軸繪制天貓雙十一銷售圖

以上就是R語言數(shù)據(jù)可視化ggplot添加左右y軸繪制天貓雙十一銷售額的詳細內(nèi)容,更多關(guān)于ggplot添加左右兩邊y軸的資料請關(guān)注服務(wù)器之家其它相關(guān)文章!

原文鏈接:https://kanny.blog.csdn.net/article/details/103301608

延伸 · 閱讀

精彩推薦
  • R語言基于R/RStudio中安裝包“無法與服務(wù)器建立連接”的解決方案

    基于R/RStudio中安裝包“無法與服務(wù)器建立連接”的解決方案

    這篇文章主要介紹了基于R/RStudio中安裝包“無法與服務(wù)器建立連接”的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    truffle52815052022-01-05
  • R語言R語言gsub替換字符工具的具體使用

    R語言gsub替換字符工具的具體使用

    這篇文章主要介紹了R語言gsub替換字符工具的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友...

    lztttao10372021-12-24
  • R語言如何用R語言繪制散點圖

    如何用R語言繪制散點圖

    這篇文章主要介紹了如何用R語言繪制散點圖,幫助大家更好的理解和學(xué)習(xí)使用R語言,感興趣的朋友可以了解下...

    菜鳥教程13002021-12-23
  • R語言R語言常量知識點總結(jié)

    R語言常量知識點總結(jié)

    在本篇文章里小編給大家整理了一篇關(guān)于R語言常量知識點總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)分享下。...

    R語言教程網(wǎng)12102021-12-29
  • R語言R語言中qplot()函數(shù)的用法說明

    R語言中qplot()函數(shù)的用法說明

    這篇文章主要介紹了R語言中qplot()函數(shù)的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    Jack_丁明12752022-01-05
  • R語言R語言讀取xls與xlsx格式文件過程

    R語言讀取xls與xlsx格式文件過程

    這篇文章主要為大家介紹了使用R語言讀取xls與xlsx格式文件的過程步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪...

    Kanny廣小隸11982022-01-20
  • R語言R語言實現(xiàn)支持向量機SVM應(yīng)用案例

    R語言實現(xiàn)支持向量機SVM應(yīng)用案例

    本文主要介紹了R語言實現(xiàn)支持向量機SVM應(yīng)用案例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    一天_pika5222022-01-18
  • R語言R語言中的vector(向量),array(數(shù)組)使用總結(jié)

    R語言中的vector(向量),array(數(shù)組)使用總結(jié)

    這篇文章主要介紹了R語言中的vector(向量),array(數(shù)組)使用總結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要...

    A葉子葉來5772021-11-14
主站蜘蛛池模板: 成人3d动漫一区二区三区91 | 精品国产一区二区三区在线观看 | 一本大道av日日躁夜夜躁 | 国产日韩精品视频 | 在线观看av国产一区二区 | 情一色一乱一欲一区二区 | 日本精品一区二区三区视频 | 亚洲一区二区三区视频 | 成人免费毛片嘿嘿连载视频 | 玖玖在线| 黄色视屏在线免费观看 | 日韩精品视频在线观看免费 | 欧美日韩精品一区二区公司 | 午夜成人免费视频 | 欧美一区二区三区不卡 | av在线天堂网 | 久久综合狠狠综合久久综合88 | 欧美激情精品久久久久久黑人 | 中文字幕一区二区在线观看 | 夜久久 | 免费成人在线视频网站 | 1区2区视频| 国产精品一级 | 久久99精品视频 | 精品粉嫩超白一线天av | 久久久久久久国产毛片 | 欧美日韩综合精品 | 国产欧美综合一区二区三区 | 免费一二区 | 久久三区 | 国产精品99久久久久久久vr | 毛片免费的| 伊人久久综合影院 | 久热久爱 | 久久美女视频 | 日韩欧美视频一区 | 成人黄页在线观看 | 亚洲福利在线观看 | 欧美成人精品激情在线观看 | 黄色一级小视频 | 国产免费一区二区三区最新6 |