ホームページ > バックエンド開発 > Python チュートリアル > Python を使用してデータから複数色の線分をプロットする方法

Python を使用してデータから複数色の線分をプロットする方法

Susan Sarandon
リリース: 2024-10-29 09:15:30
オリジナル
1078 人が閲覧しました

How to Plot Multi-Colored Line Segments from Data Using Python?

データからの複数色の線分のプロット

データ ポイントを線として視覚化するには、matplotlib を使用できます。ここには、それぞれ緯度と経度の座標を表す 2 つのリスト 'latt' と 'lont' があります。目的は、10 点の各セグメントに固有の色を割り当てて、データ ポイントを結ぶ線をプロットすることです。

アプローチ 1: 個別の線プロット

小規模の場合線分の数に応じて、セグメントごとにさまざまな色で個別の線プロットを作成できます。次のコード例は、このアプローチを示しています。

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

# Assume the list of latitude and longitude is provided

# Generate uniqueish colors
def uniqueish_color():
    return plt.cm.gist_ncar(np.random.random())

# Create a plot
fig, ax = plt.subplots()

# Iterate through the data in segments of 10
for start, stop in zip(latt[:-1], latt[1:]):
    # Extract coordinates for each segment
    x = latt[start:stop]
    y = lont[start:stop]

    # Plot each segment with a unique color
    ax.plot(x, y, color=uniqueish_color())

# Display the plot
plt.show()</code>
ログイン後にコピー

アプローチ 2: 大規模なデータセットのライン コレクション

膨大な数のライン セグメントを含む大規模なデータセットの場合は、Line を使用します。コレクションにより効率が向上します。以下に例を示します。

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

# Prepare the data as a sequence of line segments
segments = np.hstack([latt[:-1], latt[1:]]).reshape(-1, 1, 2)

# Create a plot
fig, ax = plt.subplots()

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

# Assign random colors to the segments
coll.set_array(np.random.random(latt.shape[0]))

# Add the LineCollection to the plot
ax.add_collection(coll)
ax.autoscale_view()

# Display the plot
plt.show()</code>
ログイン後にコピー

結論として、どちらのアプローチでも、データ ポイントのさまざまなセグメントに対してさまざまな色で効果的に線をプロットできます。どちらを選択するかは、プロットする線分の数によって異なります。

以上がPython を使用してデータから複数色の線分をプロットする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート