R語言數(shù)據(jù)可視化ggplot添加左右y軸繪制天貓雙十一銷售圖_第1頁
R語言數(shù)據(jù)可視化ggplot添加左右y軸繪制天貓雙十一銷售圖_第2頁
R語言數(shù)據(jù)可視化ggplot添加左右y軸繪制天貓雙十一銷售圖_第3頁
R語言數(shù)據(jù)可視化ggplot添加左右y軸繪制天貓雙十一銷售圖_第4頁
R語言數(shù)據(jù)可視化ggplot添加左右y軸繪制天貓雙十一銷售圖_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第R語言數(shù)據(jù)可視化ggplot添加左右y軸繪制天貓雙十一銷售圖由于銷售額與增長率都是近乎相同的量綱(單論數(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:2025

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é)果如下:

yearvarvalue

12009sales0.0050000

22010sales0.0936000

32011sales0.5200000

42012sales1.9100000

52013sales3.5000000

62014sales5.7100000

72015sales9.1200000

82016sales12.0700000

92017sales16.8200000

102025sales21.3500000

112025sales26.8400000

122009growth_rateNA

132010growth_rate17.7200000

142011growth_rate4.5555556

152012growth_rate2.6730769

162013growth_rate0.8324607

172014growth_rate0.6314286

182015growth_rate0.5971979

192016growth_rate0.3234649

202017growth_rate0.3935377

212025growth_rate0.2693222

222025growth_rate0.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,得到的繪圖如下面所示。

這時候的圖還是非常吃藕(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-2025年銷售額與增長率",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軸(這里叫scecondaxis),刻度為原始刻度乘以100,這里乘以100是由于我們在生成銷售額數(shù)據(jù)的時候,為了容易尺度范圍,除以了100,同時添加右側(cè)y軸的名稱:"銷售額(億元)"。

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

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

接著我們再修改一些主題設(shè)置:legend.position="bott

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論