有没有人想出一种方法来为Windows中的matlab数字制作缩略图类预览?
我已经厌倦了将.png和.fig文件一起保存,所以我知道它里面有什么.
对此有用的辅助工具是Windows的命令行实用程序,可以提供图像文件并告知它将其用作给定文件预览的基础.
我可以在matlab中编写一个辅助函数来保存.fig,制作一个临时图像文件,然后使用命令行实用程序将其推送到缩略图中.

嗨,我想保存这个产生的图像imagesc(magic(3)),确切的彩虹表示,是否可能?
谢谢.
这个问题可能看似重复,但事实并非如此.我在这个网站上查看了类似问题的解决方案,但它并不能让我满意.我已经查看了Matlab帮助中心,我得到的答案就是这个,在http://goo.gl/p907wR的底部
给出以下示例代码:
x = 0:pi/10:pi;
y = sin(x);
e = std(y)*ones(size(x));
figure
errorbar(x,y,e)
Run Code Online (Sandbox Code Playgroud)
与水平线相比,您如何为线条着色?
我试过了
errorbar(x,y,e,'--mo')
Run Code Online (Sandbox Code Playgroud)
但这会将所有这些改变在一起......
在MATLAB中,我想将条形图中条形图的透明度设置为0.3,并将y轴设置为对数刻度 - 但两者似乎都不起作用......
subplot('Position',[0.15 0.7 0.45 0.15]);
data = [1 2 5 4 7 4 1];
B = bar(data,'g');
ch = get(B,'child');
set(ch,'facea',.3)
Run Code Online (Sandbox Code Playgroud)
这工作正常,但然后添加:
set(gca,'YScale','log');
Run Code Online (Sandbox Code Playgroud)
并且透明度设置不起作用.有任何想法吗?谢谢!
有没有办法使用surf()样式数据格式来创建热图?
我有一堆形式的分散数据z=f(x,y)(所以我曾经TriScatteredInterp使它工作meshgrid),我想z用热图可视化.surf已经做了类似于我想要的事情,除了你必须手动旋转图形以使视图自上而下看XY平面.
基本上,我想要类似的东西:

但冲浪默认情况下会给你这个:

有没有办法只删除Matlab图中的轴线,而不影响刻度和刻度标签.
我知道box切换上轴和右轴的线和刻度,这对我来说非常有效.
但我的问题是我想要消除底线和左线(只有线!)但保留刻度和刻度标签.
任何招数?
我已经定义了复杂的符号系统:
syms x
sys(x) = ((10+1.*i.*x))/(20+(5.*i.*x)+((10.*i.*x).^2))+((1.*i.*x).^3);
ImaginaryPart = imag(sys)
RealPart = real(sys)
Run Code Online (Sandbox Code Playgroud)
MATLAB返回以下结果:
ImaginaryPart(x) =
- real(x^3) + imag((10 + x*1i)/(- 100*x^2 + x*5i + 20))
RealPart(x) =
- real(x^3) + imag((10 + x*1i)/(- 100*x^2 + x*5i + 20))
Run Code Online (Sandbox Code Playgroud)
现在怎么可能plot(x,sys(x))或plot(x,ImaginaryPart(x))作为一个复杂的表面?
MATLAB 提供了该addlistener函数。
侦听器允许我们跟踪对象属性的变化并对其采取行动。例如,我们可以创建一个非常简单的侦听器,当对象的'YLim'属性axes发生更改时,它将在命令窗口中显示一条消息:
% Example using axes
ax = axes();
addlistener(ax, 'YLim', 'PostSet', @(src, evnt)disp('YLim changed'));
Run Code Online (Sandbox Code Playgroud)
尝试平移轴或放大/缩小,看看会发生什么。这工作正常。
我需要做同样的事情,但使用 anuiaxes代替。
不幸的是,我们似乎不允许这样做。尝试运行以下示例:
% Example using uiaxes
ax = uiaxes();
addlistener(ax, 'YLim', 'PostSet', @(src, evnt)disp('YLim changed'));
Run Code Online (Sandbox Code Playgroud)
它抛出这个错误:
错误使用 matlab.ui.control.UIAxes/addlistener 添加 PostSet 侦听器时,类“matlab.ui.control.UIAxes”中的属性“YLim”未定义为 SetObservable。
我已经阅读了“监听属性值的变化”和“观察属性值的变化”的文章,我了解到必须声明一个属性才能SetObservable被监听:
classdef PropLis < handle
properties (SetObservable)
ObservedProp = 1 % <-- Observable Property
end
end
Run Code Online (Sandbox Code Playgroud)
我试过通过查看UIAxes类定义,edit matlab.ui.control.UIAxes但这是不可能的,因为它是一个P-file。 …
matlab listener observable matlab-figure matlab-app-designer
如果我做一个
bar([1 2 3 4 5;2 3 4 5 1], 'stacked')
Run Code Online (Sandbox Code Playgroud)
我得到了与我的数据的两行相对应的两条堆叠值 - 正如我所料:

我希望能够类似地绘制只有一个条形的堆积条形图,但是如果我这样尝试
bar([1 2 3 4 5], 'stacked')
Run Code Online (Sandbox Code Playgroud)
那么如何制作单条堆积条形图呢?