Python
 Computer >> コンピューター >  >> プログラミング >> Python

Matplotlibで2つの線分の交点を見つけるにはどうすればよいですか?


Matplotlibで2つの線分の交点を見つけ、その点を水平線と垂直線に通すには、次の手順を実行します-

  • 図のサイズを設定し、サブプロット間およびサブプロットの周囲のパディングを調整します。
  • 勾配を使用して2本の線を作成します(m1、m2) (c1およびc2)をインターセプトします 。勾配と切片の値を初期化します。
  • xを作成します numpyを使用したデータポイント。
  • x、m1、m2、c2をプロット およびc1 plot()を使用したデータポイント メソッド。
  • 切片と勾配値を使用して、交点を見つけます。
  • 水平線と垂直線を点線でプロットします。
  • プロットxi およびyi プロット上のポイント。
  • 図を表示するには、 show()を使用します メソッド。

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

m1, c1 = 0.1, 2.0
m2, c2 = 2.0, -3.0

x = np.linspace(-10, 10, 500)

plt.plot(x, x * m1 + c1, 'red')
plt.plot(x, x * m2 + c2, 'green')

plt.xlim(-2, 8)
plt.ylim(-2, 8)

xi = (c1 - c2) / (m2 - m1)
yi = m1 * xi + c1

plt.axvline(x=xi, color='gray', linestyle='--')
plt.axhline(y=yi, color='gray', linestyle='--')

plt.scatter(xi, yi, color='black')

plt.show()

出力

Matplotlibで2つの線分の交点を見つけるにはどうすればよいですか?


  1. Matplotlibでハッチの線幅を変更するにはどうすればよいですか?

    matplotlibでハッチの線幅を変更するには、paramsでハッチの線幅を設定できます。 ステップ 図のサイズを設定し、サブプロット間およびサブプロットの周囲のパディングを調整します。 xを作成します およびy=sin(x) numpyを使用したデータポイント。 プロットのハッチの線幅を設定します。 scatter()を使用してxおよびyデータポイントをプロットします 線幅が設定された「/」ハッチを持つ正方形のマーカーを使用する方法。 図を表示するには、 show()を使用します メソッド。 例 import numpy as np from matplotlib import

  2. Matplotlibで2つのヒストグラムのビン幅を同じにする方法は?

    同じビン幅を持つ2つのヒストグラムを作成するために、一連のデータのヒストグラムを計算できます。 ステップ ランダムデータaと正規分布bを作成します。 同じビン幅の変数binsを初期化します。 hist()を使用してaとbinをプロットします メソッド。 hist()を使用してbとビンをプロットします メソッド。 図を表示するには、 show()を使用します メソッド。 例 import numpy as np from matplotlib import pyplot as plt plt.rcParams["figure.figsize&quo