如何使用ggplot的geom_point/geom_poly绘制已知边长的四边形
四边形地块ggplot绘制实现方案
第一步:推算四个顶点坐标
按照设定的坐标系规则,结合边长、对角线参数推算得到符合误差要求的可行坐标如下:
- A点(原点):
(0, 0) - B点(AB沿x轴):
(11.55, 0) - D点:
(-1.14, 15.72),验证:AD≈15.76m,BD≈20.20m,误差小于0.01m - C点:
(10.92, 17.16),验证:AC≈20.34m,BC≈17.17m,CD≈12.14m,误差0.37m,符合±0.5m的测量误差要求
第二步:R语言ggplot绘图代码
# 加载依赖包 library(ggplot2) # 构造顶点数据框 quad_data <- data.frame( x = c(0, 11.55, 10.92, -1.14), y = c(0, 0, 17.16, 15.72), label = c("A", "B", "C", "D") ) # 绘图 ggplot() + # 绘制四边形填充 geom_polygon(data = quad_data, aes(x = x, y = y), fill = "lightgreen", alpha = 0.5, color = "black") + # 绘制顶点标记 geom_point(data = quad_data, aes(x = x, y = y), size = 3, color = "red") + # 标注顶点名称 geom_text(data = quad_data, aes(x = x, y = y, label = label), vjust = -1, size = 4) + # 调整坐标轴比例为1:1,避免图形变形 coord_fixed() + # 可选:添加主题调整 labs(x = "x轴(单位:米)", y = "y轴(单位:米)", title = "四边形地块示意图") + theme_bw()
注意事项
由于测量存在±0.5m的误差,符合所有距离条件的四边形不唯一,上述坐标是其中一个可行解。如果需要镜像布局,可将C、D点的y值统一改为负数即可得到x轴下方的镜像四边形。
内容的提问来源于stack exchange,提问作者SiH
相关产品推荐
相关产品推荐

