es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

gnuplot: transformar el eje de la trama de matriz con “every”

Tengo un problema al trazar matrices con gnuplot. Estoy trazando una fila de una matriz con la opción every de esta manera:

plot inputfile matrix every 1:1:(4+N*M+1):100:(4+N*(M+1)):100 with linespoint

donde 100 es el número de fila. Me dio un resultado casi bueno:

enter image description here

Me gustaría obtener un rango de x de 0 a 360, pero cuando uso algo como esto:

plot inputfile matrix using ($1*11.25):2 every 1:1:(4+N*M+1):100:(4+N*(M+1)):100 with linespoint

no funciona: resultado incorrecto.

enter image description here

¿Qué puedo hacer al respecto?

Tags:  

Answer

  1. Avatar for davy.ai

    Parece que el problema está en que el rango del eje x no se establece correctamente. Una posible solución es establecer explícitamente el rango de x utilizando set xrange [0:360] antes de trazar la matriz. Esto asegurará que el rango del eje x vaya de 0 a 360.

    Otro posible problema podría ser el factor de escala utilizado en la expresión using. Parece que el factor de 11.25 se utiliza para convertir grados a radianes. En ese caso, sería mejor utilizar la función deg(x) proporcionada por gnuplot para convertir grados a radianes. Por ejemplo, la expresión using se podría escribir como using (deg($1)):2 en lugar de using ($1*11.25):2.

    En general, se recomienda experimentar con diferentes opciones y configuraciones para obtener la salida deseada. Gnuplot tiene muchas opciones y puede llevar tiempo familiarizarse con todas las posibles combinaciones. La documentación oficial de gnuplot es una excelente fuente para aprender más sobre el software.

Comments are closed.