如何将浮点数传递给x_axis

时间:2019-11-22 09:55:25

标签: manim

  1. 我正在尝试创建GraphScene并在0和1之间绘制一个函数。
  2. 我希望标签为0.1和0.3。
  3. 我正在尝试通过先在import AVFoundation中传递"x_labeled_nums": np.array([0.1, 0.3, 1])然后传递"x_axis": {"decimal_number_config": {"num_decimal_places": 2}}来实现此目的,但是我仍在尝试将其传递到x轴上显示整数渲染浮动0.1和0.3
CONFIG

Link to output

2 个答案:

答案 0 :(得分:0)

我通过以下解决方案解决了这个问题:https://youtu.be/YVxhhi14Ha0?list=PL2B6OzTsMUrwo4hA3BBfS7ZR34K361Z8F&t=329

  1. 您必须手动向GraphScene类添加自定义参数。您可以命名为任何名称,我都将其命名为x_label_decimals

  2. 然后将其传递给NumberLine()函数定义内的x_axis参数创建中的setup_axes调用:

  3. 然后可以在GraphScene的实例化中设置x_label_decimals参数。

# example_graph.py
class MyLinePlot(GraphScene):
     CONFIG = {
        ...
        "x_label_decimals": 2,
     }

# graph_scene.py
class GraphScene(Scene):
    CONFIG = {
        "x_min": -1
        ...
        # Added the below line inside the CONFIG object
        "x_label_decimals": 0,
    }

    ...

    def setup_axes(self, animate=False):
        ...
        x_axis = NumberLine(
            x_min=self.x_min,
            x_max=self.x_max,
            unit_size=self.space_unit_to_x,
            tick_frequency=self.x_tick_frequency,
            leftmost_tick=self.x_leftmost_tick,
            numbers_with_elongated_ticks=self.x_labeled_nums,
            color=self.axes_color,

            # Added the below line where we pass new x_label_decimals param
            decimal_number_config={
                "num_decimal_places": self.x_label_decimals,
            },

        )

答案 1 :(得分:0)

我遇到了与您相同的问题,因此决定查看 manim 背后的代码以找出数字四舍五入的原因。原来你犯了一个小错误:

替换“x_axis”

"x_axis": {
        "decimal_number_config": {"num_decimal_places": 2}
    },

使用“x_axis_config”

"x_axis_config": {
        "decimal_number_config": {"num_decimal_places": 2}
    },

因为 x_axis_config 有 decimal_number_config 设置。