如何使用R语言基于表格多列duration数据绘制boxplot箱线图
箱线图绘制实现方案
下面提供两种主流技术栈的实现方式:
Python 实现(基于Seaborn + Matplotlib)
你需要先安装依赖库:pip install pandas seaborn matplotlib
实现代码如下:
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 1. 读取/构造数据表,若你有现成csv文件可改用 pd.read_csv('你的文件路径') 读取 df = pd.DataFrame({ 'id': [1,2,3,4], 'duration1': [500, 300, 250, 400], 'duration2': [250, 270, 200, 210], 'duration3': [140, 200, 300, 400] }) # 2. 宽表转长表,适配箱线图的数据结构要求 df_long = df.melt( id_vars='id', value_vars=['duration1', 'duration2', 'duration3'], var_name='时长类型', value_name='数值' ) # 3. 绘制箱线图 sns.boxplot(x='时长类型', y='数值', data=df_long) plt.show()
R 实现(基于ggplot2)
你需要先安装依赖包:install.packages(c('ggplot2', 'tidyr'))
实现代码如下:
library(ggplot2) library(tidyr) # 1. 读取/构造数据表,若你有现成csv文件可改用 read.csv('你的文件路径') 读取 df <- data.frame( id = c(1,2,3,4), duration1 = c(500, 300, 250, 400), duration2 = c(250, 270, 200, 210), duration3 = c(140, 200, 300, 400) ) # 2. 宽表转长表 df_long <- pivot_longer( df, cols = starts_with('duration'), names_to = '时长类型', values_to = '数值' ) # 3. 绘制箱线图 ggplot(df_long, aes(x = 时长类型, y = 数值)) + geom_boxplot() + labs(x = '时长类型', y = '数值')
内容的提问来源于stack exchange,提问作者Jonas
相关产品推荐
相关产品推荐

