Plot points with the spectra

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.

Respuestas (1)

Anudeep Kumar
Anudeep Kumar el 15 de Mayo de 2025

0 votos

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!

Categorías

Más información sobre MATLAB en Centro de ayuda y File Exchange.

Productos

Versión

R2016b

Etiquetas

Preguntada:

el 14 de En. de 2021

Respondida:

el 15 de Mayo de 2025

Community Treasure Hunt

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

Start Hunting!

Translated by