对于MATLAB用户,我有一个非常简单的问题:
如果我使用load命令加载图形文件(.fig),有没有办法从命令行更改绘制的线属性?(宽度,颜色,标记等)
PD:根据" 定义绘图线条颜色"中的信息,前两个选项在此页面上...仅在使用plot命令时才起作用.显然,如果加载数字,它们就没用了.
如果f是数字句柄,我想像plot3(..)我一样使用它plot(..),但这不起作用:
>> plot3(f, t, real(Y), imag(Y))
Error using plot3
Vectors must be the same lengths.
Run Code Online (Sandbox Code Playgroud)
然后我发现这样做的方法是:
首先使相关数字变为现实.
然后使用该plot3(..)功能.
我可以找到当前数字正在使用的内容gcf,但是如何使数字变为当前数字(通过其句柄)?
我想用相同的图创建一个带有双X轴(m/s和km/h)的Matlab图形.
我发现了plotyy和 - 在Matlab的重复性 - plotyyy,但我正在寻找:
我的代码非常简单:
stem(M(:, 1) .* 3.6, M(:, 3));
grid on
xlabel('Speed (km/h)');
ylabel('Samples');
Run Code Online (Sandbox Code Playgroud)
M(:, 1)是速度(以m/s为单位),M(:, 3)是数据.
我想在底部只有第二条线,速度以m/s为单位.
是否可以在特定位置的给定图形上创建数据光标,然后将其他图形中的其他光标链接到它?(不是子图)
目标是当我手动移动这些光标之一的位置时,每个其他图中的所有其他数据光标移动到与其平行的相同位置(假设所有图形具有相同的大小).
考虑以下MATLAB代码:
text(0, 0, 'factory');
xlim([-1, 1]);
ylim([-1, 1]);
Run Code Online (Sandbox Code Playgroud)
预期的目标是在其中加上一个带有"factory"字样的图形.没有字出现.现在用任何其他单词替换"factory"一词,上面的代码按预期工作.这已经过MATLAB 2017b和2015b的测试
有谁知道这里发生了什么?
我正在用MATLAB绘制一些数据,我想调整轴标签和轴本身之间的距离.但是,只需在标签的"位置"属性中添加一个位就会使标签移出图形窗口.是否有"保证金"财产或类似的东西?

在上图中,我想增加数字与标签"Time(s)"之间的距离,同时自动扩展数字大小,使标签不会移出界限.
这就是我设置图形/轴的方式.
figure;
set(gca, ...
'Box' , 'off' , ...
'LooseInset' , get(gca, 'TightInset') * 1.5 , ...
'TickDir' , 'in' , ...
'XMinorTick' , 'off' , ...
'YMinorTick' , 'off' , ...
'TickLength' , [.02 .02] , ...
'LineWidth' , 1 , ...
'XGrid' , 'off' , ...
'YGrid' , 'off' , ...
'FontSize' , 18 );
Run Code Online (Sandbox Code Playgroud) 我希望quiver3MATLAB中的每个箭头的颜色对应于每个箭头的大小.有没有办法做到这一点?
我在网上看到了一些能够为2D做到这一点的例子quiver,但是它们都不适用于3D变体quiver3.
我有以下情节,并希望用与其大小相对应的颜色替换蓝色箭头.

安装R2018b后,我打开的第一个数字包含一条有趣的消息(以蓝色显示):
它之所以有趣,是因为它包含文本换行,透明度等功能,即使文本调整大小,图像也保持恒定宽度(这让我想起了CSS3 flexbox,因此标签)等等.
动画的最后一部分是慢动作,以更好地显示div的大小如何跟随图形的大小.
如果重要,我正在使用Win 10 v1803.
我想知道我们如何可以得出类似的,定制的,申报单(对于缺乏一个更好的词)在我们的数字.(重要的是要强调这不是一个UIFigure!)
到目前为止我发现了什么:
" 了解更多"链接打开页面:
web(fullfile(docroot, 'matlab/creating_plots/interactively-explore-plotted-data.html'))
Run Code Online (Sandbox Code Playgroud)
然而,任何一个web或docroot(或偶数doc)的入口点的断点都没有被击中.
假设这个元素是Child图中的一个,我试图找到它的句柄:
>> set(gcf,'MenuBar','none'); findall(gcf)
ans =
22×1 graphics array:
Figure (1)
ContextMenu
AnnotationPane
Axes
AxesToolbar
Text
Text
Text
ToolbarStateButton (Brush/Select Data)
ToolbarStateButton (Data Tips)
ToolbarStateButton (Rotate 3-D)
ToolbarStateButton (Pan)
ToolbarStateButton (Zoom In)
ToolbarStateButton (Zoom Out)
ToolbarPushButton (Restore View)
Button
Button
Button
Button
Button
Button
Button
Run Code Online (Sandbox Code Playgroud)
然而,使这些控件不可见使用set(h(2:end), 'Visible', …
matlab undocumented-behavior flexbox matlab-figure matlab-gui
我对Matlab很新,并且有一些问题.我在同一个图中有两个表面和一个平面.我想为b使用不同的colormap和colorbar,为c使用另一个colormap和colorbar.s是固定颜色,所以这不是问题.
让我试着解释一下我想要实现的目标:
cmap1 = colormap(topobathy) - > cmap1是64x3双倍的预期
cmap2 =颜色表(redwhitegreen)
使用cmap1创建cdata1(这是我无法弄清楚的第一部分,如何使用cmap1扩展z数据,默认情况下CData包含z值)
B =冲浪(X,Y,Z,cdata1)
使用z值的b的colorbar
c = pcolor(x,y,(z-z0)) - 我想在这个中使用cmap2.
使用(z-z0)值的c的colorbar
这是我到目前为止所遇到的问题
b=surf(x,y,z);
colormap(topobathy);
cbar1=colorbar;
set(get(cbar1,'ylabel'),'String', 'Elevation (m)', 'Rotation', 90)
hold on;
s=surf(x,y,z1,'FaceColor',[0.278 0.788 0.788])
hold on;
change=z-z0;
c=pcolor(x,y,change)
set(c,'ZData',100 + 0*change); %plotting it above the other surfaces
colormap(redwhitegreen)`
Run Code Online (Sandbox Code Playgroud)
此时,colormap设置为redwhitegreen为b,colorbar为b我无法获得第二个带有自己攀爬的colorbar等.
我在此链接中使用了freezeColors和cbfreeze:http: //blogs.mathworks.com/pick/2009/07/24/using-multiple-colormaps-in-a-single-figure/
但有一件事是在弄乱另一件事(可能都是我的错).我想学习如何在不使用外部m文件的情况下完全控制我的对象.
任何帮助表示赞赏.
我有一些用Matlab编写的程序,由于某些原因我需要运行几次(调试,使用不同的输入进行测试等等)
但是,有很多图形由程序及其各种函数绘制,因此每次运行程序时,我都要等待所有图形显示,这非常烦人且耗时(特别是当你是使用小型笔记本电脑).程序执行后,我用a关闭它们close all.
所以我的问题是:
有没有办法在Matlab中禁用所有绘图/图形/图形?在选项中,或通过执行某些代码disable plot,enable plot以确保没有显示数字.
我知道我可以浏览代码并评论绘图部分,但我不想忘记取消注释.