在MATLAB中绘制图形时,我发现包含坐标轴的黑色框的部分缺失(左侧和底部):
我尝试了以下操作:
![enter image description here](https://istack.dev59.com/mNHJj.webp)
box off
box on
无法成功执行命令。你知道我该怎么做才能在坐标轴上得到相应的黑色线吗?
注意:
我正在使用OpenGL渲染器:
set(0,'DefaultFigureRenderer','opengl');
看起来您在使用OpenGL渲染器时遇到了问题:
请告诉我们您创建此图形的具体步骤。
OpenGL 渲染器
上。我在我的 startup
文件中有这行代码: set(0,'DefaultFigureRenderer','opengl');
我一直认为如果你的硬件支持它,OpenGL 是更好的选择。除了像我刚遇到的这个问题之外,是否使用它还有任何不适当的理由? - Amelio Vazquez-Reina尝试稍微增加坐标轴的线宽:
set(gca, 'LineWidth', 1.2)
此外,从硬件(默认)切换到软件渲染可能会解决该问题:
opengl software
然而,这样做可能会有缺点。例如,增加行宽会改变所有轴线,包括刻度线。
作为一个完美主义者,这个 bug 困扰了我多年!这是似乎可行的解决方法,MATLAB R2013a:
set(0,'DefaultFigureRenderer','zbuffer')
在绘图之前和之后,我添加一个框:
axes(handles.MyAxes);
cla;
hold off;
box on;
hold on;
% 进行绘图...
% scatter(...);
% plot(...);
% ...
box on;
我还注意到,如果第一个命令是plot
,那么错误可能仍然存在。在这种情况下,我使用白色(使其不可见)使用scatter
绘制单个点,然后使用plot
。也就是说,scatter(x(1),y(1),1,'MarkerEdgeColor','w','MarkerFaceColor','w')
,然后plot(x,y,...)
。
我的答案实际上是关于在GUIDE图中绘制时缺失盒线的问题。当我使用常规的figure()
和plot(...)
命令时,从未遇到过这个问题。
希望能有所帮助!
alpha
函数来设置透明度吗?我注意到这个命令会导致坐标轴消失。 - yuk