Python用のPlotlyライブラリ

この記事では、Python用のPlotlyライブラリと、魅力的な等高線図を作成するためのさまざまな方法について学習します。各例の詳細なコード分析を使用して、等高線図のさまざまな例を見ていきます。また、等高線図をカスタマイズするための複数の方法を学習します。それでは、基本から始めましょう。

等高線図とは何ですか?

plotlybasic-plot.png

等高線は、ジョイントとカーブを備えた3次元サーフェスの2次元描写です。これは、2つの変数(X軸とY軸の座標)の関数である等高線関数(Z)を使用して描画されます。

Plotlyライブラリとは何ですか?

Plotlyは、チャートやグラフをプロットするためのさまざまなデータ視覚化ライブラリを提供しています。膨大な数のプロットライブラリと、さまざまな種類のグラフを作成するための専用ツールから選択できます。この記事では、ほとんどの場合、単一のインポートパッケージと単一のプロット関数のみを使用します。これが、Plotlyの使用中に得られる使いやすさです。

Plotlyのインストール

システムにPlotlyをインストールするには、次のコマンドを入力します。

Pip install plotly==5.5.0 

Plotlyを使用した等高線図の作成

Plotlyを使用してこれらの等高線図の作成に取り掛かりましょう。

基本的な等高線図

まず、Plotlyを使用して単純な等高線図をプロットします。最初に必要なのは、インポートライブラリです。

以下インポートパッケージ は、ほとんどの作業を実行するユニバーサルPlotly構文のようなものです。

import plotly.graph_objects as grob

等高線関数をプロット

等高線関数は、初期化されたデータを使用してプロットを作成します。x、y座標とz関数を提供する必要があります。

等高線図を作成するには、データの初期化と等高線関数を使用したオブジェクトの作成の2つの部分があり、両方を行うには複数の異なる方法があり、すべての方法が等高線に影響します。簡単にするために、座標が変数「data」で初期化されていると仮定しましょう。

以下に示すように、コードは、等高線のz関数のデータの値を取得するようにコンパイラーに指示します。

grid_fig = grob.Figure(data =
    grob.Contour(z = data))

すべての方法を理解するために、いくつかのプログラム例を見てみましょう。

z関数として座標配列を使用した等高線図のプロット:


import plotly.graph_objects as grob
 
# This 5X5 matrix stores the coordinate values required for z function
data = [[6, 4, 5, 5, 6],
    [1, 5, 5, 4, 6],
    [5, 4, 4, 6, 4],
    [7, 8, 4, 3, 3]]
 
grid_fig = grob.Figure(data =
    grob.Contour(z = data))
 
grid_fig.show()

出力:

plotlybasic-plot.png

特定のX、Y、Z値を使用した等高線図のプロット

import plotly.graph_objects as grob
 
fig = grob.Figure(data =
    grob.Contour(
 
        z=[[10, 10.625, 12.5, 15.625, 20],
           [5.625, 6.25, 8.125, 11.25, 15.625],
           [2.5, 3.125, 5., 8.125, 12.5],
           [0.625, 1.25, 3.125, 6.25, 10.625],
           [0, 0.625, 2.5, 5.625, 10]],
 
        x=[-3, -2, -1, 0, 1], # horizontal axis
        y=[0, 1, 3, 4, 5] # vertical axis
    ))
fig.show()

出力:

Plotly-coordinates_xyz.png

ここで、z関数は前の例と同様の座標配列です。Numpyインポートパッケージを使用すると、等高線図にさらに複雑なデータを使用できます。次の例では、z関数の三角恒等式をどのように配置できるかを観察します。

Numpyを使用した等高線図

import plotly.graph_objects as grob
import numpy as nump
 
# variables are initialised with x,y co-ordinates
cordof_x = nump.arange(0, 23, 0.5)
cordof_y = nump.arange(0, 46, 0.3)
 
# A mesh is created with the given co-ordinates by this numpy function
[X, Y] = nump.meshgrid(cordof_x, cordof_y)
 
contour_function = nump.cos(X*(1/8)) + nump.sin(Y*(1/16))
 
contour_plot = grob.Figure(data =
    grob.Contour(x = cordof_x, y = cordof_y, z = contour_function))
 
contour_plot.show()

出力:

Plotly-numpy-plot.png

上記の例で、基本的な等高線図がどのように作成されるかが完全に明らかになることが期待されます。これまで、等高線図の入力とz関数を作成するさまざまな方法を学びました。次に、等高線図のスタイリングの側面に取り組みます。

プロット等高線プロットのカスタマイズ

記事のこのセクションでは、主に等高線図のフロントエンドの側面または単にスタイリングの側面について説明します。

プロットの色とスケールの設定

z関数に初期化された座標配列があるプログラムの例を見てみましょう。さて、等高線図で、カスタムスケールでプロットを表現したい場合は、次の方法でそれを行うことができます。

dx=40,
x0=10,
dy=10,
y0=20,

スケールを設定したら、プロットのテーマ変更するとします。私たちはそれを行うことができます:

colorscale='hot',

また

colorscale='electric',

最後の仕上げとして、プロットにカラースケール追加することもできます。それは次の方法で行うことができます。

contours=dict(
            start=0,
            end=14,
            size=2,
        ),

すべてをプログラムに入れて、それがどのように機能するかを観察しましょう。

import plotly.graph_objects as grob
 
grid_fig = grob.Figure(data =
    grob.Contour(
        z=[[10, 10.625, 12.5, 15.625, 20],
           [5.625, 6.25, 8.125, 11.25, 15.625],
           [2.5, 3.125, 5., 8.125, 12.5],
           [0.625, 1.25, 3.125, 6.25, 10.625],
           [0, 0.625, 2.5, 5.625, 10]],
        dx=40,
        x0=10,
        dy=10,
        y0=20,
        colorscale='electric',
        contours=dict(
            start=0,
            end=14,
            size=2,
        ),
     ))
 
grid_fig.show()

出力:

plotly-custom_plot.png

高度な等高線図の作成

これまで、Plotlyを使用した等高線図の基本的な側面について学習してきました。これまでに学んだことをすべてまとめて、高度な等高線図を作成し、実際のアプリケーション用に作成された等高線図がどのようになっているのかを理解できるようにします。

以下のコード:

import numpy as np
import math
import plotly.graph_objects as grob
 
 
x = np.linspace(-np.pi, np.pi, num=80)
y = x
def pf(a, b):
    return math.sin(b) / (1 + a**2)
f = np.empty((len(x), len(y)))
 
for i in range(len(x)):
    for j in range(len(y)):
        f[i,j] = pf(x[i], y[j])
 
grid_fig = grob.Figure()
grid_fig.add_trace(grob.Contour(z=f, x=x, y=y,
                         contours_coloring='lines',
                         line_width=1.5,
                         contours={"showlabels":True,
                                   "labelfont":{"size":10,
                                                "color":'red'}}))
 
grid_fig.update_layout(
 
{   "title": {"text": "<b>Advanced Contour Plot</b>", "x": 0.5, "y": 0.9, "font": {"size": 14} },
    "showlegend": True,
    "xaxis": {"title": "scale of x ----------------------->", "showticklabels":True, "dtick": 1},
    "yaxis": {"title": "scale of y ------------>", "showticklabels": True, "dtick": 1},
    "autosize":False,
    "width":1200,
    "height":600})
 
grid_fig.show()

出力:

Plotly-advanced_plot.png

結論

この記事では、Plotlyの基本的な概念と、必要に応じてカスタマイズする方法について学びました。入力メソッドに特定の座標値または座標配列の両方を使用する方法と、numpyの統合によって三角関数の等高線図を作成する方法を理解しました。最後に、高度なプロットをコーディングする方法も観察しました。この記事がPlotlyの学習と理解に役立つことを願っています。 

リンク:https//www.askpython.com/python-modules/plotly-contour-plot

#python 

What is GEEK

Buddha Community

Python用のPlotlyライブラリ

Python用のPlotlyライブラリ

この記事では、Python用のPlotlyライブラリと、魅力的な等高線図を作成するためのさまざまな方法について学習します。各例の詳細なコード分析を使用して、等高線図のさまざまな例を見ていきます。また、等高線図をカスタマイズするための複数の方法を学習します。それでは、基本から始めましょう。

等高線図とは何ですか?

plotlybasic-plot.png

等高線は、ジョイントとカーブを備えた3次元サーフェスの2次元描写です。これは、2つの変数(X軸とY軸の座標)の関数である等高線関数(Z)を使用して描画されます。

Plotlyライブラリとは何ですか?

Plotlyは、チャートやグラフをプロットするためのさまざまなデータ視覚化ライブラリを提供しています。膨大な数のプロットライブラリと、さまざまな種類のグラフを作成するための専用ツールから選択できます。この記事では、ほとんどの場合、単一のインポートパッケージと単一のプロット関数のみを使用します。これが、Plotlyの使用中に得られる使いやすさです。

Plotlyのインストール

システムにPlotlyをインストールするには、次のコマンドを入力します。

Pip install plotly==5.5.0 

Plotlyを使用した等高線図の作成

Plotlyを使用してこれらの等高線図の作成に取り掛かりましょう。

基本的な等高線図

まず、Plotlyを使用して単純な等高線図をプロットします。最初に必要なのは、インポートライブラリです。

以下インポートパッケージ は、ほとんどの作業を実行するユニバーサルPlotly構文のようなものです。

import plotly.graph_objects as grob

等高線関数をプロット

等高線関数は、初期化されたデータを使用してプロットを作成します。x、y座標とz関数を提供する必要があります。

等高線図を作成するには、データの初期化と等高線関数を使用したオブジェクトの作成の2つの部分があり、両方を行うには複数の異なる方法があり、すべての方法が等高線に影響します。簡単にするために、座標が変数「data」で初期化されていると仮定しましょう。

以下に示すように、コードは、等高線のz関数のデータの値を取得するようにコンパイラーに指示します。

grid_fig = grob.Figure(data =
    grob.Contour(z = data))

すべての方法を理解するために、いくつかのプログラム例を見てみましょう。

z関数として座標配列を使用した等高線図のプロット:


import plotly.graph_objects as grob
 
# This 5X5 matrix stores the coordinate values required for z function
data = [[6, 4, 5, 5, 6],
    [1, 5, 5, 4, 6],
    [5, 4, 4, 6, 4],
    [7, 8, 4, 3, 3]]
 
grid_fig = grob.Figure(data =
    grob.Contour(z = data))
 
grid_fig.show()

出力:

plotlybasic-plot.png

特定のX、Y、Z値を使用した等高線図のプロット

import plotly.graph_objects as grob
 
fig = grob.Figure(data =
    grob.Contour(
 
        z=[[10, 10.625, 12.5, 15.625, 20],
           [5.625, 6.25, 8.125, 11.25, 15.625],
           [2.5, 3.125, 5., 8.125, 12.5],
           [0.625, 1.25, 3.125, 6.25, 10.625],
           [0, 0.625, 2.5, 5.625, 10]],
 
        x=[-3, -2, -1, 0, 1], # horizontal axis
        y=[0, 1, 3, 4, 5] # vertical axis
    ))
fig.show()

出力:

Plotly-coordinates_xyz.png

ここで、z関数は前の例と同様の座標配列です。Numpyインポートパッケージを使用すると、等高線図にさらに複雑なデータを使用できます。次の例では、z関数の三角恒等式をどのように配置できるかを観察します。

Numpyを使用した等高線図

import plotly.graph_objects as grob
import numpy as nump
 
# variables are initialised with x,y co-ordinates
cordof_x = nump.arange(0, 23, 0.5)
cordof_y = nump.arange(0, 46, 0.3)
 
# A mesh is created with the given co-ordinates by this numpy function
[X, Y] = nump.meshgrid(cordof_x, cordof_y)
 
contour_function = nump.cos(X*(1/8)) + nump.sin(Y*(1/16))
 
contour_plot = grob.Figure(data =
    grob.Contour(x = cordof_x, y = cordof_y, z = contour_function))
 
contour_plot.show()

出力:

Plotly-numpy-plot.png

上記の例で、基本的な等高線図がどのように作成されるかが完全に明らかになることが期待されます。これまで、等高線図の入力とz関数を作成するさまざまな方法を学びました。次に、等高線図のスタイリングの側面に取り組みます。

プロット等高線プロットのカスタマイズ

記事のこのセクションでは、主に等高線図のフロントエンドの側面または単にスタイリングの側面について説明します。

プロットの色とスケールの設定

z関数に初期化された座標配列があるプログラムの例を見てみましょう。さて、等高線図で、カスタムスケールでプロットを表現したい場合は、次の方法でそれを行うことができます。

dx=40,
x0=10,
dy=10,
y0=20,

スケールを設定したら、プロットのテーマ変更するとします。私たちはそれを行うことができます:

colorscale='hot',

また

colorscale='electric',

最後の仕上げとして、プロットにカラースケール追加することもできます。それは次の方法で行うことができます。

contours=dict(
            start=0,
            end=14,
            size=2,
        ),

すべてをプログラムに入れて、それがどのように機能するかを観察しましょう。

import plotly.graph_objects as grob
 
grid_fig = grob.Figure(data =
    grob.Contour(
        z=[[10, 10.625, 12.5, 15.625, 20],
           [5.625, 6.25, 8.125, 11.25, 15.625],
           [2.5, 3.125, 5., 8.125, 12.5],
           [0.625, 1.25, 3.125, 6.25, 10.625],
           [0, 0.625, 2.5, 5.625, 10]],
        dx=40,
        x0=10,
        dy=10,
        y0=20,
        colorscale='electric',
        contours=dict(
            start=0,
            end=14,
            size=2,
        ),
     ))
 
grid_fig.show()

出力:

plotly-custom_plot.png

高度な等高線図の作成

これまで、Plotlyを使用した等高線図の基本的な側面について学習してきました。これまでに学んだことをすべてまとめて、高度な等高線図を作成し、実際のアプリケーション用に作成された等高線図がどのようになっているのかを理解できるようにします。

以下のコード:

import numpy as np
import math
import plotly.graph_objects as grob
 
 
x = np.linspace(-np.pi, np.pi, num=80)
y = x
def pf(a, b):
    return math.sin(b) / (1 + a**2)
f = np.empty((len(x), len(y)))
 
for i in range(len(x)):
    for j in range(len(y)):
        f[i,j] = pf(x[i], y[j])
 
grid_fig = grob.Figure()
grid_fig.add_trace(grob.Contour(z=f, x=x, y=y,
                         contours_coloring='lines',
                         line_width=1.5,
                         contours={"showlabels":True,
                                   "labelfont":{"size":10,
                                                "color":'red'}}))
 
grid_fig.update_layout(
 
{   "title": {"text": "<b>Advanced Contour Plot</b>", "x": 0.5, "y": 0.9, "font": {"size": 14} },
    "showlegend": True,
    "xaxis": {"title": "scale of x ----------------------->", "showticklabels":True, "dtick": 1},
    "yaxis": {"title": "scale of y ------------>", "showticklabels": True, "dtick": 1},
    "autosize":False,
    "width":1200,
    "height":600})
 
grid_fig.show()

出力:

Plotly-advanced_plot.png

結論

この記事では、Plotlyの基本的な概念と、必要に応じてカスタマイズする方法について学びました。入力メソッドに特定の座標値または座標配列の両方を使用する方法と、numpyの統合によって三角関数の等高線図を作成する方法を理解しました。最後に、高度なプロットをコーディングする方法も観察しました。この記事がPlotlyの学習と理解に役立つことを願っています。 

リンク:https//www.askpython.com/python-modules/plotly-contour-plot

#python