options(digits = 2)
set.seed(2)
d0 <- data.frame(
u = rnorm(n = 100, mean = 0, sd = 1),
v = rnorm(n = 100, mean = 2, sd = 2),
w = rnorm(n = 100, mean = -2, sd = 3))
d <- round(d0, 2)
str(d)
## 'data.frame': 100 obs. of 3 variables:
## $ u: num -0.9 0.18 1.59 -1.13 -0.08 0.13 0.71 -0.24 1.98 -0.14 ...
## $ v: num 4.15 2.52 1.37 0.5 0.28 6.1 3.88 6.02 1.16 1.3 ...
## $ w: num -1.11 -5.06 6.61 -1.34 -4.9 -0.85 -2.37 -3.05 -0.2 -1.31 ...
summary(d)
## u v w
## Min. :-2.45 Min. :-2.2 Min. :-10.2
## 1st Qu.:-0.86 1st Qu.: 0.4 1st Qu.: -3.4
## Median :-0.14 Median : 2.2 Median : -1.8
## Mean :-0.03 Mean : 2.1 Mean : -1.6
## 3rd Qu.: 0.81 3rd Qu.: 3.5 3rd Qu.: 0.2
## Max. : 2.09 Max. : 6.2 Max. : 6.7
library(DT)
datatable(d, caption = '正規乱数データ', editable = 'cell', rownames = F)
COL <- c(rgb(255, 0, 0, 105, max = 255),
rgb( 0, 0, 255, 105, max = 255),
rgb( 0, 155, 0, 105, max = 255))
boxplot(d)

boxplot(d, col = COL,
ylim = c(-12, 12),
names = c('U', 'V', 'W'),
main = '箱ひげ図',
xlab = '項目ラベル',
ylab = 'y軸ラベル[単位]')
abline(h = seq(-50, 50, 5), lty = 2, col = gray(.5, .25))

library(plotly)
## 要求されたパッケージ ggplot2 をロード中です
##
## 次のパッケージを付け加えます: 'plotly'
## 以下のオブジェクトは 'package:ggplot2' からマスクされています:
##
## last_plot
## 以下のオブジェクトは 'package:stats' からマスクされています:
##
## filter
## 以下のオブジェクトは 'package:graphics' からマスクされています:
##
## layout
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ lubridate 1.9.3 ✔ tibble 3.2.1
## ✔ purrr 1.0.2 ✔ tidyr 1.3.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks plotly::filter(), stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
ds <- pivot_longer(d, cols = c('u', 'v', 'w'))
kyokasho <- list(size = 11,
color = 'blue',
family = 'UD Digi Kyokasho NK-R')
plot_ly(x = ds$name, y = ds$value, split = ds$name, type = 'box',
boxpoints = 'all', jitter = 0.3, pointpos = -1.8) |>
layout(font = kyokasho,
title = '箱ひげ図',
xaxis = list(title = '項目ラベル'),
yaxis = list(title = 'y軸ラベル[単位]'))
library(vioplot)
## 要求されたパッケージ sm をロード中です
## Package 'sm', version 2.2-6.0: type help(sm) for summary information
## 要求されたパッケージ zoo をロード中です
##
## 次のパッケージを付け加えます: 'zoo'
## 以下のオブジェクトは 'package:base' からマスクされています:
##
## as.Date, as.Date.numeric
vioplot(d, col = COL, rectCol = 'white',
plotCentre = 'line',
ylim = c(-12, 12),
names = c('U', 'V', 'W'),
main = 'バイオリン図',
xlab = '項目ラベル',
ylab = 'y軸ラベル[単位]')
points(apply(d, 2, mean), pch = 3)
abline(h = seq(-50, 50, 5), lty = 2, col = gray(0.5, 0.25))
legend('topleft', pch = 3, legend = '平均値')

plot_ly(x = ds$name, y = ds$value, split = ds$name, type = 'violin',
box = list(visible = T), meanline = list(visible = T)) |>
layout(font = kyokasho,
title = 'バイオリン図',
xaxis = list(title = '項目ラベル'),
yaxis = list(title = 'y軸ラベル[単位]'))
import numpy as np
np.random.seed(3)
u = np.random.normal(loc = 0.0, scale = 1.0, size = 100)
v = np.random.normal(loc = 2.0, scale = 2.0, size = 100)
w = np.random.normal(loc =-2.0, scale = 3.0, size = 100)
d = [u, v, w]
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
plt.title('箱ひげ図')
plt.xlabel('項目ラベル')
plt.ylabel('y軸ラベル[単位]')
plt.grid(linestyle = '--', color = (0.9, 0.9, 0.9, 0.25), axis = 'y')
plt.boxplot(d, labels = ['u', 'v', 'w'], patch_artist = True)
## {'whiskers': [<matplotlib.lines.Line2D object at 0x000001A8E5515580>, <matplotlib.lines.Line2D object at 0x000001A8E55350A0>, <matplotlib.lines.Line2D object at 0x000001A8E5516E10>, <matplotlib.lines.Line2D object at 0x000001A8E5516F30>, <matplotlib.lines.Line2D object at 0x000001A8E55360F0>, <matplotlib.lines.Line2D object at 0x000001A8E5536390>], 'caps': [<matplotlib.lines.Line2D object at 0x000001A8E55353D0>, <matplotlib.lines.Line2D object at 0x000001A8E55356D0>, <matplotlib.lines.Line2D object at 0x000001A8E5517710>, <matplotlib.lines.Line2D object at 0x000001A8E5535B80>, <matplotlib.lines.Line2D object at 0x000001A8E5536660>, <matplotlib.lines.Line2D object at 0x000001A8E5536930>], 'boxes': [<matplotlib.patches.PathPatch object at 0x000001A8E5534BC0>, <matplotlib.patches.PathPatch object at 0x000001A8E5515760>, <matplotlib.patches.PathPatch object at 0x000001A8E54E5DF0>], 'medians': [<matplotlib.lines.Line2D object at 0x000001A8E5535A00>, <matplotlib.lines.Line2D object at 0x000001A8E5534770>, <matplotlib.lines.Line2D object at 0x000001A8E5536C30>], 'fliers': [<matplotlib.lines.Line2D object at 0x000001A8E5515A00>, <matplotlib.lines.Line2D object at 0x000001A8E5535CD0>, <matplotlib.lines.Line2D object at 0x000001A8E5536F00>], 'means': []}
plt.show()
## C:\Users\naruk\AppData\Local\R\win-library\4.3\reticulate\python\rpytools\call.py:7: UserWarning: Glyph 36600 (\N{CJK UNIFIED IDEOGRAPH-8EF8}) missing from current font.
## value, error = rpycall.call_r_function(f, *args, **kwargs)
## C:\Users\naruk\AppData\Local\R\win-library\4.3\reticulate\python\rpytools\call.py:7: UserWarning: Glyph 12521 (\N{KATAKANA LETTER RA}) missing from current font.
## value, error = rpycall.call_r_function(f, *args, **kwargs)
## C:\Users\naruk\AppData\Local\R\win-library\4.3\reticulate\python\rpytools\call.py:7: UserWarning: Glyph 12505 (\N{KATAKANA LETTER BE}) missing from current font.
## value, error = rpycall.call_r_function(f, *args, **kwargs)
## C:\Users\naruk\AppData\Local\R\win-library\4.3\reticulate\python\rpytools\call.py:7: UserWarning: Glyph 12523 (\N{KATAKANA LETTER RU}) missing from current font.
## value, error = rpycall.call_r_function(f, *args, **kwargs)
## C:\Users\naruk\AppData\Local\R\win-library\4.3\reticulate\python\rpytools\call.py:7: UserWarning: Glyph 65339 (\N{FULLWIDTH LEFT SQUARE BRACKET}) missing from current font.
## value, error = rpycall.call_r_function(f, *args, **kwargs)
## C:\Users\naruk\AppData\Local\R\win-library\4.3\reticulate\python\rpytools\call.py:7: UserWarning: Glyph 21336 (\N{CJK UNIFIED IDEOGRAPH-5358}) missing from current font.
## value, error = rpycall.call_r_function(f, *args, **kwargs)
## C:\Users\naruk\AppData\Local\R\win-library\4.3\reticulate\python\rpytools\call.py:7: UserWarning: Glyph 20301 (\N{CJK UNIFIED IDEOGRAPH-4F4D}) missing from current font.
## value, error = rpycall.call_r_function(f, *args, **kwargs)
## C:\Users\naruk\AppData\Local\R\win-library\4.3\reticulate\python\rpytools\call.py:7: UserWarning: Glyph 65341 (\N{FULLWIDTH RIGHT SQUARE BRACKET}) missing from current font.
## value, error = rpycall.call_r_function(f, *args, **kwargs)
## C:\Users\naruk\AppData\Local\R\win-library\4.3\reticulate\python\rpytools\call.py:7: UserWarning: Glyph 31665 (\N{CJK UNIFIED IDEOGRAPH-7BB1}) missing from current font.
## value, error = rpycall.call_r_function(f, *args, **kwargs)
## C:\Users\naruk\AppData\Local\R\win-library\4.3\reticulate\python\rpytools\call.py:7: UserWarning: Glyph 12402 (\N{HIRAGANA LETTER HI}) missing from current font.
## value, error = rpycall.call_r_function(f, *args, **kwargs)
## C:\Users\naruk\AppData\Local\R\win-library\4.3\reticulate\python\rpytools\call.py:7: UserWarning: Glyph 12370 (\N{HIRAGANA LETTER GE}) missing from current font.
## value, error = rpycall.call_r_function(f, *args, **kwargs)
## C:\Users\naruk\AppData\Local\R\win-library\4.3\reticulate\python\rpytools\call.py:7: UserWarning: Glyph 22259 (\N{CJK UNIFIED IDEOGRAPH-56F3}) missing from current font.
## value, error = rpycall.call_r_function(f, *args, **kwargs)
## C:\Users\naruk\AppData\Local\R\win-library\4.3\reticulate\python\rpytools\call.py:7: UserWarning: Glyph 38917 (\N{CJK UNIFIED IDEOGRAPH-9805}) missing from current font.
## value, error = rpycall.call_r_function(f, *args, **kwargs)
## C:\Users\naruk\AppData\Local\R\win-library\4.3\reticulate\python\rpytools\call.py:7: UserWarning: Glyph 30446 (\N{CJK UNIFIED IDEOGRAPH-76EE}) missing from current font.
## value, error = rpycall.call_r_function(f, *args, **kwargs)
