2016-09-30 2 views
2

centerプロパティを変更してmatplotlib.patches.Wedgeの位置をシフトしようとしていますが、効果がないようです。例えばウェッジパッチの位置が更新されない

import matplotlib.pyplot as plt 
import matplotlib.patches as patches 

fig = plt.figure() 
ax = fig.add_subplot(111) 

tmp = patches.Wedge([2, 2], 3, 0, 180) 
ax.add_artist(tmp) 
tmp.center = [4, 4] # Try to move! 

ax.set_xlim([0, 10]) 
ax.set_ylim([0, 10]) 
print(tmp.center) 
plt.show() 

には、次のものが生成されます明らかに間違っている

sad

を。微細matplotlib.patches.Ellipseため

同様のアプローチ機能:

ellip

import matplotlib.pyplot as plt 
import matplotlib.patches as patches 

fig = plt.figure() 
ax = fig.add_subplot(111) 

tmp = patches.Ellipse([2, 2], 2, 2) 
ax.add_artist(tmp) 
tmp.center = [4, 4] # Try to move! 

ax.set_xlim([0, 10]) 
ax.set_ylim([0, 10]) 
print(tmp.center) 
plt.show() 
そして matplotlib.patches.Rectanglexyから centerからの変更を伴う)

import matplotlib.pyplot as plt 
import matplotlib.patches as patches 

fig = plt.figure() 
ax = fig.add_subplot(111) 

tmp = patches.Rectangle([2, 2], 3, 2) 
ax.add_artist(tmp) 
tmp.xy = [4, 4] # Try to move! 

ax.set_xlim([0, 10]) 
ax.set_ylim([0, 10]) 
print(tmp.xy) 
plt.show() 

rect

centerではなくWedgexyであると考えていましたが、Wedgeオブジェクトにはxyという属性がありません。私はここで何が欠けていますか?

答えて

1

は、あなたはおそらく、あなたのWedgeの性質updateに持っている:

ご覧のとおり
tmp.update({'center': [4,4]}) 

は、この方法は、更新するプロパティを指定辞書を受け入れます。

result

関連する問題