Elteoremadebeethoven/AnimationsWithManim

¿Error de renderizado?

FarkasWolfD opened this issue · 0 comments

Hola, he estado checando las guías propuestas en el canal y el git y tengo un problema.
Al renderizar el código siguiente como vídeo, no me salen las etiquetas del lado derecho de la gráfica. Lo curioso de esto es que cuando lo renderizo como imagen, aparece todo.
¿Podrías ayudarme?

Multiline code

Mi código es:

from manimlib.imports import *

def Range(in_val,end_val,step=1):
    return list(np.arange(in_val,end_val+step,step))

class GrafInt2(GraphScene):
	CONFIG = {
		"y_max": 1.5,
		"y_min": -1.5,
		"x_max": 2*PI,
		"x_min": -2*PI,
		"x_tick_frequency": PI/2,
		"y_tick_frequency": 0.5,
		"x_axis_width": 9,
		"x_axis_label": None, #No escribe la etiqueta del eje y, para eso, ir a línea 148
		"y_axis_label": None, #No escribe la etiqueta del eje x, para eso, ir a línea 149
		#"axes_color": BLUE, Podemos determinarlo desde aquí o como se ve en la línea 141-143
		"graph_origin": ORIGIN
	}
	def construct(self):
		self.setup_axes()

		#Creación de objetos
		titulo = TextMobject("Gráfica coseno")

		graf_cos = self.get_graph(
			lambda x : np.cos(x),
			color = RED,
			x_min = -2*PI,
			x_max = 2*PI,
		)

		#Posición de los objetos
		titulo.to_corner(UL)

		#Propiedades de los objetos
		graf_cos.set_stroke(width = 4)

		#Inicio de animación
		self.play(
			Write(titulo), run_time = 4
		)

		self.play(
			ShowCreation(graf_cos), run_time = 7
		)

		self.wait()

	def setup_axes(self):
		GraphScene.setup_axes(self)

		#Grosor de los ejes XY
		self.x_axis.set_stroke(width = 3)
		self.y_axis.set_stroke(width = 3)

		#Color de los ejes XY
		self.x_axis.set_color(BLUE)
		self.y_axis.set_color(BLUE)

		#Modificación de etiquetas de los ejes
		et_x = TexMobject("\\theta")
		et_y = TexMobject("f(\\theta)")

		et_x.next_to(self.x_axis,RIGHT)   #Posiciona la etiqueta del lado derecho del eje de las x
		et_y.next_to(self.y_axis,UP)	  #Posiciona la etiqueta arriba del eje y

		#Para las etiquetas del eje Y
		self.y_axis.label_direction = LEFT #Posición de valores de y respecto al eje y
		self.y_axis.add_numbers(*[-1,1]) #Valores de y donde poner etiquetas

		#Para las etiquetas del eje X
		x_min = -2*PI
		x_max = 2*PI
		saltos_x = PI

		valor_decimal_x = Range(x_min,x_max,saltos_x)

		#Texto que llevará según el valor de X
		lista_x = TexMobject(
			"-2\\pi",  #Para -2*PI
			"-\\pi",   #Para -PI
			"\\",      #Para cero
			"\\pi",    #Para PI
			"2\\pi."   #Para 2*PI
		)

		#Asignación de texto a valores
		valores_x = [(i,j)
			for i,j in zip(valor_decimal_x, lista_x)
		]

		self.x_axis_label = VGroup()

		for x_val,x_tex in valores_x:
			x_tex.scale(0.7)                                          #Escala de texto de las etiquetas eje X
			x_tex.next_to(self.coords_to_point(x_val,0), DOWN)	  #Posición de las etiquetas eje X
			self.x_axis_label.add(x_tex)						  

		#Animación de objetos creados para el plano
		self.play(
			*[ShowCreation(objeto)
			for objeto in [
				self.x_axis,
				self.y_axis,
				et_x,
				et_y,
				self.x_axis_label
				]
			],
			run_time=3
		)