这个问题非常基础,但我正在寻找最佳方法。 对于matlab中的绘制线,如何标记线上的几个点。我知道可以直接使用标记进行绘图。但是,如果已绘制线条并且标记仅用于区分图形。而不是选择几个点并绘制第二次。下图显示了一个例子
答案 0 :(得分:1)
创建初始绘图后,您可以使用命令'hold on'将该绘图保持为“实时”,然后将这些点重新绘制为标记。例如:
x=1:10;
y=2*x+4;
plot(x,y)
hold on
plot(x,y,'+')
您可以使用'*','。'或任何其他标记而不是'+'。
如果您希望标记均匀间隔(并且您的数据不是最初的),您可以创建均匀间隔的x向量,然后,假设您的绘图不是太极端,插入y值并仅添加点。例如:
x=[1,1.5,2,2.3,3,4,4.8,5,6.1,6,7,8,9,10];
y=2*x.^2+4;
plot(x,y)
hold on
x_lin=linspace(min(x),max(x),20);
y_lin=interp1(x,y,x_lin,'linear');
plot(x_lin,y_lin,'+')
hold off
答案 1 :(得分:0)
如果你不想"添加"第二个时刻的标记点(但我不认为你会有一些优势),请考虑
A)使用两个绘图指令,将点阵列分开,并标记为#34;使用
private void executeSCCE()
{
// register a handler for each Marker type
ClassToHandlerMap dispatch = new ClassToHandlerMap();
dispatch.put(B.class, new B_Handler());
dispatch.put(C.class, new C_Handler());
// get a target (e.g., Pair<A,C>)
Pair<A, ? extends Marker> p1 = getTarget();
// select handler based on the class type of the second parameter
captureHelper(p1.second.getClass(), p1, dispatch);
}
可替换地
B)在条件
C = setdiff(A,B)