我在Matlab中有以下代码,它运行正常,但我无法将图形的颜色更改为灰色。
#include <iostream>
#include <math.h>
using namespace std;
void main()
{
const int N = 100;
int i;
double x, h, a = -1.0, b = 1.0, y[N+1];
h = (b - a)/N; //h=0.02
for (i = 0, x = a; i <= N; i++, x += h)
{
if (x == 0) // When x is 0
{
cout << x << '\t' << "0.00" << endl;
continue;
}
y[i] = exp(-x*x);
cout << x << '\t' << y[i] << endl;
}
}
我尝试了FaceColor功能,但它没有用! 任何帮助都非常感谢。
答案 0 :(得分:1)
从评论中我发现您错误地使用了FaceColor
属性。
你说你试过
bar(y,'FaceColor', 'grey');
这个问题是'grey'
不是Matlab中的有效颜色定义。
有三种定义颜色,RGB三元组,短名称和长名称的方法。短名称和长名称非常有限,预定义只有8种颜色。白色,黑色,红色,绿色,蓝色,青色,洋红色和黄色。对于任何其他颜色,您需要将其定义为RGB三元组,它是从0到1的三个元素的向量,表示每个通道的强度。
在你的情况下,灰色是大多数颜色在三个通道上具有相同的强度,因此这应该适合你:
bar(y,'FaceColor', [0.75 0.75 0.75]);
如果您有其他疑问,请查看有关颜色https://www.mathworks.com/help/matlab/ref/colorspec.html
的matlab文档