12
Nel seguente codice, come creo le linee che collegano ogni coppia di grafici a dispersione (cioè collegando il cerchio verde alla punta di freccia gialla) creato dalle due linee di codice verso la fine appena prima dell'istruzione .show()?Collegamento di due punti in un grafico a dispersione 3D in Python e matplotlib
import matplotlib.pyplot
from mpl_toolkits.mplot3d import Axes3D
dates = [20020514, 20020515, 20020516, 20020517, 20020520]
highs = [1135, 1158, 1152, 1158, 1163]
lows = [1257, 1253, 1259, 1264, 1252]
upperLimits = [1125.0, 1125.0, 1093.75, 1125.0, 1125.0]
lowerLimits = [1250.0, 1250.0, 1156.25, 1250.0, 1250.0]
zaxisvalues0= [0, 0, 0, 0, 0]
zaxisvalues1= [1, 1, 1, 1, 1]
zaxisvalues2= [2, 2, 2, 2, 2]
fig = matplotlib.pyplot.figure()
ax = fig.add_subplot(111, projection = '3d')
ax.plot(dates, zaxisvalues1, lowerLimits, color = 'b')
ax.plot(dates, zaxisvalues2, upperLimits, color = 'r')
ax.scatter(dates, zaxisvalues0, highs, color = 'g', marker = "o")
ax.scatter(dates, zaxisvalues0, lows, color = 'y', marker = "^")
matplotlib.pyplot.show()
Superb! Grazie, Marco. Non ho mai realizzato di poter tracciare singoli punti a piacimento (invece di una serie di un array o di una lista). E se volessi disegnare un rettangolo invece di una linea? Ho provato a cambiare "ax.plot" in "ax.bar" nel ciclo "for", ma ho ottenuto invece linee inclinate. C'è un modo per disegnare un rettangolo? Grazie in anticipo. – Zambi
@Zambi Benvenuti in Stackoverflow! Piuttosto che affrontare domande supplementari, qui ha più senso chiedere una nuova domanda. – Hooked
Zambi, come ha detto @Hooked, è meglio aprire una nuova domanda in modo che la comunità più ampia possa vederla. Un rapido sguardo però, hai due opzioni, disegna i 4 lati del rettangolo con linee "plot" o guarda usando PolyCollection (http://matplotlib.sourceforge.net/examples/mplot3d/polys3d_demo.html) – Mark