0

0

Manim教程:在plot_line_graph中隐藏顶点圆点

花韻仙語

花韻仙語

发布时间:2025-12-05 11:16:31

|

583人浏览过

|

来源于php中文网

原创

Manim教程:在plot_line_graph中隐藏顶点圆点

本文详细介绍了在manim中使用`plot_line_graph`方法绘制线图时,如何隐藏默认显示的顶点圆点。通过简单设置`add_vertex_dots`参数为`false`,用户可以轻松创建无顶点标记的干净线图,从而更好地控制图表的视觉呈现。教程提供了具体的代码示例,帮助读者快速掌握这一技巧,提升manim动画的专业性和美观度。

在Manim中创建动态图表是数据可视化的强大功能之一。Axes类提供的plot_line_graph方法是绘制线图的常用工具。然而,默认情况下,该方法会在线图的每个数据点(即顶点)处绘制一个小圆点,这在某些设计场景下可能并非所愿。本教程将深入探讨如何精确控制plot_line_graph的顶点显示,特别是在需要隐藏这些默认圆点时。

理解plot_line_graph的默认行为

plot_line_graph方法旨在根据一系列数据点绘制折线图。其默认行为是不仅连接这些数据点形成线条,还会在线条的每个顶点处添加一个视觉标记,即一个小的圆点。虽然这在很多情况下有助于突出数据点,但在追求简洁或特定美学效果时,这些圆点可能会显得多余。

解决方案:add_vertex_dots参数

Manim的plot_line_graph方法提供了一个名为add_vertex_dots的布尔类型参数,专门用于控制顶点圆点的显示。该参数的默认值为True,这意味着圆点会被绘制。要隐藏这些圆点,只需将add_vertex_dots参数设置为False即可。

参数详解

  • add_vertex_dots:
    • 类型:bool
    • 默认值:True
    • 作用:当设置为True时,Manim会在每个数据点(顶点)处绘制一个圆点;当设置为False时,这些圆点将被隐藏,只显示连接数据点的线条。

示例代码

以下Manim代码示例演示了如何使用add_vertex_dots参数来控制顶点圆点的显示。我们将首先展示默认带有圆点的线图,然后展示如何通过设置参数来隐藏它们。

AI Content Detector
AI Content Detector

Writer推出的AI内容检测工具

下载
from manim import *

class HidePlotLineGraphDots(Scene):
    def construct(self):
        # 1. 设置坐标系
        axes = Axes(
            x_range=[0, 10, 1],
            y_range=[0, 10, 1],
            x_length=7,
            y_length=5,
            axis_config={"color": BLUE},
            tips=False # 隐藏坐标轴箭头
        ).to_edge(UP + LEFT, buff=0.5) # 将坐标系放置在左上角

        labels = axes.get_axis_labels(x_label="X", y_label="Y")

        # 2. 定义数据点
        data_points = [(0, 0), (2, 4), (4, 1), (6, 7), (8, 3), (10, 5)]

        # 3. 演示默认行为:带有顶点圆点的线图
        graph_with_dots = axes.plot_line_graph(
            data_points,
            line_color=RED,
            add_vertex_dots=True # 显式设置为True,与默认行为一致
        )
        title_with_dots = Text("默认行为:带顶点圆点", font_size=28).next_to(axes, UP)

        self.play(Create(axes), Create(labels))
        self.play(Create(graph_with_dots), Write(title_with_dots))
        self.wait(2)

        # 4. 演示如何隐藏顶点圆点
        # 为了清晰对比,我们将旧图淡出,然后在新位置绘制新图
        self.play(FadeOut(graph_with_dots), FadeOut(title_with_dots))

        # 创建一个新的坐标系或移动旧的,这里我们为了教程的简洁性,在原位置绘制
        # 实际应用中,你可能需要根据动画需求调整Mobject的位置
        graph_no_dots = axes.plot_line_graph(
            data_points,
            line_color=GREEN,
            add_vertex_dots=False # 关键:设置为False以隐藏圆点
        )
        title_no_dots = Text("解决方案:不带顶点圆点", font_size=28).next_to(axes, UP)

        self.play(Create(graph_no_dots), Write(title_no_dots))
        self.wait(2.5)

        self.play(FadeOut(graph_no_dots), FadeOut(title_no_dots), FadeOut(axes), FadeOut(labels))

运行上述代码的步骤:

  1. 确保你已安装Manim。如果未安装,请参考Manim官方文档进行安装。
  2. 将上述代码保存为.py文件(例如hide_dots.py)。
  3. 在命令行中导航到文件所在目录,并运行:
    manim -pql hide_dots.py HidePlotLineGraphDots

    这将生成一个低质量的预览视频,展示带有顶点圆点和不带顶点圆点的线图。

注意事项

  • 版本兼容性: 确保你使用的是Manim Community Edition的最新稳定版本,以保证add_vertex_dots参数的可用性和预期行为。
  • 其他自定义选项: 即使隐藏了顶点圆点,你仍然可以通过line_color、line_stroke_width等参数来自定义线条的样式。如果你希望保留圆点但改变其外观,可以探索vertex_dot_radius和vertex_dot_color等参数。
  • 动画策略: 在实际的Manim动画中,你可能需要更复杂的动画策略来展示两种图表之间的过渡,例如使用Transform或ReplacementTransform。本教程中的示例为了突出参数的使用,采用了简单的淡入淡出。

总结

通过简单地将plot_line_graph方法的add_vertex_dots参数设置为False,你可以轻松地在Manim中绘制出没有顶点圆点的干净线图。这一技巧对于那些追求极简风格或希望通过其他方式(如自定义标记)来表示数据点的用户来说非常有用。掌握此参数的使用,将使你在Manim图表绘制方面拥有更大的灵活性和控制力。

相关专题

更多
Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

8

2026.01.15

公务员递补名单公布时间 公务员递补要求
公务员递补名单公布时间 公务员递补要求

公务员递补名单公布时间不固定,通常在面试前,由招录单位(如国家知识产权局、海关等)发布,依据是原入围考生放弃资格,会按笔试成绩从高到低递补,递补考生需按公告要求限时确认并提交材料,及时参加面试/体检等后续环节。要求核心是按招录单位公告及时响应、提交材料(确认书、资格复审材料)并准时参加面试。

44

2026.01.15

公务员调剂条件 2026调剂公告时间
公务员调剂条件 2026调剂公告时间

(一)符合拟调剂职位所要求的资格条件。 (二)公共科目笔试成绩同时达到拟调剂职位和原报考职位的合格分数线,且考试类别相同。 拟调剂职位设置了专业科目笔试条件的,专业科目笔试成绩还须同时达到合格分数线,且考试类别相同。 (三)未进入原报考职位面试人员名单。

58

2026.01.15

国考成绩查询入口 国考分数公布时间2026
国考成绩查询入口 国考分数公布时间2026

笔试成绩查询入口已开通,考生可登录国家公务员局中央机关及其直属机构2026年度考试录用公务员专题网站http://bm.scs.gov.cn/pp/gkweb/core/web/ui/business/examResult/written_result.html,查询笔试成绩和合格分数线,点击“笔试成绩查询”按钮,凭借身份证及准考证进行查询。

11

2026.01.15

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

65

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

36

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

75

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

21

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

35

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
React 教程
React 教程

共58课时 | 3.6万人学习

Pandas 教程
Pandas 教程

共15课时 | 0.9万人学习

ASP 教程
ASP 教程

共34课时 | 3.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号