楼主: wuzulin
1285 6

[问答] 关于ggplot2批量画图时y轴刻度不同使得轴线的相对位置发生变化 [推广有奖]

  • 0关注
  • 0粉丝

高中生

25%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
34.6583
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
158 点
帖子
10
精华
0
在线时间
33 小时
注册时间
2021-5-21
最后登录
2022-3-25

楼主
wuzulin 发表于 2021-12-3 13:24:54 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如下面两个图,y轴的刻度值是两位数时比是1位数时的y轴线的相当位置更靠右,这是为什么呢?应该如何让保证它们相对位置是一样的?也就是不管刻度位数是多少,都不会使得y轴线的相对位置发生偏移?

1111.png
2222.png

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:ggplot2 gplot plot GPL 两位数

沙发
s609078902 发表于 2021-12-3 14:10:55
手动设置 y 轴的范围
  1.   + ylim(0, NA)
复制代码

藤椅
wuzulin 发表于 2021-12-3 17:00:08
s609078902 发表于 2021-12-3 14:10
手动设置 y 轴的范围
这个方法我知道的,我应用的场景是循环批量出图的,并且每个数据是不一样的,如果限定轴的范围的话,那数据相关较大的出来的图就是不好看了

板凳
s609078902 发表于 2021-12-3 17:39:15
wuzulin 发表于 2021-12-3 17:00
这个方法我知道的,我应用的场景是循环批量出图的,并且每个数据是不一样的,如果限定轴的范围的话,那数 ...
我看懂你的问题了,设置左边 border 就行,或者你控制刻度值显示 01, 02 这样
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

报纸
wuzulin 发表于 2021-12-4 15:37:42
s609078902 发表于 2021-12-3 17:39
我看懂你的问题了,设置左边 border 就行,或者你控制刻度值显示 01, 02 这样
对,我想到了调整刻度01,02这样的形式,但是一直都没有调出来,可有方法推荐?round和signif好像不行
调左边的border不太好控制,并不知刻度多了一位时占用了多少pts或者mm的位置

地板
White-Tee 学生认证  发表于 2021-12-7 09:05:51
你可以把y轴的范围设置成根据数据集变化的参数

7
小木剑 发表于 2021-12-7 10:27:47
方法是设定坐标轴大小和刻度
  1. ggplot()+作图代码+
  2. scale_y_continuous(breaks = c(0,2, 4, 6, 8,10),limits = c(0, 10))
复制代码

如果需要保证相对位置,可以设定:
  1. limits=(min(data  \$ vabriable),max(data \$ variable))
复制代码

其中data是数据集,variable是y轴变量。data $ variable的美元符号打不出来,用的时候把\去掉。刻度也是同理。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-29 10:16