When plotting a function in an axis environment, if the x_axis range is changed using a ValueTracker, and the same ValueTracker is used as function range, the function does not plot on the expected range. Here is a MWE:
the axes are drawn and the x_axis is ten units wide
the sine wave is added and plotted up to ten units
the x_axis shrinks down to six units, each unit is still one munit wide (no scaling effect, the axis only gets shorter), and the sine wave is now drawn also on only six units
Actual behavior
the axes are drawn and the x_axis is ten units wide
the sine wave is added and plotted up to ten units
the x_axis shrinks down to six units, each unit is still one munit wide (no scaling effect, the axis only gets shorter), BUT the sine wave is now drawn on only about 3.5 units, and it has been scaled down!
Logs
Terminal output
```
Manim Community v0.18.1
[10/24/24 09:00:31] ERROR module_ops.py:92
VaryingSupportSineWave is not in the
script
DEBUG Hashing ... hashing.py:352
DEBUG Hashing done in 0.006856 s. hashing.py:364
DEBUG Hash generated : hashing.py:367
3348903278_2543047096_4133455014
INFO Animation 0 : Using cached data (hash : cairo_renderer.py:88
3348903278_2543047096_4133455014)
DEBUG List of the first few animation hashes cairo_renderer.py:97
of the scene:
['3348903278_2543047096_4133455014']
DEBUG Hashing ... hashing.py:352
DEBUG Hashing done in 0.006311 s. hashing.py:364
DEBUG Hash generated : hashing.py:367
2784548031_3175177803_765666942
INFO Animation 1 : Using cached data (hash : cairo_renderer.py:88
2784548031_3175177803_765666942)
DEBUG List of the first few animation hashes cairo_renderer.py:97
of the scene:
['3348903278_2543047096_4133455014',
'2784548031_3175177803_765666942']
DEBUG Animation with empty mobject animation.py:175
DEBUG Hashing ... hashing.py:352
DEBUG Hashing done in 0.006665 s. hashing.py:364
DEBUG Hash generated : hashing.py:367
2784548031_774239770_1835257284
INFO Animation 2 : Using cached data (hash : cairo_renderer.py:88
2784548031_774239770_1835257284)
DEBUG List of the first few animation hashes cairo_renderer.py:97
of the scene:
['3348903278_2543047096_4133455014',
'2784548031_3175177803_765666942',
'2784548031_774239770_1835257284']
INFO Combining to Movie file. scene_file_writer.py:617
DEBUG Partial movie files to combine (3 scene_file_writer.py:561
files):
['/Users/username/Library/Cl
oudStorage/someplace/Python/
18_manim/src/media/videos/test_script/
720p30/partial_movie_files/VaryingAm
plitudeSineWave/3348903278_254304709
6_4133455014.mp4',
'/Users/username/Library/Clo
udStorage/someplace/Python/1
8_manim/src/media/videos/test_script/7
20p30/partial_movie_files/VaryingAmp
litudeSineWave/2784548031_3175177803
_765666942.mp4',
'/Users/username/Library/Clo
udStorage/someplace/Python/1
8_manim/src/media/videos/test_script/7
20p30/partial_movie_files/VaryingAmp
litudeSineWave/2784548031_774239770_
1835257284.mp4']
INFO scene_file_writer.py:737
File ready at
'/Users/username/Library/Clo
udStorage/someplace/Python/1
8_manim/src/media/videos/test_script/7
20p30/VaryingAmplitudeSineWave.mp4'
INFO Rendered VaryingAmplitudeSineWave scene.py:247
Played 3 animations
[10/24/24 09:00:32] INFO Previewed File at: file_ops.py:231
'/Users/username/Library/CloudStorage
/someplace/Python/18_manim/src/media/
videos/test_script/720p30/VaryingAmplitudeSineW
ave.mp4'
```
Description of bug / unexpected behavior
When plotting a function in an axis environment, if the
x_axis
range is changed using aValueTracker
, and the sameValueTracker
is used as function range, the function does not plot on the expected range. Here is a MWE:Expected behavior
x_axis
is ten units wideActual behavior
x_axis
is ten units wideLogs
Terminal output
``` Manim Community v0.18.1 [10/24/24 09:00:31] ERROR module_ops.py:92 VaryingSupportSineWave is not in the script DEBUG Hashing ... hashing.py:352 DEBUG Hashing done in 0.006856 s. hashing.py:364 DEBUG Hash generated : hashing.py:367 3348903278_2543047096_4133455014 INFO Animation 0 : Using cached data (hash : cairo_renderer.py:88 3348903278_2543047096_4133455014) DEBUG List of the first few animation hashes cairo_renderer.py:97 of the scene: ['3348903278_2543047096_4133455014'] DEBUG Hashing ... hashing.py:352 DEBUG Hashing done in 0.006311 s. hashing.py:364 DEBUG Hash generated : hashing.py:367 2784548031_3175177803_765666942 INFO Animation 1 : Using cached data (hash : cairo_renderer.py:88 2784548031_3175177803_765666942) DEBUG List of the first few animation hashes cairo_renderer.py:97 of the scene: ['3348903278_2543047096_4133455014', '2784548031_3175177803_765666942'] DEBUG Animation with empty mobject animation.py:175 DEBUG Hashing ... hashing.py:352 DEBUG Hashing done in 0.006665 s. hashing.py:364 DEBUG Hash generated : hashing.py:367 2784548031_774239770_1835257284 INFO Animation 2 : Using cached data (hash : cairo_renderer.py:88 2784548031_774239770_1835257284) DEBUG List of the first few animation hashes cairo_renderer.py:97 of the scene: ['3348903278_2543047096_4133455014', '2784548031_3175177803_765666942', '2784548031_774239770_1835257284'] INFO Combining to Movie file. scene_file_writer.py:617 DEBUG Partial movie files to combine (3 scene_file_writer.py:561 files): ['/Users/username/Library/Cl oudStorage/someplace/Python/ 18_manim/src/media/videos/test_script/ 720p30/partial_movie_files/VaryingAm plitudeSineWave/3348903278_254304709 6_4133455014.mp4', '/Users/username/Library/Clo udStorage/someplace/Python/1 8_manim/src/media/videos/test_script/7 20p30/partial_movie_files/VaryingAmp litudeSineWave/2784548031_3175177803 _765666942.mp4', '/Users/username/Library/Clo udStorage/someplace/Python/1 8_manim/src/media/videos/test_script/7 20p30/partial_movie_files/VaryingAmp litudeSineWave/2784548031_774239770_ 1835257284.mp4'] INFO scene_file_writer.py:737 File ready at '/Users/username/Library/Clo udStorage/someplace/Python/1 8_manim/src/media/videos/test_script/7 20p30/VaryingAmplitudeSineWave.mp4' INFO Rendered VaryingAmplitudeSineWave scene.py:247 Played 3 animations [10/24/24 09:00:32] INFO Previewed File at: file_ops.py:231 '/Users/username/Library/CloudStorage /someplace/Python/18_manim/src/media/ videos/test_script/720p30/VaryingAmplitudeSineW ave.mp4' ```System specifications
System Details
- OS: macOS Sonoma 14.2.1 (23C71) - RAM: 32Go - Python version (`python/py/python3 --version`): 3.12 - Installed modules (provide output from `pip list`): ``` Package Version ------------------------- --------------- ansi2html 1.9.1 anyio 4.2.0 appnope 0.1.3 argon2-cffi 23.1.0 argon2-cffi-bindings 21.2.0 arrow 1.3.0 asttokens 2.4.1 async-lru 2.0.4 attrs 23.2.0 Babel 2.14.0 beautifulsoup4 4.12.3 bleach 6.1.0 blinker 1.7.0 Brotli 1.1.0 certifi 2023.11.17 cffi 1.16.0 charset-normalizer 3.3.2 click 8.1.7 cloup 3.0.5 colour 0.1.5 comm 0.2.1 contourpy 1.2.0 cycler 0.11.0 Cython 3.0.11 dash 2.14.2 dash-core-components 2.0.0 dash-html-components 2.0.0 dash-table 5.0.0 dataclasses 0.6 debugpy 1.8.0 decorator 5.1.1 defusedxml 0.7.1 et-xmlfile 1.1.0 executing 2.0.1 fastjsonschema 2.19.1 Flask 3.0.0 fonttools 4.25.0 fqdn 1.5.1 glcontext 3.0.0 idna 3.6 importlib-metadata 7.0.0 ipykernel 6.29.0 ipython 8.20.0 ipywidgets 8.1.1 isoduration 20.11.0 isosurfaces 0.1.2 itsdangerous 2.1.2 jedi 0.19.1 Jinja2 3.1.2 joblib 1.3.2 json5 0.9.14 jsonpickle 3.0.2 jsonpointer 2.4 jsonschema 4.21.1 jsonschema-specifications 2023.12.1 jupyter 1.0.0 jupyter_client 8.6.0 jupyter-console 6.6.3 jupyter_core 5.7.1 jupyter-events 0.9.0 jupyter-lsp 2.2.2 jupyter_server 2.12.5 jupyter_server_terminals 0.5.2 jupyterlab 4.0.11 jupyterlab_pygments 0.3.0 jupyterlab_server 2.25.2 jupyterlab-widgets 3.0.9 kiwisolver 1.4.4 manim 0.18.1 ManimPango 0.4.4 mapbox_earcut 1.0.2 markdown-it-py 3.0.0 MarkupSafe 2.1.3 matplotlib 3.8.2 matplotlib-inline 0.1.6 mdurl 0.1.2 mistune 3.0.2 moderngl 5.11.1 moderngl-window 2.4.6 mpmath 1.3.0 multipledispatch 1.0.0 munkres 1.1.4 music-tag 0.4.3 mutagen 1.47.0 nbclient 0.9.0 nbconvert 7.14.2 nbformat 5.9.2 nest-asyncio 1.5.8 networkx 3.3 notebook 7.0.7 notebook_shim 0.2.3 numpy 1.26.2 openpyxl 3.1.2 overrides 7.7.0 packaging 23.1 pandas 2.1.4 pandas-flavor 0.6.0 pandocfilters 1.5.1 parso 0.8.3 patsy 0.5.6 pexpect 4.9.0 Pillow 10.0.1 pingouin 0.5.5 pip 23.3.1 platformdirs 4.1.0 plotly 5.18.0 prometheus-client 0.19.0 prompt-toolkit 3.0.43 psutil 5.9.8 ptyprocess 0.7.0 pure-eval 0.2.2 pycairo 1.27.0 pycparser 2.21 pycryptodomex 3.20.0 pydub 0.25.1 pyglet 2.0.17 Pygments 2.17.2 pyobjc-core 10.3.1 pyobjc-framework-Cocoa 10.3.1 PyOpenGL 3.1.7 pyparsing 3.0.9 PyQt5 5.15.10 PyQt5-Qt5 5.15.11 PyQt5-sip 12.13.0 PyQt6 6.6.1 PyQt6-Qt6 6.6.1 PyQt6-sip 13.6.0 pyrr 0.10.3 pyserial 3.5 python-dateutil 2.8.2 python-json-logger 2.0.7 pytz 2023.3.post1 PyYAML 6.0.1 pyzmq 25.1.2 qtconsole 5.5.1 QtPy 2.4.1 referencing 0.32.1 requests 2.32.3 retrying 1.3.4 rfc3339-validator 0.1.4 rfc3986-validator 0.1.1 rich 13.9.2 rpds-py 0.17.1 scikit-learn 1.3.2 scipy 1.11.4 screeninfo 0.8.1 seaborn 0.13.2 Send2Trash 1.8.2 setuptools 68.0.0 si-prefix 1.3.3 six 1.16.0 skia-pathops 0.8.0.post1 sniffio 1.3.0 soundfile 0.12.1 soupsieve 2.5 srt 3.5.3 stack-data 0.6.3 statsmodels 0.14.3 sty 1.0.6 svgelements 1.9.6 sympy 1.13.3 tabulate 0.9.0 tenacity 8.2.3 terminado 0.18.0 threadpoolctl 3.2.0 tikzplotlib 0.10.1 tinycss2 1.2.1 tornado 6.3.3 tqdm 4.66.5 traitlets 5.14.1 types-python-dateutil 2.8.19.20240106 typing_extensions 4.9.0 tzdata 2023.3 uri-template 1.3.0 urllib3 2.1.0 validators 0.34.0 watchdog 5.0.3 wcwidth 0.2.13 webcolors 1.13 webencodings 0.5.1 websocket-client 1.7.0 websockets 12.0 Werkzeug 3.0.1 wheel 0.41.2 widgetsnbextension 4.0.9 xarray 2024.9.0 yt-dlp 2024.7.25 zipp 3.17.0 ```LaTeX details
+ LaTeX distribution: TeX Live 2023 + Installed LaTeX packages: no other than TeX Live 2023 base install.Note: the issue has been evoked here.