我是octave的新手,我想创建cos(x)和sin(x)的情节。我已经学会了如何改变像xlabel和xlim这样的东西,但是我无法找到如何从数字(例如1,2,3)改为pi术语(-pi,-pi / 2等)。如果您能解释我如何做到这一点,或者至少在哪里搜索解决方案,我将不胜感激。这是我想要做的事情的照片,以防我的英语困惑你。
答案 0 :(得分:3)
在Matlab中你可以这样做:
set(gca,'XTick',-pi:pi/2:pi)
set(gca,'XTickLabel',{'-pi','-pi/2','0','pi/2','pi'})
正如您在此处所见:http://www.mathworks.com/help/matlab/creating_plots/setting-axis-parameters.html
这也适用于Octave。
此外,我还没有对此进行测试,但要获得实际的Pi符号,您可以尝试:
set(gca,'XTickLabel',{'-p','-p/2','0','p/2','p'}, 'fontname','symbol')
否则,您可以尝试查看此Matlab FEX提交是否适合您:http://www.mathworks.com/matlabcentral/fileexchange/15986
答案 1 :(得分:1)
这是一个老话题,但这里有一个带有一些上下文的 Octave 解决方案。
隐藏@Dan 的输入和@Chimalis 的修订,以下脚本适用于 Windows 上的 Octave 4.4.1 和 Linux 上的 5.2.0。请特别注意 xtick、xticks、xticklabel 和 xticklabels 的使用。
x = linspace(-3*pi,3*pi);
figure;
hold on;
subplot(2,1,1);
y = cos(x);
plot(x,y)
ylabel('cosine');
xticks([-3*pi -2*pi -pi 0 pi 2*pi 3*pi]);
xticklabels({'-3\pi','-2\pi','-\pi','0','\pi','2\pi','3\pi'});
yticks([-1 -0.866 -0.707 -0.5 0 0.5 0.707 0.866 1]);
grid on;
sp_h2 = subplot(2,1,2);
z = sin(x);
plot(x,z)
sp_h2_pos = get(sp_h2, 'Position');
sp_h2_pos_new = sp_h2_pos - [0 0 sp_h2_pos(3)/2 0];
set(sp_h2, 'Position', sp_h2_pos_new);
ylabel('sine')
xlim([0 2*pi]);
h=get (gcf, "currentaxes");
set(h,"xtick",0:pi/2:2*pi);
set(h,"xticklabel",['0';'\pi/2';'\pi';'3\pi/2';'2\pi']);
答案 2 :(得分:0)
对于π符号,您只需要写\ pi。
set(gca,'XTick',-pi:pi/2:pi)
set(gca,'XTickLabel',{'-\pi','-\pi/2','0','\pi/2','\pi'})