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

Matplotlibでぼやけたポイントをプロットする方法は?


matplotlibでぼやけたポイントをプロットするには、次の手順を実行できます-

  • 図のサイズを設定し、サブプロット間およびサブプロットの周囲のパディングを調整します。

  • 新しいフィギュアを作成するか、既存の新しいフィギュアをアクティブにします。

  • ax1を追加します サブプロットの配置の一部として図に。

  • まず、マーカーを作成します。つまり、ぼかします。

  • X軸とY軸のスケールを設定し、軸をオフにします。

  • マーカーをファイルに保存し、ぼかした後にプロットする画像をロードします。

  • 前の図、 fig1を閉じます 。

  • 新しいフィギュアを作成するか、既存のフィギュアをアクティブにします。 fig2

  • ランダムなデータポイントxとyを作成します。

  • ガウスフィルターを適用し、ぼかしを作成するには、現在の軸にそのアーティストを追加します。

  • ax2でX軸とY軸のスケールを設定します 。

  • 図を表示するには、 show()を使用します メソッド。

import matplotlib.pyplot as plt
from scipy import ndimage
from matplotlib.image import BboxImage
from matplotlib.transforms import Bbox, TransformedBbox
import numpy as np

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

fig1 = plt.figure()
ax1 = fig1.add_subplot(111)
ax1.plot(0.5, 0.5, 'd', ms=200)
ax1.set_ylim(0, 1)
ax1.set_xlim(0, 1)
plt.axis('off')
fig1.savefig('marker.png')

marker = plt.imread('marker.png')
plt.close(fig1)

fig2 = plt.figure()
ax2 = fig2.add_subplot(111)

x = 8 * np.random.rand(10) + 1
y = 8 * np.random.rand(10) + 1

sigma = np.arange(10, 60, 5)

for xi, yi, sigmai in zip(x, y, sigma):
   markerBlur = ndimage.gaussian_filter(marker, sigmai)
   bb = Bbox.from_bounds(xi, yi, 1, 1)
   bb2 = TransformedBbox(bb, ax2.transData)
   bbox_image = BboxImage(bb2,norm=None,origin=None, clip_on=False)
   bbox_image.set_data(markerBlur)
   ax2.add_artist(bbox_image)

ax2.set_xlim(0, 10)
ax2.set_ylim(0, 10)

plt.show()

出力

Matplotlibでぼやけたポイントをプロットする方法は?


  1. Matplotlibで3D軸に点をプロットする方法は?

    Matplotlibで3D軸に点をプロットするには、次の手順を実行できます- 図のサイズを設定し、サブプロット間およびサブプロットの周囲のパディングを調整します。 figure()を使用して、新しいフィギュアを作成するか、既存のフィギュアをアクティブにします メソッド。 3D投影を使用して、サブプロット配置の一部として図に軸を追加します。 3D軸に点をプロットするには、 scatter()を使用します メソッド。 図を表示するには、 show()を使用します メソッド。 例 from matplotlib import pyplot as plt plt.

  2. Python Matplotlibを使用して3Dグラフをプロットする方法は?

    Pythonを使用して3Dグラフをプロットするには、次の手順を実行できます- figure()を使用して、新しいフィギュアを作成するか、既存のフィギュアをアクティブにします メソッド。 3D軸オブジェクトを取得します。 データポイントのx、y、zリストを作成します。 scatter3D()を使用して3D散布点を追加します メソッド、x、y、zデータポイント、 markersize =150 およびma​​rker=diamond 。 図を表示するには、 show()を使用します メソッド。 例 from mpl_toolkits.mplot3d imp