新闻中心

Manim教程:控制plot_line_graph中的顶点显示

2025-12-09
浏览次数:
返回列表

Manim教程:控制plot_line_graph中的顶点显示

在使用manim绘制线图时,`plot_line_graph`方法默认会在每个数据点处绘制圆点。本教程将详细介绍如何利用`add_vertex_dots`参数来精确控制这些顶点圆点的显示与隐藏,通过具体的代码示例,帮助用户实现更简洁或定制化的图表展示,避免不必要的视觉干扰,从而提升manim动画的专业性和清晰度。

在Manim中创建动态和静态图表是其强大功能之一。Axes类配合plot_line_graph方法是绘制折线图的常用组合。然而,默认情况下,plot_line_graph不仅会绘制连接数据点的线条,还会自动在每个顶点(即数据点)上添加一个小圆点,这在某些场景下可能不是我们期望的效果,例如当图表线条本身已足够清晰,或需要自定义顶点样式时。

理解 plot_line_graph 与顶点显示

plot_line_graph方法是Axes类的一个成员函数,用于根据给定的数据点列表绘制一条折线。其核心功能是连接一系列坐标点,形成一个视觉上的线条路径。默认情况下,为了强调数据点的位置,Manim会在这些连接点上额外绘制小圆点。

隐藏顶点圆点的方法

Manim的官方文档为plot_line_graph方法提供了一个名为add_vertex_dots的参数。通过将此参数设置为False,可以轻松地禁用默认的顶点圆点显示。

参数详解:

电力公司企业网站(Zblog内核)1.8 电力公司企业网站(Zblog内核)1.8

由于我高估了大家对zblog程序的熟知度,发现还有很多站长并不是太熟悉这款程序,甚至连后台的登陆入口都不清楚。所以我晚上抽了一点点时间把该ZBLOG企业网站源码进行的修正,补充了大家的一些问题。并且我写了比较详细的使用教程,能够帮助新手朋友修改变成自己的企业网站使用。 修订版本改进了几处问题: 第一,修正了单页面中的顶部BANNER FLASH幻灯图片的显示错误问题; 第二,修正了在产品中心标题显

电力公司企业网站(Zblog内核)1.8 0 查看详情 电力公司企业网站(Zblog内核)1.8
  • add_vertex_dots (bool): 默认为True。如果设置为True,则在每个顶点处添加一个Dot对象。如果设置为False,则不添加这些圆点。

示例代码

以下代码示例将展示如何使用plot_line_graph方法绘制折线图,并分别演示启用和禁用顶点圆点的效果。

from manim import *

class LineGraphWithoutDots(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_GRAY},
            tips=False,
        ).add_coordinates()
        axes_label = axes.get_axis_labels(x_label="X", y_label="Y")

        # 2. 定义数据点
        # 格式为 [(x1, y1), (x2, y2), ...]
        data_points = [
            (1, 2), (2, 5), (3, 4), (4, 7), (5, 6), (6, 9)
        ]

        # 3. 绘制带有默认顶点圆点的折线图
        graph_with_dots = axes.plot_line_graph(
            graph_origin=axes.get_origin(),
            x_values=[p[0] for p in data_points],
            y_values=[p[1] for p in data_points],
            line_color=RED,
            add_vertex_dots=True, # 明确指定显示圆点 (默认行为)
            vertex_dot_radius=0.08, # 可以调整圆点大小
            vertex_dot_color=YELLOW
        )
        graph_label_with_dots = Text("带顶点圆点", font_size=24).next_to(graph_with_dots[0], UP)

        # 4. 绘制不带顶点圆点的折线图
        # 为了区分,我们将第二个图向上平移
        data_points_shifted = [
            (p[0], p[1] + 0.5) for p in data_points
        ]
        graph_without_dots = axes.plot_line_graph(
            graph_origin=axes.get_origin(),
            x_values=[p[0] for p in data_points_shifted],
            y_values=[p[1] for p in data_points_shifted],
            line_color=GREEN,
            add_vertex_dots=False # 禁用顶点圆点
        )
        graph_label_without_dots = Text("不带顶点圆点", font_size=24).next_to(graph_without_dots[0], DOWN)

        # 5. 将所有Mobject添加到场景中
        self.play(
            Create(axes),
            Write(axes_label)
        )
        self.wait(0.5)
        self.play(
            Create(graph_with_dots),
            Write(graph_label_with_dots)
        )
        self.wait(1)
        self.play(
            Create(graph_without_dots),
            Write(graph_label_without_dots)
        )
        self.wait(2)

代码解析:

  1. 我们首先创建了一个标准的Axes坐标系。
  2. 定义了一组用于绘制线图的数据点data_points。
  3. 第一次调用axes.plot_line_graph时,我们明确设置add_vertex_dots=True(这其实是默认行为,但此处为了演示清晰而显式设置),并调整了圆点的颜色和半径,以展示其可定制性。
  4. 第二次调用axes.plot_line_graph时,我们将add_vertex_dots参数设置为False。此时,Manim将只绘制连接数据点的线条,而不会在这些点上添加任何圆点。为了避免图层重叠,我们稍微平移了第二个图的数据。
  5. 最后,通过self.play方法将这些元素逐一添加到场景中,展示其动画效果。

注意事项与总结

  • 默认行为: 记住plot_line_graph的add_vertex_dots参数默认为True。如果你不显式设置它,圆点将始终显示。
  • 定制化: 即使add_vertex_dots为True,你也可以通过vertex_dot_color和vertex_dot_radius等参数进一步定制这些圆点的外观。
  • 简洁性: 在某些数据密集或视觉效果要求简洁的场景下,隐藏顶点圆点可以有效减少视觉噪音,使图表更易于理解。
  • 查阅文档: 遇到任何Manim功能问题时,查阅官方文档是最佳实践。plot_line_graph的详细参数和用法可以在Manim官方文档中找到。

通过掌握add_vertex_dots参数,Manim用户可以更灵活地控制线图的视觉呈现,从而创建出更符合特定需求和美学标准的动画。

以上就是Manim教程:控制plot_line_graph中的顶点显示的详细内容,更多请关注其它相关文章!


# 不带  # 昆明网站推广高手招聘网  # 谷歌seo自学运营  # 建湖县关键词seo排名优化  # 哪些网站不适合优化产品  # 北疆网站优化定制  # 优化网站排名赞美易速达  # 抚顺seo软件怎么操作  # 玉林网站建设公司  # 任城短视频营销推广平台  # 达内seo技术培训  # ai  # 第二个  # 折线图  # 文档  # 离线  # 会在  # 验证码  # 设置为  # 企业网站  # 圆点  # red 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 虚幻5科幻题材ARPG大作遭取消!本是《奇异人生》厂商新作  曝R星经典之作开发图 设计简陋但信息密集!  微博网页版官方账号登录 微博网页版内容浏览使用指南  文心一言怎样用批量生成做多版文案_文心一言用批量生成做多版文案【批量创作】  React/Next.js中实现列表项的动态选择与移动  J*a中实现Go语言select通道多路复用机制  AWS EC2实例间SQL Server连接超时:安全组配置与故障排除指南  mysql如何设置表访问权限_mysql表访问权限配置  PHP表单数据传递:如何通过隐藏输入字段获取动态ID  R星幕后开发视频泄露 包含《GTA6》等多款大作  Python中如何避免重复条件判断:利用数据结构实现动态逻辑  妖精动漫免费平台 妖精动漫官网资源观看网址  快手网页版在线登录 快手网页版官网入口快速访问  GemBox Document HTML转PDF垂直文本渲染问题及解决方案  2026春节假期票务安排_2026春节放假购票指南  Yandex官网搜索引擎免登录_俄罗斯Yandex一键直达入口  优化 Jest 模拟:强制未实现函数抛出错误以提升测试效率  知乎APP怎么管理已购盐选内容_知乎APP盐选内容购买记录与查看方法  批改网学生版PC登录 批改网官网登录系统入口  深入理解字体排版:Adobe光学字偶距与CSS字偶距的差异与实现  双系统安装时,如何设置默认启动系统? msconfig命令了解一下!  一加Ace 6T支持全新明眸护眼:通过了最严苛的护眼小金标认证  Lar*el表单中优雅地处理“返回”按钮以规避验证:最佳实践指南  Windows10怎么开启夜间模式 Windows10系统设置调整色温与亮度缓解夜间用眼疲劳【教程】  zookeeper 都有哪些功能?  微信语音通话掉线如何解决 微信语音通话稳定优化方法  j*a toString()的覆盖  qq游戏免费畅玩入口_qq游戏电脑版快速启动  WordPress插件开发:正确注册卸载钩子与避免常见陷阱  Fabric Mod开发:在1.19.3+版本中正确添加自定义物品并管理物品组  Golang如何优雅处理error_Golang error处理最佳实践总结  网易大神怎么保存别人动态的图片_网易大神动态图片保存方法  Excel中VLOOKUP的第四个参数是干什么用的_Excel VLOOKUP第四参数作用解析  Go调试环境为何无法启动_Go调试器启动失败原因与解决策略  Win11怎么查看电脑配置_Win11硬件配置检测工具使用  C++20的source_location是什么_C++在编译期获取源码位置信息用于日志和断言  Excel如何用迷你图显趋势_Excel用迷你图显趋势【趋势小图】  淘宝网网页版登录入口 淘宝官方网页版快捷登录  怎么去除衣服上的口红印_生活小妙招教你用酒精轻松擦除  J*a TimerTask中HashMap意外清空的深层原因与解决方案  动漫花园资源网使用步骤_动漫花园资源网下载流程  钉钉视频会议声音异常如何处理 钉钉会议音频修复技巧  React Router v6 教程:构建认证保护的私有路由与重定向策略  支付宝如何设置安全保护_支付宝安全设置的全面教程  在Typer应用中优雅地处理和重组任意命令行参数  Composer如何解决json扩展缺失的错误  搜狗浏览器如何使用密码生成器创建强密码 搜狗浏览器内置密码安全工具  qq浏览器如何查看和导出已保存的密码 qq浏览器密码管理器数据备份教程  sublime如何处理大型CSV文件的列对齐_sublime高级表格编辑插件指南  Golang如何处理RPC请求负载均衡_Golang RPC请求负载均衡策略与实践 

搜索