7

画像軸のラベルを緯度/経度で変更しようとしていますが、その方法がわかりません。私は次のようないくつかの基本的なコマンドを試しました:

imagesc(data)
axis(meshgrid([-180:20:180],[-90:20:90]))
colorbar

しかし、これらの表現が現れました:

imagesc(data)、axis(meshgrid([-180:20:180]、[-90:20:90]))、カラーバーオペランド|| &&演算子は、論理スカラー値に変換可能である必要があります。

Error in axis>allAxes (line 448)
result = all(ishghandle(h)) && ...

Error in axis (line 57)
if ~isempty(varargin) && allAxes(varargin{1}). 

誰か助けてもらえますか?参考までに、私の画像軸ラベルはデータの順序(0からN)です。

私が望む結果は、軸として経緯線/グリッド線を使用した世界地図のような画像です。これは次のようになります。

ここに画像の説明を入力してください

4

2 に答える 2

12

あなたの質問から、x 軸のラベルを -180 から 180 に、y 軸のラベルを -90 から 90 に設定したいと思います。これを行うには、軸オブジェクトのプロパティXTickLabelYTickLabelプロパティを変更する必要があります (XTickおよびプロパティを適宜変更して、各軸の目盛りの数を調整する必要もありますYTick)。

dataしたがって、画像がマトリックスに保存され、 で表示すると仮定するとimagesc(data)、x 軸の目盛りラベルを -180 から 180 に変更する方法は次のとおりです。

xticklabels = -180:20:180;
xticks = linspace(1, size(data, 2), numel(xticklabels));
set(gca, 'XTick', xticks, 'XTickLabel', xticklabels)

同様に、y 軸の目盛りラベルを -90 から 90 に変更する方法は次のとおりです。

yticklabels = -90:20:90;
yticks = linspace(1, size(data, 1), numel(yticklabels));
set(gca, 'YTick', yticks, 'YTickLabel', flipud(yticklabels(:)))

これは次のようになります。

ここに画像の説明を入力

于 2013-02-25T16:34:37.290 に答える
3

私はあなたの言いたいことを完全に理解しているとは言えません。labelを軸に追加するには、xlabelylabelを使用します。例:

xlabel('time [sec]'); ylabel('Amplitude');

軸の目盛りのラベルを変更するには、次のようなものを使用します。

plot(1:4)
set(gca,'Xtick',1:4,'XTickLabel',{'a', 'b', 'c', 'd'})

あなたと協力してimagesc、次の行を追加したいかもしれません:

set(gca, 'YDir', 'reverse');

これにより、左下隅に向けて成長する目盛りの数字が設定されます...

于 2013-02-25T16:15:37.550 に答える