我完全擱淺了!Matlab:2個非連續的顏色條和colormaps在同一個圖中
任何人都可以幫我解決這個問題嗎?提前致謝。
我想什麼:我想繪製大腦網絡,使得節點都有自己的顏色表(噴氣)和彩條,並在同一圖中,用自己的顏色表(灰色)和彩條的鏈接。
問題:當我在屏幕上顯示來自兩個不同顏色映射的兩個顏色條的頭時,兩個顏色條都會在我的代碼中顯示第一個聲明的顏色映射(噴射)。換句話說,第一個聲明的colormap(jet)似乎重寫了最後聲明的colormaps(灰色)。顯示的數字顯示第一個顏色映射(噴氣機),從不顯示獨立的顏色條灰色!
我做了什麼?:我通過這些論壇遵循如此多的鏈接,並且數學工具有助於構建我自己的腳本。我在Matlab中很天真,我在使用matlab版本R2013a的macOS中使用它。代碼如下所示:
Figure hold plot1 with data1 associated to colormap(gray) plot2 with data2 associated to colormap(jet) axis square axis off box off set(gca,'XTick',[],'YTick',[]) set(gcf, 'units','normalized','outerposition',[0 0 1 1]) %EXPANDING FIGURE ON SCREEN ax1 = gca; %GETTING THE AXES OF THE FORMER FIGURE ax1p = get(ax1,'Position'); colormap(ax1,'jet') %colorbar for nodes cb1 = colorbar('west'); set(cb1, 'Position', [ax1p(1)+ax1p(3)-0.17 ax1p(2)+0.17 0.03 ax1p(2)+ax1p(3)-.3]) set(cb1, 'fontsize', 30); caxis([min(n_atribut) max(n_atribut)]); ax2 = axes; %getting axes for second colorbar set(ax2, 'Position', ax1p); % Co-locate ax2 atop ax1 ax2p = get(ax2, 'Position'); axis off; % Make ax2 invisible linkaxes([ax1,ax2],'xy'); % Link ax1 and ax2 so zooming will work properly: colormap(ax2,'gray') %colorbar for links cb2 = colorbar('west'); % Create a new colorbar set(cb2, 'Position', [ax2p(1)+ax2p(2)+0.6 ax2p(2)+0.17 0.03 ax2p(2)+ax2p(3)-.3]) set(cb2, 'fontsize', 30); caxis([min(w_atribut) max(w_atribut)]); axes(ax2); hold off
數字。下圖顯示了這個問題,這是當我運行我的代碼時得到的結果 正如您所看到的,即使兩個顏色條都具有與data1和data2相關的正確限制,第二個(最右邊的一個)是用colormap噴繪。 下圖顯示了我在尋找的內容: 很明顯,這是在其他軟件中編輯以獲得第二個顏色條的顏色映射表灰色。
話雖如此,任何人都可以幫助我嗎?如果重要,我可以發送完整的代碼和4個文件運行並獲取錯誤的數字! 在此先感謝傢伙,我感謝你的所有幫助。 Gohann, Gohann。
感謝Ratbert,您的鏈接非常有幫助。 – Gohann