MATLAB:行规范标记大小

时间:2012-02-08 00:05:38

标签: matlab

使用线条规范(XYlinespec)三元组和(PropertyNamePropertyValue)双重线绘制多个数据系列时,只有a可以指定单MarkerSize,此大小适用于所有数据系列。例如,

plot(X1,Y1,'.b',X2,Y2,'-r','MarkerSize',5)

是否可以为每个不同的数据系列指定不同的MarkerSize,而无需单独绘制数据系列或随后更改绘图句柄属性?以下两个命令都不是有效的,但它们会给出所需结果的概念:

plot(X1,Y1,'.b',X2,Y2,'-r','MarkerSize',[5 10])
plot(X1,Y1,'.b','MarkerSize',5,X2,Y2,'-r','MarkerSize',10)

3 个答案:

答案 0 :(得分:2)

尝试:

h = plot(X1,Y1,'.b',X2,Y2,'*r');
set(h(1),'MarkerSize',5);
set(h(2),'MarkerSize',2);

答案 1 :(得分:2)

您可以使用scatter。它具有SizeData属性,它是一个向量。

x = rand(10,1);
y = rand(10,1);
s = scatter(x,y);
set(s,'SizeData',linspace(1,100,10))

如果您想使用带有标记的折线图,您可以绘制绘图,使用hold on,然后在其上绘制scatter

答案 2 :(得分:0)

为此可能

let lineGenerator = d3.line<ILineChartPoint>()
      .x(function(d) { return x(d.x); })
      .y(function(d) { return y(d.y); });
...
let line = g.append("path")
      .attr("d", lineGenerator(this.data));

或循环中的任何其他情节

plot(x1,0,'+','MarkerSize',10)