データ

ある食堂の売上げ数[皿]である。

x <- c(5, 40, 25, 10) 

names(x) <- c('親子丼', 'カツ丼', '天丼', '牛丼')

x
## 親子丼 カツ丼   天丼   牛丼 
##      5     40     25     10
# カラーパレット
COL <- c(rgb(255,   0, 255,  55, max = 255), # ピンク
         rgb(  0,   0, 255,  55, max = 255)) # ラベンダー

RGB_Color


円グラフ

コンソール画面で?pieとタイプするとヘルプを表示する
>?pie

基本の円グラフ

pie(x, clockwise = T)

円グラフ(%追加)

p <- x / sum(x) * 100

pie(p, labels = paste(names(p), round(p, 1), '%'), clockwise = T, main = 'タイトル')

インタラクティブグラフ

library(plotly)

plot_ly(type = 'pie', textinfo = 'label+percent', values = x, labels = names(x)) |>
  layout(title = 'タイトル')

Python

import matplotlib.pyplot as plt
import numpy as np

x = np.array([5, 40, 25, 10])

labels = ['親子丼', 'カツ丼', '天丼', '牛丼' ]

plt.pie(x, labels = labels,
        startangle = 90,
        counterclock = False,
        autopct = '%1.1f%%')
## ([<matplotlib.patches.Wedge object at 0x74f8821ca3b0>, <matplotlib.patches.Wedge object at 0x74f8821c9420>, <matplotlib.patches.Wedge object at 0x74f8821cb0a0>, <matplotlib.patches.Wedge object at 0x74f8821cb730>], [Text(0.21459935421774118, 1.0788638084435536, '親子丼'), Text(1.0162674857624154, -0.4209517756015988, 'カツ丼'), Text(-1.0788638084435536, -0.21459935421774148, '天丼'), Text(-0.4209517756015994, 1.0162674857624152, '牛丼')], [Text(0.117054193209677, 0.5884711682419382, '6.2%'), Text(0.5543277195067721, -0.22961005941905385, '50.0%'), Text(-0.5884711682419382, -0.11705419320967717, '31.2%'), Text(-0.22961005941905419, 0.5543277195067718, '12.5%')])
plt.show()

(参考)【Pythonでデータサイエンス】matplotlib で円グラフを描く