MATLAB: Plot vector where negative data is circled

MATLABplot

If I e.g. have the following two vectors:
data = [1 2 3 -4 -5 6 -7 8 9 -10]
pos = [1 2 3 4 5 6 7 8 9 10]
How can I do
plot(abs(data),pos)
set(gca,'xscale','log');
where only the negative data is circled? Is that even possible without stepping through each data point?

Best Answer

  • isNeg = (data < 0);
    plot(abs(data),pos)
    hold on
    plot(abs(data(isNeg)),pos(isNeg),'o')
    set(gca,'xscale','log');