2017-06-23 9 views
0

この画像に示されている黒色の線のマーカーをどのように生成できるかを知りたいと思います。 (出典:NCEP & NOAA) 標準天気図の嵐やハリケーンのマーカーです。Python(matplotlib)を使用したカスタムマーカー

enter image description here

私はおそらく、マーカーシンボルのイメージファイルを生成することができます。しかし、私はmatplotlibに画像をマーカーとして使用するようにどのように伝えることができるのか分かりません。

答えて

4

マーカーは6のようになります。これが事実である場合は、次のようにマーカーとして6を使用することができます。

import matplotlib.pyplot as plt 

x = [1,2,3,4] 
y = [2,3,1,4] 

plt.scatter(x,y, s= 100,marker="$6$") 

plt.show() 

enter image description here

これはオプションではありません場合は、パスを使用したカスタムマーカーを定義することもできます。このためには、経路の座標を知る必要があります。私は以下のいくつかの価値を発明しました。

import numpy as np 
import matplotlib.pyplot as plt 
import matplotlib.path as mpath 

def get_hurricane(): 
    u = np.array([ [2.444,7.553], 
        [0.513,7.046], 
        [-1.243,5.433], 
        [-2.353,2.975], 
        [-2.578,0.092], 
        [-2.075,-1.795], 
        [-0.336,-2.870], 
        [2.609,-2.016] ]) 
    u[:,0] -= 0.098 
    codes = [1] + [2]*(len(u)-2) + [2] 
    u = np.append(u, -u[::-1], axis=0) 
    codes += codes 

    return mpath.Path(3*u, codes, closed=False) 

hurricane = get_hurricane() 
plt.scatter([1,1,2],[1.4,2.3,2.8], s=350, marker=hurricane, 
      edgecolors="crimson", facecolors='none', linewidth=2) 
plt.scatter([0,1,2],[1,3,1], s=150, marker=hurricane, 
      edgecolors="k", facecolors='none') 
plt.scatter([0,1.8,3],[0,2,4], s=150, marker="o", 
      edgecolors="k", facecolors='none') 

plt.show() 

enter image description here

+0

マーカーは、ハリケーンを示すために使用されます。これは特定のシンボルです。私はシンボルが提案する作品を疑う。 – Kushal

+0

このシンボルの情報はどこにありますか?マーカーの作成を手助けしたい場合は、そのマーカーの外観を何とか定義する必要があります。 – ImportanceOfBeingErnest

+0

申し訳ありません。 [この画像](http://www.opc.ncep.noaa.gov/product_description/ITCZ.jpg)の2番目と3番目の記号は、私が到着したいものです。 – Kushal