Ich brauche alle Zahlen in einer Annotation in ggplot
, um 3 Ziffern nach dem Dezimaltrennzeichen anzuzeigen. aber ich bin mit diesem Problem konfrontiert:feste Dezimalstellen in ggplots Annotate anzeigen
require(ggplot2)
data(iris)
a <- 1.8
b <- 0.9
ggplot(iris, aes(Sepal.Length, Petal.Length))+
geom_point()+
annotate("text", 7, 3,
label = paste0("y == ", format(a, digits = 3, nsmall = 3), " %*%z^",
format(b, digits = 3, nsmall = 3)), parse = TRUE)
ggplot(iris, aes(Sepal.Length, Petal.Length))+
geom_point()+
annotate("text", 7, 3,
label = sprintf("y == %0.3f %%*%%z^ %0.3f", a,b), parse = TRUE)
beide produzieren Plots mit nur einer Dezimalstelle. Es ist klar, dass, wenn ich zu parse = FALSE
ändere, dann kommt die Handlung mit der korrekten Anzahl von Dezimalzahlen, aber sein Format ist (ziemlich offensichtlich) weit von dem erwarteten.
Abgesehen von der Einführung des Textes, welche anderen Möglichkeiten gibt es, um dies zu erreichen?
Dies scheint durch die 'plotmath' Regeln verursacht werden:' Grundstück (1, 1, main = parse (text = sprintf ("y ==% 0.3f %% * %% z ^% 0.3f ", a, b)))" entfernt auch die nachgestellten Ziffern. –