我在y轴上画了一幅带摄氏的图:
plot(y=0:100,x=0:100, main="temperature",xlab="time",ylab="Celsius",type="l")我如何绘制一个相同的二级Y刻度,但在y轴上以摄氏表示的单位,在第二个y轴上显示为华氏温度。T(°F) = T(°C)×9/5 + 32 I需要两个y轴的标号位置精确对应,使二级y标号显示主y标号上的转换值。
谢谢你的帮助。
发布于 2015-08-19 09:49:51
在最粗糙的形式中,您可以使用axis()
plot(y=0:100,x=0:100, main="temperature",xlab="time",ylab="Centigrate",type="l")
axis(4, at=0:100, labels=0:100 * 9/5 + 32)使用seq(0, 100, by=10)可以获得更少的标签。您还需要将par(mar=)设置为适合您的轴标签。
发布于 2016-02-03 00:54:52
这是一个左右两边都有漂亮的滴答声的例子。
set.seed(1)
temp <- rnorm(10) * 10 + 10 # random temperatures
par(mar=c(5.1, 5.1, 5.1, 5.1)) # extra margin space
plot(temp, ylab="degrees C")
ylim <- par("yaxp")[1:2] # get range of original y-axis
# slope and offset coefficients to convert between degrees C and F
slope <- 9/5
offset <- 32
alt.ax <- pretty(slope * ylim + offset)
alt.at <- (alt.ax - offset) / slope
axis(side=4, at=alt.at, labels=alt.ax, srt=90)
mtext("degrees F", side=4, line=par("mgp")[1])

https://stackoverflow.com/questions/32091789
复制相似问题