matlab

2013-03-21 54 views
15

üzerinde bırakılan kutuyla yalnızca üst ve sağ keneleri kaldırın Matlab şekilinde, keneleri yalnızca çizim kutusunun üzerinde tutarak sağ ve üstteki eksenleri kaldırmak istiyorum.matlab

Eğer çizim kutusunu kapatırsam, üstteki ve sağdaki keneler kaybolur. Ama istediğim bu değil. Diğer bir deyişle, sadece altta ve solda keneler tutmak ve aynı zamanda arsa kutusunu tutmak istiyorum.

+2

sadece güzel yapamaz şeylerden Bu seferki. Hilelere başvurmalısın. Bağlantılı x ekseni ve her iki tarafta iki ayrı y ekseni bulunan bir diğerinde iki eksen elde etmeye çalışıyorsanız, en kolay yaklaşım her iki ekseni de 'kutu kapalı' olarak ayarlamaktır. Daha sonra, ikinci eksenlerin x-eksenini yukarı doğru hareket ettirin, kene ve eksen etiketlerini kaldırın ve görüntüyü güzelce kapatacaktır. –

+0

Çalıştı. Teşekkürler! Kodu güzelce düzenleyemedim ama kodu aşağıya koydum. şekil lw = 2; x = 0: 5: 10; arsa (x, x) a1 = gca; set (a1, 'box', 'off', 'tickdir', 'out', 'xticklabel', {}, 'yticklabel', {}, ... 'linewidth', lw, 'Xtick', [ 0: 5: 10], 'ytick', [0: 5: 10]) aks kare a2 = copyobj (a1, gcf); set (a2, 'color', 'none', 'xaxislocation', 'top', 'yaxislocation', 'right', 'xtick', [], 'ytick', []) –

cevap

9

Benim geçici çözüm önermeyi @j_kubik için:

plot(1:10) 
% get handle to current axes 
a = gca; 
% set box property to off and remove background color 
set(a,'box','off','color','none') 
% create new, empty axes with box but without ticks 
b = axes('Position',get(a,'Position'),'box','on','xtick',[],'ytick',[]); 
% set original axes as active 
axes(a) 
% link axes in case of zooming 
linkaxes([a b]) 
+0

Linkax'ları bilmiyordum. Bu bir gelişme. Teşekkürler!! –

+0

Güncelleme: Matlab 2014 ve sonrası için, 'linkaxes' ile 'linkprop' yerine –

+0

@ CarlWitthoft' linkaxes '' in hala 2014 yılında geçerli olduğunu düşünüyorum. 'Linkprop ([a b]) 'yi çağırmak, – Delyle

1

Onayları kaldırmak için box off tuşlarını kullanın ve sonra kutuyu kullanarak kutuyu geri çekin. Örneğin: benzer

figure 
hold on 
box off 
plot(1:10) 
plot([1,10],[10, 10],'k') 
plot([10,10],[1,10],'k') 
+0

Öneriniz için teşekkürler. Bunu denedim. Ama dilediğim kadar iyi çalışmıyor. Kenar çizgisini daha kalın olarak ayarladığımda 3 deyin, sonra çizilen kutu için aynı çizgi genişliğini kullanmama rağmen, üstte ve sağda çizilen çizgiler (arsa ile çizilmiş olanlar) eksenlerden daha ince (sol ve altta çizgiler) görünüyor. arsa ve eksenler. –