Maison >développement back-end >Tutoriel Python >Comment tracer des lignes avec des couleurs variables dans Matplotlib ?
Dans matplotlib, tracer une ligne avec des segments de couleurs distincts peut être réalisé grâce à plusieurs approches. Le choix dépend du nombre de segments de ligne à tracer.
Si seulement quelques segments de ligne sont requis, comme pour tracer une trajectoire, considérez ce qui suit :
<code class="python">import numpy as np import matplotlib.pyplot as plt # Generate random data xy = (np.random.random((10, 2)) - 0.5).cumsum(axis=0) fig, ax = plt.subplots() # Plot each line segment with a unique color for start, stop in zip(xy[:-1], xy[1:]): x, y = zip(start, stop) ax.plot(x, y, color=plt.cm.gist_ncar(np.random.random())) plt.show()</code>
Lors du traitement d'un grand nombre de segments de ligne, une méthode plus efficace consiste à utiliser une LineCollection.
<code class="python">import numpy as np import matplotlib.pyplot as plt from matplotlib.collections import LineCollection # Generate random data xy = (np.random.random((1000, 2)) - 0.5).cumsum(axis=0) # Reshape data for compatibility with LineCollection xy = xy.reshape(-1, 1, 2) segments = np.hstack([xy[:-1], xy[1:]]) fig, ax = plt.subplots() # Create a LineCollection with randomly assigned colors coll = LineCollection(segments, cmap=plt.cm.gist_ncar) coll.set_array(np.random.random(xy.shape[0])) # Add the LineCollection to the plot ax.add_collection(coll) ax.autoscale_view() plt.show()</code>
Dans les deux méthodes, la palette de couleurs sélectionnée peut être modifiée en vous référant à la documentation Matplotlib.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!