如何使用ggplot将两个具有不同比例的y轴放在绘图的同一侧?

How to put two y-axis with different scale on the same side of the plot with ggplot?

提问人:Antonio Manco 提问时间:6/20/2019 最后编辑:s__Antonio Manco 更新时间:12/8/2021 访问量:1166

问:

我有三个不同尺度的变量(降水、温度和 PAR 辐射)。我试图将这三个变量绘制在一起,并将每日降水量总和(条形图)放在左侧 y 轴上,将日平均温度放在右侧 y 轴上。我想在右侧放置另一个 y 轴,带有另一个刻度,以表示 PAR 辐射的日平均值,但我不能。我正在使用 ggplot 包,因为它出于其他原因很有用。

我正在尝试达到与图片中类似的内容:

I'm trying to reach something similar as in the pic

r ggplot2

评论

1赞 yarnabrina 6/20/2019
ggplot 中不能有两个不相关的 y 轴。这个想法记录在以下文档中:sec_axisAll secondary axes must be based on a one-to-one transformation of the primary axes.

答:

0赞 Jonni 6/20/2019 #1

可以在此处找到有关此主题的讨论:

ggplot 每侧有 2 个 y 轴和不同的刻度

可以在此处找到解决方法:

https://rpubs.com/MarkusLoew/226759

评论

1赞 TimTeaFan 6/20/2019
请注意,问题是如何在同一图中创建三个不同的 y 刻度,其中两个在同一侧。这个问题比你建议的答案要复杂一些。尽管如此,您发布的链接是该主题的良好开端。
0赞 Antonio Manco 6/21/2019
完全!这个问题有点难。我已经看到使用标准 R 包进行绘图是可能的,但我找不到使用 ggplot 的方法!
0赞 Csilla Vincze 12/8/2021 #2

您可以使用 Sandard R 软件包 http://evolvingspaces.blogspot.com/2011/05/multiple-y-axis-in-r-plot.html

评论

1赞 Community 12/8/2021
您的答案可以通过其他支持信息进行改进。请编辑以添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以在帮助中心找到有关如何写出好答案的更多信息。