ホームページ  >  記事  >  バックエンド開発  >  Matplotlib を使用してさまざまな色で線をプロットする方法

Matplotlib を使用してさまざまな色で線をプロットする方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-31 06:51:30417ブラウズ

How to Plot a Line with Varying Colors Using Matplotlib?

さまざまな色で線をプロットする

問題

データ ポイントの 2 つのリスト (緯度と経度) が与えられた場合、目標はデータを次のように視覚化することです。さまざまな色のライン。線は期間に分割する必要があり、各期間は両方のリストの 10 個のデータ ポイントで構成されます。各期間に異なる色を割り当てる必要があります。

解決策

方法 1: 線分の数を制限する

線分の数が少ない場合は、次のアプローチを使用できます。

<code class="python">import numpy as np
import matplotlib.pyplot as plt

def uniqueish_color():
    """Generate a unique-looking color."""
    return plt.cm.gist_ncar(np.random.random())

# Generate random data
xy = (np.random.random((10, 2)) - 0.5).cumsum(axis=0)

# Create a figure and axis
fig, ax = plt.subplots()

# Iterate over segments
for start, stop in zip(xy[:-1], xy[1:]):
    x, y = zip(start, stop)
    ax.plot(x, y, color=uniqueish_color())

# Display the plot
plt.show()</code>

方法 2: 多数の線分

多数の線分の場合、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
xy = xy.reshape(-1, 1, 2)
segments = np.hstack([xy[:-1], xy[1:]])

# Create a figure and axis
fig, ax = plt.subplots()

# Create a LineCollection
coll = LineCollection(segments, cmap=plt.cm.gist_ncar)

# Set colors
coll.set_array(np.random.random(xy.shape[0]))

# Add collection to axis
ax.add_collection(coll)

# Adjust view
ax.autoscale_view()

# Display the plot
plt.show()</code>

以上がMatplotlib を使用してさまざまな色で線をプロットする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。