如何在RStudio中绘制含55行数据的单列数据图表?
R语言单列数据绘图:plot()和lines()用法详解
1. 先把数据读进R
你打开的是单列文件,先把数据加载到R环境里,两种简单方法:
方法一:用scan读取(适合纯数值单列文件)
# 替换成你的文件路径,比如"~/Desktop/data.txt" data <- scan("你的文件路径")
方法二:用read.table读取(可自定义列名)
data <- read.table("你的文件路径", header = FALSE, col.names = c("measure_value")) # 之后用data$measure_value调用数据
如果不想读文件,直接把你给的数据复制到R里测试:
data <- c(6.43928e-08, 8.9657e-08, 3.5973e-08, 7.98486e-08, 1.45126e-07, 1.19643e-07, 6.56901e-08, 1.56191e-07, 6.04781e-08, 7.87716e-08, 5.28275e-08, 8.52068e-08, 5.74379e-08, 6.63155e-08, 9.4133e-08, 4.47355e-08, 5.00223e-08, 1.25508e-07, 1.44894e-08, 1.38814e-07, 1.33138e-07, 8.93863e-08, 8.29701e-08, 3.51607e-08, 5.78949e-08, 6.4056e-08, 9.40513e-08, 1.13815e-07, 1.13724e-07, 1.86738e-07, 9.95791e-08, 1.32434e-07, 1.07028e-07, 4.06969e-08, 1.32302e-07, 6.96083e-08, 1.28238e-07, 6.14803e-08, 5.97798e-08, 1.12871e-07, 1.92305e-07, 2.01796e-07, 1.09566e-07, 2.41609e-07, 1.72438e-07, 6.86917e-08, 9.86971e-08, 1.22608e-07, 1.14464e-07, 9.12973e-08, 8.28016e-08, 8.89075e-08, 7.71099e-08, 9.74162e-09, 2.53372e-08)
2. plot()函数的基础用法
plot()是R的核心绘图函数,针对你的单列数据,x轴默认用数据的序号(1到55),常用两种绘图类型:
绘制散点图
plot(data, type = "p", # "p"代表points,即散点,默认值可省略 main = "单列数据散点图", # 图表标题 xlab = "数据点序号", # x轴标签 ylab = "测量数值", # y轴标签 col = "blue", # 点的颜色 pch = 16) # 点的形状,16是实心圆
绘制折线图
把type改成"l"(line的缩写)即可:
plot(data, type = "l", main = "单列数据折线图", xlab = "数据点序号", ylab = "测量数值", lwd = 2, # 线条宽度 col = "red")
3. lines()函数的用法
lines()不能单独绘图,必须先有一个已存在的绘图窗口,用来在已有图表上叠加线条:
示例:散点图叠加折线
# 先画散点图 plot(data, type = "p", col = "blue", pch = 16, main = "散点+折线组合图", xlab = "序号", ylab = "数值") # 叠加折线 lines(data, col = "red", lwd = 2)
示例:先创建空绘图框架,再用lines()加线
适合需要精准控制坐标轴范围的情况:
# 创建空的绘图区域,type="n"表示不绘制任何元素 plot(1:length(data), data, type = "n", xlim = c(0, 60), # x轴范围 ylim = c(0, 3e-07), # y轴范围,根据你的数据最大值调整 main = "自定义坐标轴后加线", xlab = "序号", ylab = "数值") # 添加虚线 lines(data, col = "green", lty = 2) # lty=2表示虚线
常见问题排查
你之前用plot()失败,大概率是数据没正确读取——比如文件路径错了,或者数据格式问题。先运行str(data)看看数据类型,如果显示num [1:55]就是正确的数值向量,能直接用plot()。
内容的提问来源于stack exchange,提问作者Ilya Hibrikov
相关产品推荐
相关产品推荐

