python manim数字缩放语法

发布于 2025-02-04 22:42:40 字数 836 浏览 2 评论 0 原文

Manim Numberline对象:

manim比例对象:

a = NumberLine(
    x_range=[-2.5, 2.5, 0.5],
    length=13,
    decimal_number_config={"num_decimal_places": 1},
    include_numbers=True,
    font_size = 50,
    tick_size = 0.2,
    scaling = LinearBase.function(lambda x:1/x)
)

我是新手编码器,所以我不明白如何通过在范围内的值来告诉我的数字线来扩展x_range。
通过在x_range中反转所有值来缩放我的数字行的适当语法是什么?

Manim NumberLine object:
https://docs.manim.community/en/stable/reference/manim.mobject.graphing.number_line.NumberLine.html
Manim scale object:
https://docs.manim.community/en/stable/_modules/manim/mobject/graphing/scale.html

a = NumberLine(
    x_range=[-2.5, 2.5, 0.5],
    length=13,
    decimal_number_config={"num_decimal_places": 1},
    include_numbers=True,
    font_size = 50,
    tick_size = 0.2,
    scaling = LinearBase.function(lambda x:1/x)
)

I'm a novice coder, so I don't understand how to tell my numberline to scale the x_range, by reciprocating the values in the range.
What's the proper syntax to scale my number line, by inverting all the values in x_range?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

安静被遗忘 2025-02-11 22:42:40

https://github.com/manimcommunity/manimcommunity/manim/manim/discussions/2758

由@behackl。

from typing import Iterable

from manim import *
from manim.mobject.graphing.scale import _ScaleBase

class InverseScale(_ScaleBase):
    def function(self, value: float) -> float:
        return 1 / value
    
    def inverse_function(self, value: float) -> float:
        return 1 / value
        
    def get_custom_labels(self, val_range: Iterable[float], unit_decimal_places=None) -> Iterable[Mobject]:
        label_array = [MathTex(r"%s" % float(np.around(v,1)), color = "#FF40FF") for v in val_range]
        label_array[20] = MathTex('undef')
#         label_array = [MathTex('undef') if i == MathTex('inf') else i for i in label_array]
        return label_array

创建一个自定义类。

https://github.com/ManimCommunity/manim/discussions/2758

Answered on GitHub by @behackl.

from typing import Iterable

from manim import *
from manim.mobject.graphing.scale import _ScaleBase

class InverseScale(_ScaleBase):
    def function(self, value: float) -> float:
        return 1 / value
    
    def inverse_function(self, value: float) -> float:
        return 1 / value
        
    def get_custom_labels(self, val_range: Iterable[float], unit_decimal_places=None) -> Iterable[Mobject]:
        label_array = [MathTex(r"%s" % float(np.around(v,1)), color = "#FF40FF") for v in val_range]
        label_array[20] = MathTex('undef')
#         label_array = [MathTex('undef') if i == MathTex('inf') else i for i in label_array]
        return label_array

Create a custom class.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文