Rでモニタリングサイト1000（ガンカモ類）のデータを可視化する

今回は環境省が調査を行っている生物調査のうち、ガンカモ類のデータを可視化していきます。

https://www.biodic.go.jp/gankamo/gankamo_top.html


都道府県別羽数と調査地点別羽数の2種類のデータがあり、調査地点別の方は文字通り地点ごとのデータがあるためデータ数も多くなっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3635830/2c283050-c1df-e56d-d5b2-e75dc55e9699.png)


とりあえず今回は都道府県別にまとめられた方を使用します。
とはいえ1970年からデータがあるので量としてかなり多いです。
とりあえずすべてダウンロードしましたが、読み込みは一気にやっていきます。

以下にアップしてますので自由にお使いください。

https://github.com/DiceK63/GIS

```
# 必要なパッケージをインストールして読み込む
install.packages("readxl")

library(readxl)
library(tidyverse)
```
データは以下のような形式でワイド型のデータになっています。
2行目を列名としてデータを整形しつつ、すべてのファイルを結合します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3635830/00e6b943-8719-101b-f00f-111fe8635170.png)

ファイル名が無駄に和暦になっているのに加え、微妙に年度毎に列名や列の順番が異なっていたりしてちょこちょこと直しているとかなり時間がかかりました。
普通にコピってまとめた方がよかったかもですが、これも練習だと思ってやっていきました。

```
# フォルダ内のすべてのExcelファイルのパスを取得
folder_path <- "C:/Users/ユーザー名/Download/ガンカモデータ/都道府県別"  #フォルダパスを指定
file_list <- list.files(path = folder_path, pattern = "*.xls", full.names = TRUE)


# データフレームを格納するリスト
all_data <- list()

# 各Excelファイルを読み込み、処理する
for (file_path in file_list) {
  # ファイル名からデータフレーム名を作成
  file_name <- basename(file_path)
  df_name <- substr(file_name, 1, 3)  # 最初の3文字を抽出
  
  # Excelファイルを読み込み
  temp_df <- read_excel(file_path, col_names = FALSE)
  
  # 2行目をタイトル行として設定し、3行目以降をデータとして扱う
  colnames(temp_df) <- temp_df[2, ]
  temp_df <- temp_df[-c(1, 2), ]
  
  # 1列目の列名を「種類」に変更
  colnames(temp_df)[1] <- "種類"
  
  # 各ファイルに年度の列がないので結合したときにいつのデータかわからない！
  #「年度」列を追加し、上記のファイル名にある年度を利用して年度をすべての行に追加
  temp_df <- temp_df %>%
    mutate(年度 = df_name)
  
  # データフレームをリストに追加
  all_data[[df_name]] <- temp_df
}

# すべてのデータフレームを行で結合
final_data <- bind_rows(all_data)

# 結果を確認
glimpse(final_data)
```
```
> glimpse(final_data)
Rows: 3,142
Columns: 50
$ 種類   <chr> "オオハクチョウ", "コハクチョウ", "コブハクチョウ", "アメリカコハクチョウ", "ハクチョウ類種不明", "ハクチョウ類…
$ 北海道 <chr> "3303", "327", "32", "0", "23", "3685", "0", NA, "285", "0", "10", "0", "5", "0", "0", "27", "327", "0", "0", "…
$ 青森   <chr> "4793", "6", "0", "2", "12", "4813", "0", NA, "60", "0", "0", "0", "3", "0", "0", "0", "63", "0", "0", "0", "0"…
$ 岩手   <chr> "1928", "126", "0", "6", "0", "2060", "0", NA, "0", "0", "33", "0", "0", "0", "0", "0", "33", "0", "0", "0", "0…
$ 宮城   <chr> "7822", "3083", "0", "0", "0", "10905", "0", NA, "125", "0", "12559", "0", "548", "0", "0", "0", "13232", "0", …
$ 秋田   <chr> "3179", "327", "1", "1", "0", "3508", "0", NA, "1", "0", "14", "0", "12", "0", "0", "0", "27", "0", "0", "0", "…
$ 山形   <chr> "2146", "1067", "0", "0", "0", "3213", "0", NA, "0", "0", "0", "0", "1", "0", "0", "0", "1", "0", "0", "0", "0"…
$ 福島   <chr> "866", "3101", "0", "11", "0", "3978", "0", NA, "0", "0", "0", "0", "1", "0", "0", "0", "1", "0", "0", "0", "0"…
$ 茨城   <chr> "194", "149", "66", "0", "1", "410", "0", NA, "0", "0", "0", "0", "50", "0", "0", "0", "50", "0", "0", "0", "0"…
$ 栃木   <chr> "0", "2", "0", "0", "0", "2", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "11", "…
$ 群馬   <chr> "2", "38", "0", "0", "0", "40", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "383"…
$ 埼玉   <chr> "0", "4", "0", "0", "0", "4", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "137", …
$ 千葉   <chr> "0", "5", "2", "0", "0", "7", "0", NA, "3", "0", "20", "0", "0", "0", "0", "0", "23", "0", "0", "0", "0", "191"…
$ 東京   <chr> "0", "0", "0", "0", "0", "0", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "602", …
$ 神奈川 <chr> "0", "0", "0", "0", "0", "0", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "179", …
$ 新潟   <chr> "1000", "4879", "0", "0", "0", "5879", "0", NA, "3", "0", "324", "0", "1650", "0", "2", "0", "1979", "0", "0", …
$ 富山   <chr> "65", "4", "0", "0", "0", "69", "0", NA, "0", "0", "2", "0", "0", "0", "0", "0", "2", "0", "0", "0", "0", "113"…
$ 石川   <chr> "12", "220", "0", "0", "0", "232", "0", NA, "0", "1", "610", "0", "87", "0", "0", "0", "698", "1", "1", "0", "2…
$ 福井   <chr> "0", "14", "0", "0", "0", "14", "0", NA, "0", "0", "0", "0", "140", "0", "0", "0", "140", "0", "0", "0", "0", "…
$ 山梨   <chr> "7", "0", "13", "0", "0", "20", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "57",…
$ 長野   <chr> "0", "295", "0", "0", "0", "295", "0", NA, "0", "0", "10", "0", "0", "0", "0", "0", "10", "0", "0", "0", "0", "…
$ 岐阜   <chr> "0", "0", "0", "0", "0", "0", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "318", …
$ 静岡   <chr> "0", "0", "0", "0", "0", "0", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "159", …
$ 愛知   <chr> "0", "4", "0", "0", "0", "4", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "100", …
$ 三重   <chr> "0", "0", "0", "0", "0", "0", "0", NA, "2", "0", "0", "0", "0", "0", "0", "0", "2", "0", "0", "0", "0", "31", "…
$ 滋賀   <chr> "0", "191", "0", "0", "0", "191", "0", NA, "0", "0", "0", "0", "56", "0", "0", "0", "56", "0", "0", "0", "0", "…
$ 京都   <chr> "10", "20", "0", "0", "0", "30", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "1", "102…
$ 大阪   <chr> "0", "0", "0", "0", "0", "0", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "12", "0", "0", "12", "341"…
$ 兵庫   <chr> "2", "4", "0", "0", "0", "6", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "6", "0", "0", "6", "166", …
$ 奈良   <chr> "0", "0", "0", "0", "0", "0", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "886", …
$ 和歌山 <chr> "0", "0", "0", "0", "0", "0", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "428", …
$ 鳥取   <chr> "3", "975", "0", "0", "0", "978", "0", NA, "0", "0", "97", "0", "2", "0", "1", "0", "100", "0", "0", "0", "0", …
$ 島根   <chr> "0", "145", "0", "0", "0", "145", "0", NA, "0", "0", "279", "0", "1", "0", "0", "0", "280", "1", "3", "0", "4",…
$ 岡山   <chr> "0", "0", "0", "0", "0", "0", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "87", "…
$ 広島   <chr> "0", "0", "0", "0", "0", "0", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "8", "0", "0", "8", "79", "…
$ 山口   <chr> "0", "0", "0", "0", "0", "0", "0", NA, "0", "0", "0", "0", "1", "0", "0", "0", "1", "9", "0", "0", "9", "608", …
$ 徳島   <chr> "0", "0", "0", "0", "0", "0", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "1", "120", …
$ 香川   <chr> "0", "0", "0", "0", "0", "0", "0", NA, "0", "1", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "40", "…
$ 愛媛   <chr> "0", "0", "0", "0", "0", "0", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1783",…
$ 高知   <chr> "0", "0", "0", "0", "0", "0", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "684", …
$ 福岡   <chr> "0", "0", "0", "0", "0", "0", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "108", "0", "0", "108", "25…
$ 佐賀   <chr> "0", "0", "0", "0", "0", "0", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "37", "0", "0", "37", "657"…
$ 長崎   <chr> "0", "0", "0", "0", "0", "0", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "133", "0", "0", "133", "17…
$ 熊本   <chr> "0", "0", "0", "0", "0", "0", "0", NA, "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "297", …
$ 大分   <chr> "0", "0", "0", "0", "0", "0", "0", NA, "2", "0", "0", "0", "0", "0", "0", "0", "2", "0", "0", "0", "0", "403", …
$ 宮崎   <chr> "0", "0", "0", "0", "0", "0", "0", NA, "1", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "203", …
$ 鹿児島 <chr> "0", "0", "0", "0", "0", "0", "0", NA, "0", "0", "1", "0", "0", "0", "0", "61", "62", "0", "0", "0", "0", "826"…
$ 沖縄   <chr> "0", "0", "0", "0", "0", "0", "0", NA, "0", "1", "0", "0", "9", "0", "4", "0", "14", "0", "0", "0", "0", "6", "…
$ 全国計 <chr> "25332", "14986", "114", "20", "36", "40488", "0", "0", "482", "3", "13959", "0", "2566", "0", "7", "88", "1710…
$ 年度   <chr> "h01", "h01", "h01", "h01", "h01", "h01", "h01", "h01", "h01", "h01", "h01", "h01", "h01", "h01", "h01", "h01",…
```

とりあえず結合できました。
各種やっていくのもなんなので今回は各年のハクチョウ類、ガン類、カモ類の合計の行だけ使っていきます。

```
final_data2<-final_data %>% 
  filter(種類 %in% c("ハクチョウ類合計", "ガン類合計", "カモ類合計")) 

#列数を確認
ncol(final_data2)

# 2列目から48列までが各都道府県の集計データでワイド型になっているのでロング型に変換します。
final_data3 <- final_data2 %>%
  pivot_longer(cols = 2:48, 
               names_to = "都道府県", 
               values_to = "個体数")
```
```
> head(final_data3)
# A tibble: 6 × 5
  種類             全国計 年度  都道府県 個体数
  <chr>            <chr>  <chr> <chr>    <chr> 
1 ハクチョウ類合計 40488  h01   北海道   3685  
2 ハクチョウ類合計 40488  h01   青森     4813  
3 ハクチョウ類合計 40488  h01   岩手     2060  
4 ハクチョウ類合計 40488  h01   宮城     10905 
5 ハクチョウ類合計 40488  h01   秋田     3508  
6 ハクチョウ類合計 40488  h01   山形     3213  
```

さて和暦がめんどくさいので西暦に変換します。

```
#r0、h0を変換しやすいように0を除きます
final_data4<- final_data3 %>%
  mutate(和暦年度 = str_replace(年度, "r0", "r")) %>% 
  mutate(和暦年度 = str_replace(年度, "h0", "h")) 

# 和暦を西暦に変換する関数を作成
convert_to_seireki <- function(wareki) {
  # 和暦の元号と開始年を定義
  gengou <- c("r" = 2018, "h" = 1988, "s" = 1925, "t" = 1911, "m" = 1867)
  
  # 元号の最初の文字を取得
  era <- substr(wareki, 1, 1)
  
  # 和暦の年数を取得
  year <- as.numeric(substr(wareki, 2, nchar(wareki)))
  
  # 西暦に変換
  seireki <- gengou[era] + year
  return(seireki)
}

# 和暦を西暦に変換します
final_data5<- final_data4 %>% 
  mutate(西暦年度 = sapply(和暦年度, convert_to_seireki))
```
```
> head(final_data5)
# A tibble: 6 × 7
  種類             全国計 年度  都道府県 個体数 和暦年度 西暦年度
  <chr>            <chr>  <chr> <chr>    <chr>  <chr>       <dbl>
1 ハクチョウ類合計 40488  h01   北海道   3685   h1           1989
2 ハクチョウ類合計 40488  h01   青森     4813   h1           1989
3 ハクチョウ類合計 40488  h01   岩手     2060   h1           1989
4 ハクチョウ類合計 40488  h01   宮城     10905  h1           1989
5 ハクチョウ類合計 40488  h01   秋田     3508   h1           1989
6 ハクチョウ類合計 40488  h01   山形     3213   h1           1989
```


```
#個体数が文字列になっているので数値に変換します。
final_data5$個体数 <-as.numeric(final_data5$個体数)
```

とりあえず北海道のデータを見てみます。
```
final_data5 %>% 
  filter(都道府県=="北海道") %>% 
  ggplot() +
  geom_bar(aes(x =西暦年度,y = 個体数,fill=種類),stat = "identity") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1,size=7))+
  labs(x = "年度") +
  theme(legend.position = c( .9 , .85 ),
        legend.background = element_rect(fill = "white",color = "black",size = 0.2)) 
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3635830/542a642e-9cd4-dd76-3ad3-2320e502326d.png)

```

final_data5 %>% 
  ggplot() +
  geom_bar(aes(x =西暦年度,y = 個体数,fill=種類),stat = "identity") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1,size=7))+
  labs(x = "年度") +
  facet_wrap(~都道府県)
```
  ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3635830/7917bdc7-e7ff-0dcf-2829-cd3927f30cb9.png)

さすがに各県のグラフがかなり小さくなってしまいましたが、多いとこに関してはなんとなく傾向が見えます。あいうえお順なのが気になります。
折れ線バージョンも作成してみました。

```
final_data5 %>% 
  ggplot() +
  geom_line(aes(x =西暦年度,y = 個体数,colour =種類),linewidth=1) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1,size=7))+
  labs(x = "年度") +
  facet_wrap(~都道府県)
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3635830/b64ba745-4975-6178-f552-be30c03b0671.png)


コロプレスマップの作成もやってみます。
```
library(sf)
library(NipponMap)

#シェープファイルを読み込み
Nippon_map<-read_sf("shapes/jpn.shp", 
                    crs="WGS84")
```
```
> Nippon_map
Simple feature collection with 47 features and 5 fields
Geometry type: MULTIPOLYGON
Dimension:     XY
Bounding box:  xmin: 127.6461 ymin: 26.0709 xmax: 148.8678 ymax: 45.5331
Geodetic CRS:  WGS 84
# A tibble: 47 × 6
   SP_ID jiscode name      population region                                                             geometry
 * <chr> <chr>   <chr>          <dbl> <chr>                                                    <MULTIPOLYGON [°]>
 1 1     01      Hokkaido     5506419 Hokkaido (((139.7707 42.3018, 139.8711 42.6623, 140.1895 42.8243, 140.3062…
 2 2     02      Aomori       1373339 Tohoku   (((140.8727 40.48187, 140.6595 40.4018, 140.3903 40.4843, 140.022…
 3 3     03      Iwate        1330147 Tohoku   (((140.7862 39.85982, 140.8199 39.86421, 140.8813 39.87221, 140.8…
 4 4     04      Miyagi       2348165 Tohoku   (((140.2802 38.01415, 140.2802 38.01417, 140.2805 38.02494, 140.2…
 5 5     05      Akita        1085997 Tohoku   (((140.7895 39.86026, 140.8253 39.6481, 140.6565 39.3879, 140.811…
 6 6     06      Yamagata     1168924 Tohoku   (((140.2802 38.01415, 140.2799 37.97209, 140.2801 37.97209, 140.2…
 7 7     07      Fukushima    2029064 Tohoku   (((140.2799 37.9721, 140.2799 37.97209, 140.2802 37.9721, 140.410…
 8 8     08      Ibaraki      2969770 Kanto    (((139.7322 36.08471, 139.7058 36.13276, 139.6663 36.20532, 139.6…
 9 9     09      Tochigi      2007683 Kanto    (((139.4263 36.33584, 139.3703 36.3661, 139.4858 36.575, 139.3311…
10 10    10      Gunma        2008068 Kanto    (((139.3836 36.35887, 139.6541 36.213, 139.6508 36.21342, 139.666…
# ℹ 37 more rows
# ℹ Use `print(n = ...)` to see more rows
```
さてここでまた、データを結合させるために、都道府県のIDを作成します。
```
d_h01<-read_excel("C:/Users/ユーザー名/Download/ガンカモデータ/都道府県別/h01gankamo_2.xls", col_names = FALSE)
d_都道府県<-d_h01[c(1, 2), ]
d_都道府県 <- t(d_都道府県)
d_都道府県<-as.data.frame(d_都道府県)
d_都道府県 <- d_都道府県 %>% 
  na.omit() 
d_都道府県 <- dplyr::select(d_都道府県, ID = V1, 都道府県 =  V2)
```
```
> d_都道府県
      ID 都道府県
...2   1   北海道
...3   2     青森
...4   3     岩手
...5   4     宮城
...6   5     秋田
...7   6     山形
...8   7     福島
...9   8     茨城
...10  9     栃木
...11 10     群馬
...12 11     埼玉
...13 12     千葉
...14 13     東京
...15 14   神奈川
...16 15     新潟
...17 16     富山
...18 17     石川
...19 18     福井
...20 19     山梨
...21 20     長野
...22 21     岐阜
...23 22     静岡
...24 23     愛知
...25 24     三重
...26 25     滋賀
...27 26     京都
...28 27     大阪
...29 28     兵庫
...30 29     奈良
...31 30   和歌山
...32 31     鳥取
...33 32     島根
...34 33     岡山
...35 34     広島
...36 35     山口
...37 36     徳島
...38 37     香川
...39 38     愛媛
...40 39     高知
...41 40     福岡
...42 41     佐賀
...43 42     長崎
...44 43     熊本
...45 44     大分
...46 45     宮崎
...47 46   鹿児島
...48 47     沖縄
...49 99   全国計
```

ガンカモデータに都道府県のIDデータを結合します。
```
d_都道府県<-d_都道府県 %>% 
  filter(!都道府県=="全国計")
  
d_gankamo<-
  left_join(final_data5,d_都道府県, 
            by=c("都道府県"))
```

都道府県コードで北海道から順にグラフを並べてみます。
増減がわかりやすいようy軸も固定を外します。
```
d_gankamo %>% 
  ggplot() +
  geom_line(aes(x =西暦年度,y = 個体数,colour =種類),linewidth=1) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1,size=7))+
  labs(x = "年度") +
  facet_wrap(~as.integer(ID), scales = "free_y")
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3635830/a1a1c0dc-0df7-1509-8c59-239955452002.png)

ただこれだと番号だけなのでわかりにくいですね。

Nippon mapと結合します。
```
d_gankamo_GIS<-
  left_join(d_gankamo,Nippon_map, 
            by=c("ID"="SP_ID"))
```
```
> d_gankamo_GIS
# A tibble: 7,614 × 13
   種類             全国計 年度  都道府県 個体数 和暦年度 西暦年度 ID    jiscode name      population region  
   <chr>            <chr>  <chr> <chr>     <dbl> <chr>       <dbl> <chr> <chr>   <chr>          <dbl> <chr>   
 1 ハクチョウ類合計 40488  h01   北海道     3685 h1           1989 1     01      Hokkaido     5506419 Hokkaido
 2 ハクチョウ類合計 40488  h01   青森       4813 h1           1989 2     02      Aomori       1373339 Tohoku  
 3 ハクチョウ類合計 40488  h01   岩手       2060 h1           1989 3     03      Iwate        1330147 Tohoku  
 4 ハクチョウ類合計 40488  h01   宮城      10905 h1           1989 4     04      Miyagi       2348165 Tohoku  
 5 ハクチョウ類合計 40488  h01   秋田       3508 h1           1989 5     05      Akita        1085997 Tohoku  
 6 ハクチョウ類合計 40488  h01   山形       3213 h1           1989 6     06      Yamagata     1168924 Tohoku  
 7 ハクチョウ類合計 40488  h01   福島       3978 h1           1989 7     07      Fukushima    2029064 Tohoku  
 8 ハクチョウ類合計 40488  h01   茨城        410 h1           1989 8     08      Ibaraki      2969770 Kanto   
 9 ハクチョウ類合計 40488  h01   栃木          2 h1           1989 9     09      Tochigi      2007683 Kanto   
10 ハクチョウ類合計 40488  h01   群馬         40 h1           1989 10    10      Gunma        2008068 Kanto   
# ℹ 7,604 more rows
# ℹ 1 more variable: geometry <MULTIPOLYGON [°]>
# ℹ Use `print(n = ...)` to see more rows
```

日本全体にすると各県が小さくなりすぎるので、東北地方に絞ってみます。
ハクチョウ類に絞ってコロプレスマップの作成します。
```
d_gankamo_GIS %>% 
  filter(region=="Tohoku") %>% 
  filter(種類=="ハクチョウ類合計") ->
  Tohoku_map_haku


Tohoku_map_haku %>% 
  ggplot()+ 
  geom_sf(data=Tohoku_map_haku, aes(fill=個体数,geometry = geometry))+
  scale_fill_distiller(palette="Spectral", direction=-1)+
  labs(fill="個体数",
       caption="出典：NipponMap、ガンカモ類の生息調査https://www.biodic.go.jp/gankamo/gankamo_top.html")+
  ggtitle("ハクチョウ類個体数")+
  theme_bw()+
  facet_wrap(~西暦年度, nrow = 4)+
  scale_x_continuous(breaks=seq(138, 142,2))

```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3635830/3ff45f2b-d8d5-727d-7ce7-c6a0502de20f.png)