R语言使用plot函数绘图时如何限定坐标轴的显示范围
问题原因
你之前写的代码传入plot()函数的是两个布尔值向量,covviddf$view_count < 2000000会返回和原数据行数一致的TRUE/FALSE逻辑值,不是你想要的筛选后的播放量、订阅量数值,所以无法得到预期的可视化结果。
解决方案
提供两种常用实现方式,你可以按需选择:
方式1:仅调整坐标轴显示范围(不修改原始绘图数据)
直接在原绘图代码中添加xlim、ylim参数指定坐标轴的上下限即可,离群值不会被删除,仅不会展示在当前画布范围内:
plot(covviddf$view_count, covviddf$subscriber_count, main = "Comparison between channel subscribers and video views", xlab = "Views", ylab = "Subscribers", xlim = c(0, 2000000), ylim = c(0, 5000000))
方式2:先筛选符合区间的数据再绘图
如果需要完全排除离群值参与绘图计算,可以先对数据集做行过滤,再用过滤后的子集绘图:
# 过滤出X<2000000且Y<5000000的观测值 filter_df <- covviddf[covviddf$view_count < 2000000 & covviddf$subscriber_count < 5000000,] # 用筛选后的数据绘图 plot(filter_df$view_count, filter_df$subscriber_count, main = "Comparison between channel subscribers and video views", xlab = "Views", ylab = "Subscribers")
内容的提问来源于stack exchange,提问作者Teebs
相关产品推荐
相关产品推荐

