4

我想使用plot命令以八度音阶创建单色图/图形。这就是为什么我想使用线条样式制作不同的图形线条,例如虚线/点线/点划线样式。标准plot建议了几种线条样式,但没有一个看起来像列出的变体。


EDIT-1: 标准绘图样式不适用于我的情况:":", "-.",等样式"--"不起作用,八度在任何情况下都会绘制实线。此外,菱形和正方形(ds选项)丑陋且不成比例。可能是有用的信息:我在 Windows 下使用 Octave。


EDIT-2:例如,这样的命令plot(A(:,1),A(:,2),"-.dk")给了我这样的(不适用的!!!)图

在此处输入图像描述


更具体地说,我想要这样的东西(部分线条样式) xxx

(图片来自文章:McCallum 和 K. Nigam。1998。朴素贝叶斯文本分类的事件模型比较。在 AAAI-98 文本分类学习研讨会论文集上)

4

3 回答 3

9

这些可以用 的FMT参数设置plot。基本上,这些似乎是您的选择(请参阅线条样式的手册条目):

  • "-"实线
  • ":"积分
  • "-."破折号后跟点
  • "--"虚线
  • "none"没有线(只有标记)

还有"."点选项,但这是针对实际数据点,而不是线。因此,要重新创建您的图片,应该可以使用以下内容

plot (multinominal, "-dk", "MarkerFaceColor", "k")
hold on;
plot (mv-bernoulli, ":sk", "MarkerFaceColor", "k")

语法可能看起来有点奇怪,但这里是如何阅读它。对于-dk,-是实线,d菱形标记和k黑色(b将是蓝色)。在 上:sk,它是黑色的虚线和方形标记。

请参阅手册上的高级绘图部分。

编辑:请参阅下面的评论。这可能不适用于非常旧的 Octave 版本。

于 2013-01-09T05:06:45.760 回答
1

好吧,我自己找到了一个简单的解决方案(使用 Google ;))为了在 Octave 中获得具有不同线条样式的单色图表/图形,我们不需要使用类似orplot的样式(因为它们不起作用)。"--""-."

我们只需要一件事就是 command print。例如,可以按以下eps格式创建单色图形:

print -deps "diagram.eps"

这给了我一个很好的画面:

在此处输入图像描述

于 2013-01-09T12:08:56.260 回答
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")
于 2019-06-23T22:45:11.760 回答