R语言分类X轴箱线图的legend函数x坐标确定方法
双箱线图图例的x坐标确定方法
先理清当前绘图的基础坐标规则
你使用base R基于mtcars绘制的双独立箱线图,默认横向坐标逻辑是固定的:
- 两个箱体的横向位置为
x=1对应mpg字段、x=2对应qsec字段 - R会自动在箱体两侧预留0.5单位的安全边距,整个绘图区的x轴实际范围为
x=0.5到x=2.5 - 当你传入数值给legend的x参数时,这个值代表图例矩形左边缘的所在x坐标,并非图例的中心位置。
具体x值的确定操作步骤
- 跑完基础箱线图代码后,立刻在控制台执行
par("usr"),可拿到当前绘图区的真实坐标边界,返回值格式为c(x左边界, x右边界, y下边界, y上边界),针对这个mtcars双箱线图场景,实际输出的x边界固定为0.5和2.5。 - 结合你已经指定的y=15(图的下半区位置),定位右下角无遮挡的空白区域:qsec箱体位于x=2的位置,纵向范围约为y=14.5到y=22.9,y=15刚好处于该箱体的下沿附近,x方向上1.9到2.4的区间完全没有被箱体遮挡。
- 结合图例宽度匹配x值:你的图例包含两个短标签"mpg"、"qsec",整体宽度约为0.4个x单位。如果把x设为2.0,图例左边缘会落在x=2的位置,整体从x=2延伸到x=2.4,完全在x右边界2.5以内,既不会超出图框被裁切,也不会遮挡左侧x=1位置的mpg箱体。
调整参考
- 若发现图例太靠右被图框裁切:把x值调小0.1即可
- 若发现图例太靠左遮挡了箱体:把x值调大0.1即可
- 针对这个固定的绘图场景,x=2.0是适配度最高的取值。
内容的提问来源于stack exchange,提问作者Mark
相关产品推荐
相关产品推荐

