MATLAB:绘制每行不同颜色强度的多行

时间:2016-09-27 15:03:20

标签: matlab graph colors weighted-graph

我想绘制一系列线条,每条线条根据一定的重量着色。我偶然发现this,但问题是,我在一个图上绘制了多个内容,其中只有一个绘图语句应该进行颜色加权。

我正在使用hold on; hold off;,但我只看到最后一张图。因此,最终结果是,我只看到颜色加权的绘图语句,而不是由于hold on; hold off;而应该绘制的其他绘图语句。

这是我的代码,其中upper*p是一个n x 1向量,表示n行中每一行的强度:

cmap = colormap;
con_min = min(upper*p)*25;
con_max = max(upper*p)*25;
ind_upper = ceil((size(cmap,1)-1)*((con_min:con_max)'-con_min+1)/(con_max-con_min));

subplot(2,3,2);
hold on;
    title('Gains');
    set(gca,'ColorOrder',cmap(ind_upper,:),'NextPlot','replacechildren');
    plot(flat','c');
    plot(lower','c');
    plot(upper');
    set(gca, 'xtick',1:labelFreq:num_tickers, 'xticklabel', tickers(1:4:num_tickers));
    ylabel('bp change on day');
    colorbar;
    caxis([con_min con_max]);
hold off;

似乎根据颜色权重正确绘制了“上部”部分,但未显示“平面”和“下部”图形。我认为这是因为set(gca,...)语句导致图形重置。

0 个答案:

没有答案