Matlab - Espacio entre grafico de barras

 
Vista:
sin imagen de perfil
Val: 33
Ha aumentado su posición en 3 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Espacio entre grafico de barras

Publicado por David (32 intervenciones) el 17/05/2017 05:24:33
Hola, tengo una duda estoy trantando de graficar unos datos en una grafica de barras en matlab, para esto use el comando bar (variablex, variable y) en donde mi x y y son dos vectores, como se ve a continuacion.

x = [25 31.5 40 50 63 80 100 125 160 200 250 315 400 500 630 800 1000 1250 1600 2000 2500 3150 4000 5000 6300 8000 10000 12500 16000 20000]

y = [65.2 64.7 65.3 71.3 75.7 76.3 76.7 78.7 79.7 82.2 80.7 81.5 82.2 83.5 84.1 81.4 81 79.9 76.2 70.2 74.1 74.9 75.5 75.9 73.7 77.1 75.2 73.9 77.1 78]

bar(x, y)

Son vectores bastante grandes, claramente, pero mi problema es que al graficar, mi posicion en x poco a poco se aleja bastante, generandome la siguiente grafica

ahh

Mi pregunta es como puedo hacer que la grafica tome una escala, y junte todas las barras en x???

Ya que estan muy alejadas y las necesito juntas.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Daniel
Val: 269
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Espacio entre grafico de barras

Publicado por Daniel (264 intervenciones) el 18/05/2017 20:34:00
Podes visualizarlo de varias maneras... Depende un poco de los valores que tengas y de como te guste mas...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
clc
clear all
x = [25 31.5 40 50 63 80 100 125 160 200 250 315 400 500 630 800 1000 1250 1600 2000 2500 3150 4000 5000 6300 8000 10000 12500 16000 20000];
y = [65.2 64.7 65.3 71.3 75.7 76.3 76.7 78.7 79.7 82.2 80.7 81.5 82.2 83.5 84.1 81.4 81 79.9 76.2 70.2 74.1 74.9 75.5 75.9 73.7 77.1 75.2 73.9 77.1 78];
 
subplot(2,2,1)
bar(x,y,'hist')
xlabel('valor de x')
subplot(2,2,2)
bar(log10(x),y,'hist')
xlabel('valor de log_{10}(x)')
subplot(2,2,3)
bar(x,y,'hist')
set(gca,'XScale','log')
xlabel('valor de x')
subplot(2,2,4)
bar(y,'hist')
xlabel('numero de clase')

Comentanos como te fue

Saludos

Daniel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 33
Ha aumentado su posición en 3 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Espacio entre grafico de barras

Publicado por David (32 intervenciones) el 20/05/2017 00:11:41
Si me sirvio decidi usar el set(gca,'XScale','log'), muchas gracias

me quedo asi:

1
2
3
4
5
6
7
8
frecuencia = [25 31.5 40 50 63 80 100 125 160 200 250 315 400 500 630 800 1000 1250 1600 2000 2500 3150 4000 5000 6300 8000 10000 12500 16000 20000 25000 33000 45000]
TercioOctavaLeqLineal = [65.2 64.7 65.3 71.3 75.7 76.3 76.7 78.7 79.7 82.2 80.7 81.5 82.2 83.5 84.1 81.4 81 79.9 76.2 70.2 74.1 74.9 75.5 75.9 73.7 77.1 75.2 73.9 77.1 78 90.2 92.8 93.3]
 
bar(frecuencia, TercioOctavaLeqLineal, 'hist')
set(gca, 'XScale', 'log')
title('Grafica 1/3 de octava Leq(lin) vs Acoustic Pressure')
xlabel('Frecuencia (Hz)')
ylabel('Presion Acustica (dB)')

y la grafica

ahhhhhhhhhh

pero una ultima pregunta, sera que los ultimos 3 valores de cada arreglo graficados en las ultimas 3 barras se pueden cambiar de color?? osea que sea diferente del azul.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar