Plot points with the spectra
3 views (last 30 days)
Show older comments
I have a set of points and their amplitudes. I want to plot a graph like this (fig bellow) in which amplitudes are plotted as the spectra of every points.
I plot the graph with command:
plot(f,pv,'k.') % f: frequency; pv: phase velocity
Could you help me to impose amplitude to this plot.
Thanks in advance.

0 Comments
Answers (1)
Anudeep Kumar
on 15 May 2025
Hey Ductho,
I believe the function ‘scatter’ can help you achieve your goal. The 'scatter' function comes with the option of specifying the circle colors, which can be a single color or an array , like in your case. You can also specify your circles to be filled.
Below is a short snippet on how to:
% Example data (replace with your own)
% f = ...; % Frequency array
% pv = ...; % Phase velocity array
% amp = ...; % Amplitude array
scatter(f, pv, 20, amp, 'filled'); % 20 is the marker size, adjust as needed
colormap(jet); % Choose colormap (e.g., jet, parula, hot, etc.)
colorbar; % Show colorbar
xlabel('Frequency (MHz)');
ylabel('Phase Velocity (km/s)');
title('Amplitude Spectra');
Please refer to the ‘scatter’ documentation to further explore the possibilities and modify your code as per your need
Hope that helps!
0 Comments
See Also
Categories
Find more on Scatter Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!