異なる色で線をプロットすることは、さまざまな方法で実現できます。推奨されるアプローチは、レンダリングされる線分の数によって異なります。
少数の線分 (たとえば、10 未満) の場合は、次のアプローチで十分です。 :
<code class="python">import numpy as np import matplotlib.pyplot as plt # Define line segment data xy = (np.random.random((10, 2)) - 0.5).cumsum(axis=0) # Create figure and axes fig, ax = plt.subplots() # Iterate through line segments for start, stop in zip(xy[:-1], xy[1:]): x, y = zip(start, stop) ax.plot(x, y, color=np.random.rand(3)) plt.show()</code>
多数の線分 (例: 1,000 以上) の場合、LineCollections はより効率的なソリューションを提供します:
<code class="python">import numpy as np import matplotlib.pyplot as plt from matplotlib.collections import LineCollection # Define line segment data xy = (np.random.random((1000, 2)) - 0.5).cumsum(axis=0) # Reshape data into segments xy = xy.reshape(-1, 1, 2) segments = np.hstack([xy[:-1], xy[1:]]) # Create figure and axes fig, ax = plt.subplots() # Create LineCollection with random colors coll = LineCollection(segments, cmap=plt.cm.gist_ncar) coll.set_array(np.random.random(xy.shape[0])) # Add LineCollection to axes ax.add_collection(coll) ax.autoscale_view() plt.show()</code>
どちらの方法も、「gist_ncar」カラーアンプからのランダムな色の選択に依存します。さらに広範囲の選択については、http://matplotlib.org/examples/color/colormaps_reference.html
を参照してください。以上がMatplotlib で色付きの線分をプロットするには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。