Pourquoi ne parcelle non respect add = TRUE?
Pourquoi ne R de base du tracé de la fonction de cela? Nous devons utiliser points
ou lines
, qui a besoin d'un code spécial, plutôt que d'utiliser le type
argument.
plot(1:10)
plot(10:1, add = TRUE)
Warning messages:
1: In plot.window(...) : "add" is not a graphical parameter
2: In plot.xy(xy, type, ...) : "add" is not a graphical parameter
3: In axis(side = side, at = at, labels = labels, ...) :
Etc.
Nombre de paquets qui fournissent des méthodes pour (c'est à dire "override") de la parcelle et de fournir l'évidence la capacité de l'intrigue(obj, add = TRUE) aussi longtemps que obj
est de la classe appropriée. (Des exemples sont sp
, raster
, spatstat
.)
Est-il une raison plot.default
n'a pas déjà?
EDIT: ceci a été longuement discuté ici:
http://tolstoy.newcastle.edu.au/R/e4/devel/08/03/0725.html
DM efficacement les réponses ici: http://tolstoy.newcastle.edu.au/R/e4/devel/08/03/0734.html
add=TRUE
dans par
add
n'est pas un paramètre dans ?par
add
n'est pas un argument pour plot.default
. C'est pour plot.function
, et peut-être quelques autres, je suis pas d'. Dans l'exemple ci-dessus, vous pouvez utiliser points(...)
Je pensais
new=TRUE
comme DWin démos.
OriginalL'auteur mdsumner | 2013-08-15
Vous devez vous connecter pour publier un commentaire.
Parce que
plot.default
n'a pas deadd
argumentCes autres fonctions sont pas primordial
plot
mais fournissent leurs propres méthodes, qui ont un argumentadd
parce qu'ils ont été écrit de cette façon. Personnellement, ayant grandi avec l'aide depoints()
etlines()
etc je ne trouve pas beaucoup de travail supplémentaire et je voudrais les utiliser, de préférence à uneplot
méthode avec unadd
argument, même si nous avons écrit de deux façons dans les paquets que je contribue.Pourquoi
plot.default
n'a pas deadd
argument? Vous auriez à demander de R de Base, mais je peux vous suggérer quelques raisonsplot.default
est conçu pour générer l'ensemble d'une parcelle sur l'appareilpoints()
etlines()
etc ... donc pourquoi en double?plot.default
est plus simple de code sans code pour géreradd
"Override" et de "fournir des méthodes pour" sont synonymes pour moi btw.
Une autre raison est que c'est un bon chose que vous ne pouvez pas réinitialiser les xlim, ylim, etc. Il y a beaucoup d'arguments, vous ne voulez pas dans la fonction qui ajoute des choses pour l'intrigue.
Mais c'est juste une autre raison qui simplifie la maintenance du code et reflète les limites de la carte graphique, je pense, de ne pas parler de l'utilité de l'interface. Méthode écrivains ne pas les éviter à l'aide de l'option ajouter, parce que c'est vraiment utile pour ne pas avoir des noms spéciaux pour les différents types de tracer des fonctions. Pour moi, la raison ultime est que "c'est ce qui S", et personne n'a poussé. Utilisation de par(new = TRUE) est une imprudence hack à mon avis, un moyen très facile de causer des ennuis.
OriginalL'auteur Gavin Simpson
Si
add=TRUE
n'est pas fourni (et vous êtes à l'aide de graphismes de base) puis utiliserpar(new=TRUE)
avant la parcelle appel. Vous aurez besoin de supprimer le xlab, ylab et d'autres trucs qui pourraient interférer ou de superposition de l'annotation existante, et je l'ai fait sortir de la ylab intacte pour illustrer le pourquoi de cette mise en garde est nécessaire. Vous aurez également besoin de définir xlim et ylim être le même.Après examen des commentaires, mon vote est pour @John's point qu'une nouvelle
plot
appel serait peut-être avoir un ensemble différent de xlim et ylim, pour ne pas mentionner la possibilité de remplacer tous les objets de texte dans les marges.points
etlines
ne pas avoir la possibilité de recalculer les limites de la zone de traçage, de sorte qu'ils sont "sûrs" pour une utilisation avecplot.default
.OK, alors peut-être que nous devrions voter pour fermer comme hors-sujet? (Je pensais que la question était de savoir qu'il manque des fonctionnalités. Donc je suppose que le fait que la fonctionnalité était-il avec un mécanisme différent serait une sorte de réponse?)
Près, loin, c'est un dupe de ça: tolstoy.newcastle.edu.au/R/e4/devel/08/03/0725.html
Donc, il y a 6 ans, il a été proposé dans la R-devel et puis ne pas agir. Il avait le soutien de @G. Grothendieck, mais ne l'ai jamais acceptée.
OriginalL'auteur 42-