matlab - 图形背景的颜色特定区域取决于条件

标签 matlab graphing

我有一个条形图 (2D),我想将另一个向量值 > 1 的部分的背景设为红色,即

例子:

图 = [2 3 5 4 9 1 7] 颜色 = [0 2 2 1 0 1 2]

因此条形图将显示通常的条形图,并且后面的背景(包括条形图之间的空间)在“3”、“5”和“7”(位置 2、3、7)的条形图后面被涂成红色

蓝色示例: blue bg graph

这有可能吗?

谢谢

最佳答案

是的,这是可能的

%# define some parameters
backgroundColor = 'r';
backgroundWidth = 0.9;
foregroundWidth = 0.3;

%# collect the data
graph = [2 3 5 4 9 1 7];
color = [0 2 2 1 0 1 2];

x = 0:length(graph)-1;
colIdx = color>1;
bgBarHeight = max(graph)+1; %# background bars are 1 taller than max

%# first, plot red bars - I plot them as background as in your question, 
%# not as transparent overlay as in your example (see yuk's answer for that)
bar(x,colIdx*bgBarHeight,backgroundWidth,'FaceColor',backgroundColor,'EdgeColor','none')

%# use hold on to prevent background from disappearing
hold on

%# then, plot foreground bars. Use hold on so that the background isn't lost
bar(x,graph,foregroundWidth,'FaceColor','k')

%# label the axes
xlabel('X Axis')
ylabel('Y Axis')

关于matlab - 图形背景的颜色特定区域取决于条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3216772/

相关文章:

MATLAB 组合不同维度的矩阵,填充相应索引的值

c# - 好的 Silverlight 4.0 图表/图形组件?

r - 李克特风格图按因子内的水平划分

android - GraphView 实时图形往往很杂乱

matlab - 复制 Photoshop sRGB 到 LAB 的转换

matlab - 如何去除该图像中的轮廓圆圈?

matlab - 为什么神经网络的准确性不好?

javascript - 如何向浮点图中添加一个新的单点?

java - 如何模拟 ECG(心电图)

c++ - 使用变成共享库的 matlab 函数时无法解析的符号