我想使用plot
命令以八度音程创建单色图表/图表。
这就是为什么我想使用线条样式制作不同的图形线,例如虚线/点线/点划线样式。 标准plot
为行提供了几种样式,但它们都不像列出的变体。
修改-1:
标准打印样式不适用于我的情况:":"
,"-."
,"--"
这样的样式不起作用,八度音程在任何情况下都会绘制实线。此外,钻石和正方形(d
和s
选项)是丑陋和不成比例的大。可能是有用的信息:我在Windows下使用Octave。
EDIT-2:例如,这样的命令plot(A(:,1),A(:,2),"-.dk")
给了我这样的(不适用!!! )数字
更具体地说,我想要这样的东西(部分线条样式)
(图片来自文章:McCallum和K. Nigam.1998。Naive Bayes文本分类事件模型的比较。在AAAI-98文本分类学习研讨会论文集中)
答案 0 :(得分:6)
可以使用FMT
的{{1}}参数进行设置。基本上,这些似乎是您的选择(参见manual entrey on line styles):
plot
实线"-"
分":"
破折号后跟点"-."
虚线"--"
没有行(仅标记)还有选项"none"
用于点,但这是针对实际数据点,而不是行。因此,要重新创建您的图片,以下内容应该可以正常工作
"."
语法可能看起来有点奇怪但是这里是如何阅读它。对于plot (multinominal, "-dk", "MarkerFaceColor", "k")
hold on;
plot (mv-bernoulli, ":sk", "MarkerFaceColor", "k")
,-dk
用于实线,-
用于菱形标记,d
用于黑色(k
用于蓝色)。在b
上,它是黑色的虚线和方形标记。
请参阅advanced plotting手册部分。
编辑:请参阅以下评论。这可能不适用于Octave的旧版本。
答案 1 :(得分:1)
好吧,我找到了简单的决定自我(使用Google;))
为了在Octave中获得具有不同样式线条的单色图表/图表,我们不需要使用plot
或"--"
之类的"-."
样式(因为它们不起作用)。
我们需要的一件事就是命令print
。可以创建单色图形,例如eps
格式:
print -deps "diagram.eps"
这给了我很好的照片:
答案 2 :(得分:0)
我遇到了同样的问题,我认为使线型可见的解决方案是更改线宽。使用默认线宽值(为1)时,许多线型无法区分。
尝试以下代码,看看是否有效:
x = ( 0:0.4:10 );
f = sin(x) .* exp(-4 .* x);
g = sin(x);
plot(x,f,'r:','linewidth',5,x,g,'-.','linewidth',2)
print(gcf,"PlotSimple.pdf")