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.

¿Cómo puedo crear una mejor resolución en mi gráfico con linspace?

Necesito crear una resolución más alta de mi gráfico utilizando la función linspace, pero no puedo averiguar cómo implementarla en mi código. Tal vez alguien tenga una mejor comprensión de esto y pueda ayudarme.

import numpy as np
import matplotlib.pyplot as plt
N = np.array([1, 2, 3, 4])
c = np.array([1359,2136.6,2617.74,2630.16]) 
ct = c/1000
ct0 = 103.8348/1000
cmax = 2630.16/1000
n = N.size
A = np.zeros(n)
k = np.zeros(n)
for j in range(0,n):
    A[j] = (ct[j] - ct0)/(cmax - ct0)
for j in range(0, n):
    if j < 3:
        k[j] = -(np.log(1 - A[j])) / N[j]
    else:
        k[j] = 1
MWk = np.mean(k)
Amod = np.zeros(n)
for j in range(0,n):
    Amod[j] = 1 - np.exp((-N[j]) * MWk)

print(ct)
print(A)
print(k)
plt.xlabel("N")
plt.ylabel("Aufschlussgrad ")
plt.plot(N, A, "g", label = "Aufschlussgrad")
plt.plot(N, Amod, "k", label = "Modelfunktion")
plt.title("Hochdruckhomogenisator")
plt.legend()
plt.show()
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para aumentar la resolución de la gráfica utilizando la función linspace, puedes modificar los valores del eje x en la función plt.plot(). En lugar de pasar directamente el array N, puedes crear un nuevo array, por ejemplo Nnew, utilizando linspace con un mayor número de puntos. Por ejemplo, para tener 100 puntos en el eje x entre los valores mínimos y máximos de N, puedes reemplazar la línea:

    plt.plot(N, A, "g", label = "Aufschlussgrad")

    con:

    Nnew = np.linspace(N.min(), N.max(), 100)
    plt.plot(Nnew, np.interp(Nnew, N, A), "g", label = "Aufschlussgrad")

    Aquí, np.linspace() crea un array Nnew con 100 números equidistantes entre los valores mínimo y máximo de N. La función np.interp() interpola los valores correspondientes del eje y de A para los nuevos valores del eje x de Nnew. Finalmente, se llama a plt.plot() con Nnew y los valores interpolados como argumentos.

    Puedes hacer lo mismo para la curva Amod:

    plt.plot(Nnew, np.interp(Nnew, N, Amod), "k", label = "Modelfunktion")

    Esto debería dar como resultado una gráfica con mayor resolución.

Comments are closed.