ホームページ  >  記事  >  バックエンド開発  >  -2 から 2 までの値をプロットするために赤、紫、青をブレンドしたカスタム カラーマップを生成する方法

-2 から 2 までの値をプロットするために赤、紫、青をブレンドしたカスタム カラーマップを生成する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-12 12:02:02388ブラウズ

How to Generate a Custom Colormap Blending Red, Violet, and Blue for Plotting Values Between -2 and  2?

カスタム カラーマップの作成とカラー スケールの強化

この技術調査では、赤、紫、青をスムーズにブレンドし、マッピングするカスタム カラーマップを生成することが課題となります。 -2 から 2 までの値。最終的な目標は、このカラーマップを使用してプロット内の座標を色付けし、そのカラー スケールを含めることです。参照。

カラーマップの生成

これを実現するために、LinearSegmentedColormap が使用されます。最初のアプローチで説明した ListedColormap とは異なり、LinearSegmentedColormap では滑らかで連続的なカラー グラデーションが可能になります。カラーマップを作成するには、LinearSegmentedColormap.from_list メソッドを利用し、目的の色をリストとして指定します。

カラー マッピングとプロット

次のステップでは、色をデータ値にマッピングします。ここでは、Normalize 関数を使用して値を -2 ~ 2 の範囲内で正規化します。その後、散布図を利用して、カスタム カラーマップと正規化された値を使用して座標を表示します。

カラー スケールの追加

プロットを読みやすくするには、カラー スケールが不可欠です。カラーバー関数は、プロットにカラー スケールを追加するために使用され、カラーマップと対応する値の範囲を視覚的に表現します。

実装例

プロセスを説明するために、次のコード スニペットを示します。カスタム カラーマップの作成とそのプロットへの適用を示します:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.colors

x, y, c = zip(*np.random.rand(30, 3) * 4 - 2)

norm = plt.Normalize(-2, 2)
cmap = matplotlib.colors.LinearSegmentedColormap.from_list("", ["red", "violet", "blue"])

plt.scatter(x, y, c=c, cmap=cmap, norm=norm)
plt.colorbar()
plt.show()

これらの手順に従うことで、スムーズで連続的なカスタム カラーマップを効果的に作成できます。カラーマップ、色をデータ値にマッピングし、プロットとその値をより深く理解するためにカラー スケールを組み込みます。

以上が-2 から 2 までの値をプロットするために赤、紫、青をブレンドしたカスタム カラーマップを生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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