Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
imagesc上的双x轴和y轴以及Matlab中的surf绘图_Matlab_Plot_Axis - Fatal编程技术网

imagesc上的双x轴和y轴以及Matlab中的surf绘图

imagesc上的双x轴和y轴以及Matlab中的surf绘图,matlab,plot,axis,Matlab,Plot,Axis,我想在imagesc和surf绘图的x轴和y轴上放置两个值。两个打印打印相同的值,但第一个是2D,第二个是3D 我想放在x轴和y轴上的数组具有相同的长度,并且在单个绘图中显示都很有趣,因为它们彼此相关 因此,x轴和y轴应该类似于本文()中的示例解决方案 对于imagesc绘图,使用示例解决方案的johan代码和一些随机数据,双x轴并不困难 Z = rand(20,30); Y = 32.*(1:size(Z,1)); X = 1:size(Z,2); scale_factor_xaxis=10

我想在imagesc和surf绘图的x轴和y轴上放置两个值。两个打印打印相同的值,但第一个是2D,第二个是3D

我想放在x轴和y轴上的数组具有相同的长度,并且在单个绘图中显示都很有趣,因为它们彼此相关

因此,x轴和y轴应该类似于本文()中的示例解决方案

对于imagesc绘图,使用示例解决方案的johan代码和一些随机数据,双x轴并不困难

Z = rand(20,30);
Y = 32.*(1:size(Z,1));
X = 1:size(Z,2);

scale_factor_xaxis=10;
scale_factor_yaxis=100;

figure(1)
imagesc(X,Y,Z)
set(gca,'XDir','normal','YDir','normal');
title('title')
xlabel('first x label')
ylabel('first y label')

first_axis = gca;
sqzx = 0.15; %// distance to squeeze the first x-axis plot
sqzy = 0.15; %// distance to squeeze the first y-axis plot
set(first_axis, 'Position', get(first_axis, 'Position') + [0 sqzx 0 -sqzx ]);

ax2 = axes('Position', get(first_axis, 'Position') .* [1 1 1 1e-12] - [0 sqzx 0 0],'Color','none');
xlim(get(first_axis, 'XLim') * scale_factor_xaxis);
set(ax2, 'XScale', get(first_axis, 'XScale')); %// make logarithmic if first axis is too
xlabel('second x label')
下一步应该是在y轴上放置第二个刻度和标签。但我认为这不适用于代码的下一部分:

ax2 = axes('Position', get(first_axis, 'Position') .* [1 1 1 1e-12] - [0 sqzy 0 0],'Color','r');
ylim(get(first_axis, 'YLim') * scale_factor_yaxis);
set(ax2, 'YScale', get(first_axis, 'YScale')); %// make logarithmic if first axis is too
ylabel('second y label')

这样,第二个y标签将在第二个x轴旁边绘制,第二个y比例是x比例。但我对代码的理解还不够,无法按照我所描述的方式实现这一点。

我非常确信这种方法不适用于3D。这段代码中的参考线方法是创建一个新的绘图(实际上是轴),其高度为1e-12,因此可以看到标签,但壶太小,看起来像一条线。我怀疑你能在3D中做到这一点。