Matlab绘图编号错误
在Matlab中创建绘图时,会产生以下错误: 我尝试了许多不同的方法来找到问题并解决它。我想我已经确定了原因是因为我使用了多个xlim命令。这是我的密码:Matlab绘图编号错误,matlab,matlab-figure,Matlab,Matlab Figure,在Matlab中创建绘图时,会产生以下错误: 我尝试了许多不同的方法来找到问题并解决它。我想我已经确定了原因是因为我使用了多个xlim命令。这是我的密码: figure plot(datee,[allfile.bytes],'k','LineWidth',1.5); hold on; plot(datee,EMA,'--b','LineWidth',0.75); title(sprintf('File size of %s',[token{1},daten
figure
plot(datee,[allfile.bytes],'k','LineWidth',1.5);
hold on;
plot(datee,EMA,'--b','LineWidth',0.75);
title(sprintf('File size of %s',[token{1},dateno{1},name]));
xlabel('Month/Day');
set(gca, 'YTickLabel', num2str(get(gca,'YTick')'/1024,'%0.0f'));
datetick('x','mm/dd');
ylabel('Bytes in Kb');
plot(xlim,[ulimit ulimit], 'r')
plot(xlim,[ASize{jj} ASize{jj}], 'g')
plot(xlim,[llimit llimit], 'r')
axis tight;
axis 'auto y';
hlegend=legend('File Size','Average/EMA','Upper/Lower limit','Current Size');
set(hlegend,'Location','Best')
我不明白为什么会出现这样的问题。。以及如何解决它!以前有人经历过吗?由于我认为xlim命令是错误的,除了在整个绘图中创建一条实心直线,还有其他选择吗?好的,我不确定为什么会这样做,但我稍微改变了代码顺序:
figure
plot(datee,[allfile.bytes],'k','LineWidth',1.5);
hold on;
plot(datee,EMA,'--b','LineWidth',0.75);
title(sprintf('File size of %s',[token{1},dateno{1},name]));
xlimit = get(gca,'XLim');
plot(xlim,[ulimit ulimit], 'r')
plot(xlim,[ASize{jj} ASize{jj}], 'g')
plot(xlim,[llimit llimit], 'r');
xlabel('Month/Day');
set(gca, 'YTickLabel', num2str(get(gca,'YTick')'/1024,'%0.0f'));
datetick('x','mm/dd')
ylabel('Bytes in Kb');
axis tight;
axis 'auto y';
它不再复制上面的错误。。。我不知道为什么。
如果有人有任何建议/想法,请让我知道,我很好奇。希望这对以后遇到同样问题的人有所帮助。你能发布一个可运行的示例吗?我们没有关于直线问题的变量datee ETC:直线'XData'、[xlim1 xlim2]、'YData'、[y1 y2]、[Color'、'r';其中,xlim是通过getgca获得的,'xlim';y由你决定jj有什么价值?在这一行中:plotxlim,[ASize{jj}ASize{jj}],'g'@Benoit_11 jj是一个介于1和20之间的数字,它在为各种场景绘制图时循环。@AMcNall我明白了。如果替换对plotxlim的调用,。。。用我在上面的评论中写的这条线,它解决了问题吗?可能是xlabel收缩了轴,刚好足以改变Ytick的数量。。