【发布时间】:2014-01-10 13:26:49
【问题描述】:
我有以下情节,使用此代码生成
plt <- ggplot(d2, aes_string(x=names(same_df)[1],y= "value")) +
geom_point(aes(color = variable), size = 1)+ theme_bw()+
theme(legend.text=element_text(size=14), legend.title=element_text(size=14))+
theme(axis.text=element_text(size=20)) +
theme(axis.title=element_text(size=20,face="bold")) + scale_color_discrete(name = "title", labels = c("1", "2", "3", "4","5","6","7","8","9")) + labs(x = "x", y = "y")+ guides(colour = guide_legend(override.aes = list(size=4),ncol=2,title.hjust=0.5))+theme(plot.margin=unit(c(0,0,0,0),"mm"))
但是,我需要 y 轴上的数字使用 SI 前缀表示法,以便我执行以下步骤,
library("sos")
使用sitools包中的findFn
findFn("{SI prefix}")
然后我使用标签中的 f2si 将浮点数数字转换为带有 SI 前缀的数字
plt2 <- plt + scale_y_continuous(labels=f2si)
生成的图如下所示,
虽然 f2si 将 -1e^-0.8 的 y 轴准确地更改为 -10 n,但它不能准确地显示 0 和 1e^-0.8 的值,它们分别为 0 和 10 n。有人可以建议在这里应该更正什么,以便数字显示应该始终如一。
谢谢。
【问题讨论】:
-
见here。