見出し画像

バイオリンプロット+ドットプロット

今回は、データは読み込みではなく、直接入力します
csvなどの読み込みは別のNOTEを確認してください

現在のハイインパクトな科学論文では、各データの個別の数値をグラフに入れるように求められます。今回はバイオリンプロット+ドットプロットのコードを記載します

まずデータを入力します

 #直接入力のため 、行列を利用していません 
data <- data.frame(
    category = c("Healthy", "Healthy","Healthy","Healthy","Healthy","Healthy",  "Exercise", "Exercise","Exercise","Exercise","Exercise","Exercise"),
    value = c(10,13,11,18,8,20,27,26,25,31,35,32)
)
 #行列を利用の場合はこのように調整してください 
> data <- data.frame(
+     category = c(rep("Healthy", 6), rep("Exercise", 6)),
+     value = c(10,13,11,18,8,20,27,26,25,31,35,32)

それでは、グラフを書きます

 #バイオリンプロット +ドットプロットのコード

 p <- ggplot(data, aes(x=category, y=value, fill=category)) + 
    geom_violin(trim=FALSE, colour=NA) +
    geom_jitter(position=position_jitter(width=0.2), shape=16, aes(color=category), size=2) +
    labs(x="Category", y="Value") +
    theme_minimal() +
    scale_fill_manual(values=c("Healthy"="#9999FF", "Exercise"="#FF9999")) +
    scale_color_manual(values=c("Healthy"="darkblue", "Exercise"="darkred")) +
    scale_x_discrete(breaks=c("Healthy", "Exercise")) +  # 主要な目盛りを指定
    scale_y_continuous(breaks = seq(0,40,10)) + # あなたのデータに適した値に変える(目盛線です)
    theme(
        axis.ticks = element_blank(),
        axis.text.x = element_text(face="bold", color="black", size=12),
        axis.text.y = element_text(face="bold", color="black", size=12),
        panel.grid.minor = element_blank()  # 補助目盛線を削除
    )

print(p)


この記事が気に入ったらサポートをしてみませんか?