matlab - टिक्स को प्रभावित किए बिना और अक्षरों को चिह्नित किए बिना केवल धुरी रेखा निकालें




plot line (3)

R2014b से पहले Matlab संस्करणों का समाधान

आप एक नया सफेद बाउंडिंग बॉक्स पेश कर सकते हैं और इसे शीर्ष पर डाल सकते हैं।

// example data
x = linspace(-4,4,100);
y = 16 - x.^2;

plot(x,y); hold on
ax1 = gca;
set(ax1,'box','off')  %// here you can basically decide whether you like ticks on
                      %// top and on the right side or not

%// new white bounding box on top
ax2 = axes('Position', get(ax1, 'Position'),'Color','none');
set(ax2,'XTick',[],'YTick',[],'XColor','w','YColor','w','box','on','layer','top')

%// you can plot more afterwards and it doesn't effect the white box.
plot(ax1,x,-y); hold on
ylim(ax1,[-30,30])

महत्त्वपूर्ण है कि दूसरे अक्षों की टिक्क को निष्क्रिय करने के लिए, एफ रस्सी के एक टुकड़े को रखने के लिए

लुइस मेंडो के समाधान में, प्लॉट दी गई रेखाें तय की जाती हैं और यदि आप बाद में कुल्हाड़ियों के गुणों को बदलते हैं तो उनकी प्रारंभिक स्थिति में रहें। यह यहाँ नहीं होगा, वे नई सीमाओं में समायोजित हो जाते हैं प्रत्येक कमांड के लिए सही संभाल का उपयोग करें और वहां ज्यादा समस्याएं नहीं होंगी।

दान का समाधान आसान है, लेकिन R2014b से पहले Matlab संस्करणों के लिए आवेदन नहीं करता है

क्या टेटों को प्रभावित किए बिना और लेबलों को चिह्नित किए बिना, केवल Matlab आकृति में अक्ष अक्षरों को निकालने का एक तरीका है

मुझे पता है कि box ऊपरी और सही अक्षरेखा लाइनों और टिक्स को टॉगल करता है और यह मेरे लिए पूरी तरह से काम करता है
लेकिन मेरी समस्या यह है कि मैं नीचे और बायां लाइनों को खत्म करना चाहता हूँ (केवल लाइनें!), लेकिन टिक टिकें और लेबल टिकें

कोई चाल?


आप उन पर एक सफेद रेखा की साजिश रचने से अक्ष लाइनों को "मिटा" सकते हैं:

plot(1:4,1:4) %// example plot

box off %// remove outer border
hold on
a = axis; %// get axis size
plot([a(1) a(2)],[a(3) a(3)],'w'); %// plot white line over x axis
plot([a(1) a(1)],[a(3) a(4)],'w'); %// plot white line over y axis

परिणाम:

जैसा कि @ सरदार यूस्मा ने हाल ही में Matlab संस्करणों में बताया है, आपको अक्षों को कवर करने के लिए लाइन चौड़ाई समायोजित करने की आवश्यकता हो सकती है:

plot(1:4,1:4) %// example plot

box off %// remove outer border
hold on
a = axis; %// get axis size
plot([a(1) a(2)],[a(3) a(3)],'w', 'linewidth', 1.5); %// plot white line over x axis.
                                                     %// Set width manually
plot([a(1) a(1)],[a(3) a(4)],'w', 'linewidth', 1.5); 

शासकों की 'LineStyle' को 'none' द्वारा बदलकर एक अन्य अनुपयोगी तरीका (MATLAB R2014b और बाद के संस्करणों पर लागू) है।

उदाहरण:

figure;
plot(1:4,'o-');  %Plotting some data
pause(0.1);      %Just to make sure that the plot is made before the next step
hAxes = gca;     %Axis handle
%Changing 'LineStyle' to 'none'
hAxes.XRuler.Axle.LineStyle = 'none';  
hAxes.YRuler.Axle.LineStyle = 'none';
%Default 'LineStyle': 'solid', Other possibilities: 'dashed', 'dotted', 'dashdot'

यह दान के जवाब से अलग है जो शासकों की 'दृश्यमान' संपत्ति का उपयोग करता है।





matlab-figure