2016-03-22 25 views
1

Şu an, şekil I çiziminin tamamı, aşağıda gösterildiği gibi gösterilmektedir; bu, yakınlaştırılan kısım ile orijinal parça arasında ayrım yapılmasını sağlar. enter image description hereAna eksenleri saydam yapmak için, transparent_inset_axes matplolib içinde saydam olmamak üzere,

Başka bir şey, yakınlaştırılmış bölümün konumunun "loc" anahtar kelimesinin yalnızca 1, ... 9, 9 seçeneklerine sahip olması, örneğin tercih ettiğim yeri belirtebilir miyim, örneğin koordinat kullanarak mı?

axins = zoomed_inset_axes(ax, 3, loc=5) # zoom = 6 

Basit bir kod, değişiklik amacınızı yazdım.

from pylab import * 
import re 
rc('font',family='Arial') 
matplotlib.rc('legend', fontsize=24) 

from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes 
from mpl_toolkits.axes_grid1.inset_locator import mark_inset 
font = {'family' : 'Arial', 
    'weight' : 'normal', 
    'size' : 24} 
fig = figure(figsize=(8,8)) 
fig.set_alpha(0.0) 
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) 
x=[0,1] 
y=[0,1] 
plot(x,y) 
axins = zoomed_inset_axes(ax, 3, loc=5) # zoom = 6 

axins.plot(x,y) 


# sub region of the original image 
x1, x2, y1, y2 = 0.3, 0.4, 0.3,0.4 
axins.set_xlim(x1, x2) 
axins.set_ylim(y1, y2) 

plt.xticks(visible=False) 
plt.yticks(visible=False) 

# draw a bbox of the region of the inset axes in the parent axes and 
# connecting lines between the bbox and the inset axes area 
mark_inset(ax, axins, loc1=2, loc2=3, fc="none", ec="0.5") 

plt.draw() 
plt.show() 
fig.savefig('1.png', transparent=True) 

Bu basit kodun şeması aşağıdadır. enter image description here

+0

Bu soruyu yanıtlamak, üzerinde çalışmamız için kendimize en az bir örnek vermeniz çok daha kolay olurdu. –

+0

Teşekkürler, örnek kod eklendi ^^ – user3737702

cevap

1

Sadece savefig çağrınızda önce yürütün:

fig.patch.set_alpha(0) 
ax.patch.set_alpha(0) 
axins.patch.set_alpha(1) 
axins.patch.set_facecolor('#909090') 

Bu uzaklaştırdınız eksenlerinin figür arka plan şeffaf, hem de o ana eksenleri, ancak yapacaktır. seçeneğini transparent=True numaralı telefondan aramamaya dikkat edin; çünkü bu, tüm arka planları kaldıracaktır. Bu aramaya yalnızca savefig için varsayılan olan transparent=False'u ayarlayın.

+0

Çalışır, yakınlaştırılmış bölümün konumu hakkında, "loc" anahtar kelimesi sadece 1, ... 9, 9 seçeneklerine sahiptir, tercih ettiğim yeri, koordinat kullanarak belirtebilir miyim? – user3737702

+0

Ah, bunu okuyun (her sorunun yalnızca * bir * özel soruna sınırlanması daha iyidir, özellikle de bu sorun başlıkta belirtilirse ;-)). Kod bakmak, hayır hala 'zoom_inset_axes' işlevini kullanırken mümkün değildir. Davranışı, başka bir eksen oluşturarak, kendiniz konumlandırarak ve buna "AnchoredZoomLocator" ekleyerek yineleyebilirsiniz. Daha fazla yardıma ihtiyacınız varsa, yeni bir soru açmanızı öneririm, çünkü bu bir yorumda açıklamak için çok uzun olacaktır. –

+0

Elbette, çok güzelsin! – user3737702