ggplot2:基于随机生成变量名设置散点图坐标轴标签
解决随机选列散点图的坐标轴标签问题
嘿,这个问题我太熟悉了!之前做探索性数据分析的时候经常遇到——随机挑变量画图,转头就忘了用的是哪两列。其实核心思路很简单:把随机选中的列名先存起来,绘图的时候直接把这些名字指定给X轴和Y轴就行。我给你用两种常用的数据分析工具分别演示:
Python(Pandas + Matplotlib/Seaborn)
步骤1:随机选列并保存列名
先拿示例数据框举例,随机挑选两列后把列名存到变量里:
import pandas as pd import matplotlib.pyplot as plt import numpy as np # 创建示例数据框 df = pd.DataFrame( np.random.rand(50, 4), columns=['身高', '体重', '年龄', '月收入'] ) # 随机选择不重复的两列,保存列名 selected_cols = np.random.choice(df.columns, size=2, replace=False) x_col, y_col = selected_cols[0], selected_cols[1]
步骤2:绘图时指定坐标轴标签
用Matplotlib绘图的话,直接通过xlabel()和ylabel()把存好的列名传进去:
plt.scatter(df[x_col], df[y_col]) plt.xlabel(x_col, fontsize=12) # X轴显示选中的列名 plt.ylabel(y_col, fontsize=12) # Y轴同理 plt.title(f'{x_col} 与 {y_col} 的散点图', fontsize=14) plt.grid(alpha=0.3) plt.show()
如果用Seaborn,代码会更简洁,同样可以指定标签:
import seaborn as sns sns.scatterplot(data=df, x=x_col, y=y_col) plt.xlabel(x_col) plt.ylabel(y_col) plt.show()
R语言
如果用R做分析,逻辑是一样的:先存列名,再绘图时指定标签:
# 创建示例数据框 df <- data.frame( 身高 = rnorm(50), 体重 = rnorm(50), 年龄 = rnorm(50), 月收入 = rnorm(50) ) # 随机选两列并保存列名 selected_cols <- sample(names(df), 2, replace = FALSE) x_col <- selected_cols[1] y_col <- selected_cols[2] # 绘图并设置坐标轴标签 plot( df[[x_col]], df[[y_col]], xlab = x_col, ylab = y_col, main = paste(x_col, "vs", y_col), pch = 16, col = "#2E86AB" )
不管用哪种工具,核心都是提前捕获随机选中的列名,这样绘图时就能精准把列标题放到坐标轴上,再也不用猜变量啦!
内容的提问来源于stack exchange,提问作者user6883405
相关产品推荐
相关产品推荐

