Plot points with the spectra

3 views (last 30 days)
Ductho Le
Ductho Le on 14 Jan 2021
Answered: Anudeep Kumar on 15 May 2025
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.

Answers (1)

Anudeep Kumar
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!

Tags

Products


Release

R2016b

Community Treasure Hunt

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

Start Hunting!