Le traçage de plusieurs séries dans un même affichage de tracé est possible ainsi que plusieurs sous-tracés dans un affichage. Mais je veux que plusieurs graphiques qui peuvent être des choses complètement différentes (pas nécessairement une série ou un graphique d'une carte) soient affichés exactement dans un cadre. Comment puis je faire ça? Dans Maple, vous attribuez des noms pour chaque parcelle comme
Maintenant, comment avoir à la fois P1 et P2 dans un graphique? Je n'ai pas un raccourci ou une astuce pour écrire la sortie de cet exemple spécifique avec une ligne de tracé, notez que ma question est générale, par exemple p2 peut être une courbe ou autre chose, ou je peux avoir un Code pour un exemple simple d'essayer d'utiliser En exécutant le code ci-dessus, je vois les graphiques suivants respectivement.
Mais ce que je m'attendais à voir est un tracé avec le rectangle vert ajouté à l'intérieur du tracé avec les deux rectangles orange. P1: = ...:
, P2: = ...:
puis en utilisant tracés: -display (P1, P2, ...); et cela fonctionne. Mais je veux faire ça avec Julia. Disons que j'ai les graphiques suivants comme exemple:
using Plots
pyplot()
x=[1,2,2,1,1]
y=[1,1,2,2,1]
p1=plot(x,y,fill=(0, :orange))
x2=[2,3,3,2,2]
y2=[2,2,3,3,2]
p2=plot!(x2,y2,fill=(0, :orange))
p3=plot(x,y)
display(p2)
p5=plot!([1,2,2,1,1],[2,2,3,3,2],fill=(0, :green))
pour qui génère un tracé à chaque étape, puis je veux mettre toutes ces formes dans un affichage de tracé à la fin de la boucle
for
.
plot! ()
pour l'ajouter à un graphique avec un ordre arbitraire. using Plots
pyplot()
x=[1,2,2,1,1]
y=[1,1,2,2,1]
plot(x,y)
p1=plot(x,y,fill=(0, :orange))
x2=[2,3,3,2,2]
y2=[2,2,3,3,2]
p2=plot(x2,y2,fill=(0, :yellow))
3 Réponses :
Eh bien, si vous faites cela, vous aurez techniquement des sous-intrigues. C'est ce que cela signifie. La syntaxe est
plot(p1, p2)
J'ai mentionné que je ne voulais pas deux sous-graphiques séparés.
Ahh je vois. C'est une question de terminologie - dans Plots, nous nous référons spécifiquement à une chose encadrée lorsque nous utilisons le terme «intrigue». Ce dont vous parlez, c'est d'avoir plusieurs «séries» dans la même intrigue.
Merci pour la terminologie, je pensais par «série» dans la documentation des parcelles, cela veut dire schématiser une série chronologique ou quelque chose comme ça. Vous avez raison, je parle de plusieurs séries dans la même intrigue ^ _ ^
Désolé, je ne sais pas comment tracer une parcelle entière (à l'inverse d'une série) sur une autre parcelle. Pour ce qui concerne l'ordre des parcelles, vous pouvez créer autant de parcelles que vous le souhaitez sans les afficher puis affichez-les où vous voulez, par exemple:
using Plots pyplot() # Here we create independent plots, without displaying them: x=[1,2,2,1,1] y=[1,1,2,2,1] p1=plot(x,y,fill=(0, :orange)); x2=[2,3,3,2,2] y2=[2,2,3,3,2] p2=plot(x2,y2,fill=(0, :orange)); p3=plot(x,y); p5=plot([1,2,2,1,1],[2,2,3,3,2],fill=(0, :green)); # Here we display the plots (in the order we want): println("P2:") display(p2) println("P3:") display(p3) println("P5:") display(p5) println("P1:") display(p1)
Actuellement (Julia 1.5.0, 2020-08), intriguez! peut prendre un argument facultatif qui fait référence à un tracé existant, qui est ensuite ajouté à:
p = plot(x, y) plot!(p, x, z)
Vous pouvez donc tracer ce que vous voulez et l'ajouter dans l'ordre dont vous avez besoin.
Pour ceux qui ne connaissent pas Maple, il est difficile de comprendre ce que vous recherchez. Avec plot! (), Vous pouvez ajouter au même cadre des choses assez différentes .. un histogramme, puis un graphique en courbes, puis un graphique à bulles .... vous voulez réaliser ...
@Antonello merci,
plot! ()
fonctionne. Mais il y a un inconvénient à propos deplot! ()
, et c'est de cette façon que vous ajoutez le tracé actuel au dernier tracé précédent. Cela vous oblige donc forcément à avoir les tracés que vous souhaitez imprimer dans le même cadre exactement les uns après les autres. Alors que la méthode de Maple vous donne la liberté de définir des tracés, vous pouvez ensuite avoir n'importe quelle combinaison d'entre eux où que vous soyez dans le programme. Y a-t-il par hasard une autre commande dans le package Plots de Julia ou tout autre package de traçage de Julia qui donne une telle liberté?Vegalite peut vous permettre de le faire.
Je n'obtiens toujours pas ce que vous voulez ... vous pouvez enregistrer les graphiques individuels dans des variables, puis les afficher où vous le souhaitez dans le programme, c'est juste que
plot ()
affiche par défaut le dernier intrigue faite ..@Antonello pouvez-vous vérifier le code que j'ai ajouté à la fin de la question? Bien que je demande à Julia d'afficher
P2
avantP4 = plot! ()
, il ajoute encoreP4
àP3
. Peut-être que je fais quelque chose de mal sinon il semble queplot! ()
ne fait qu'ajouter au dernier nouveau graphique.@ MichaelK.Borregaard merci d'avoir présenté Vega-Lite, je vais vérifier.