Plotting only SOME of the points on a curve

29 views (last 30 days)
I plot a voltage (12.4 to 10.8) over time from a instrument. Now i want to introduce markers only at the set points where it changes. So how to introduce the markers for it.
plot(Test1.U_Batt, 'o-', 'linewidth',0.5, 'markersize',5, 'markerfacecolor','g')
I used this command and it showed all the points in the curve. But I want them to show for only some of the points.
Can any one help me out???

Answers (2)

Benjamin Kraus
Benjamin Kraus on 6 Dec 2017
Edited: Benjamin Kraus on 6 Dec 2017
What version of MATLAB are you using? There is a new feature, introduced in R2016b that allows you to specify which vertices in a line to mark. Look on the Line Properties doc page for the MarkerIndices property.
The example in the R2016b Release Notes looks like this:
x = linspace(0,10,500);
y = sin(x);
plot(x,y,'-o','MarkerIndices',1:10:length(y))
If you are using an older version of MATLAB, the only solution is to plot two different lines:
  1. One line that has no markers but includes all the data points.
  2. A second line that has no line style, has a marker, but only includes the points you want to mark.

Image Analyst
Image Analyst on 18 Dec 2017
Just pass in the indexes that you want to plot
y = Test1.U_Batt;
plot(y(desiredIndexes), 'o-', 'LineWidth',0.5, 'MarkerSize',5, 'MarkerFaceColor','g')

Categories

Find more on Line Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!