探索Pyecharts关系图绘制技巧:炫酷效果与创意呈现【第42篇—python:Pyecharts水球图】

文章目录

  • Pyecharts绘制多种炫酷关系网图
    • 引言
    • 准备工作
    • 代码实战
      • 1. 基本关系网图
      • 2. 自定义节点样式和边样式
      • 3. 关系网图的层级结构
      • 4. 添加标签和工具提示
      • 5. 动态关系网图
      • 6. 高级关系网图 - Les Miserables 示例
      • 7. 自定义关系网图布局
      • 8. 添加背景图
      • 9. 3D 关系网图
      • 10. 热力关系网图
      • 11. 细粒度控制节点和边的样式
      • 12. 使用 Symbol 图标作为节点
      • 13. 使用涟漪特效
      • 14. 动态修改关系网图数据
      • 15. 使用自定义的关系算法
      • 16. 使用 MarkLine 增强关系图
      • 17. 在关系图中添加动态效果
      • 18. 关系图的异步加载
      • 19. 自定义关系图背景
      • 20. 在关系图中使用 Tooltip
    • 总结

Pyecharts绘制多种炫酷关系网图

引言

在数据可视化领域,关系网图是一种强大的工具,可以展示实体之间的复杂关系。Pyecharts 是一个基于 Echarts 的 Python 可视化库,提供了简单而强大的接口,使得绘制关系网图变得轻松而愉快。本文将介绍 Pyecharts 绘制多种炫酷关系网图的参数说明,并通过代码实战演示如何创建令人印象深刻的关系网图。

准备工作

在开始之前,确保已经安装了 Pyecharts 和相关的依赖库。可以通过以下命令安装:

pip install pyecharts

代码实战

1. 基本关系网图

首先,让我们从一个基本的关系网图开始,展示实体之间的简单连接。

from pyecharts import options as opts
from pyecharts.charts import Graph# 构造节点和边
nodes = [{"name": "A"}, {"name": "B"}, {"name": "C"}]
links = [{"source": "A", "target": "B"}, {"source": "B", "target": "C"}]# 创建图表
graph = (Graph().add("", nodes, links, repulsion=8000).set_global_opts(title_opts=opts.TitleOpts(title="基本关系网图"))
)# 保存图表
graph.render("basic_relation_graph.html")

在这里插入图片描述

2. 自定义节点样式和边样式

为了使关系网图更具吸引力,我们可以自定义节点和边的样式。

from pyecharts import options as opts
from pyecharts.charts import Graph# 构造节点和边,并为节点指定样式
nodes = [{"name": "A", "symbolSize": 50, "itemStyle": {"color": "red"}}, {"name": "B", "symbolSize": 30, "itemStyle": {"color": "blue"}}, {"name": "C", "symbolSize": 40, "itemStyle": {"color": "green"}}]# 为边指定样式
links = [{"source": "A", "target": "B", "lineStyle": {"width": 2, "color": "orange"}},{"source": "B", "target": "C", "lineStyle": {"width": 3, "color": "purple"}}]# 创建图表
graph = (Graph().add("", nodes, links, repulsion=8000).set_global_opts(title_opts=opts.TitleOpts(title="自定义节点和边样式"))
)# 保存图表
graph.render("custom_style_graph.html")

3. 关系网图的层级结构

有时,我们希望展示关系网图的层级结构,使得图表更加清晰。

from pyecharts import options as opts
from pyecharts.charts import Graph# 构造节点和边,并为节点指定层级
nodes = [{"name": "A", "symbolSize": 50, "category": 0}, {"name": "B", "symbolSize": 30, "category": 1}, {"name": "C", "symbolSize": 40, "category": 1}]# 为边指定层级
links = [{"source": "A", "target": "B"}, {"source": "B", "target": "C"}]# 创建图表
graph = (Graph().add("", nodes, links, repulsion=8000, categories=[{"name": "Category 0"}, {"name": "Category 1"}]).set_global_opts(title_opts=opts.TitleOpts(title="关系网图的层级结构"))
)# 保存图表
graph.render("hierarchical_graph.html")

4. 添加标签和工具提示

通过添加标签和工具提示,我们可以为关系网图提供更多信息。

from pyecharts import options as opts
from pyecharts.charts import Graph# 构造节点和边,并为节点添加标签
nodes = [{"name": "A", "symbolSize": 50, "label": {"show": True}}, {"name": "B", "symbolSize": 30, "label": {"show": True}}, {"name": "C", "symbolSize": 40, "label": {"show": True}}]# 为边添加工具提示
links = [{"source": "A", "target": "B", "tooltip": {"show": True, "formatter": "A与B之间的关系"}}, {"source": "B", "target": "C", "tooltip": {"show": True, "formatter": "B与C之间的关系"}}]# 创建图表
graph = (Graph().add("", nodes, links, repulsion=8000).set_global_opts(title_opts=opts.TitleOpts(title="添加标签和工具提示"))
)# 保存图表
graph.render("label_tooltip_graph.html")

在这里插入图片描述

5. 动态关系网图

在某些场景下,我们希望展示关系的动态变化,这时可以使用动态关系网图。

from pyecharts import options as opts
from pyecharts.charts import Graph# 构造节点和边,并为节点添加时间轴数据
nodes = [{"name": "A"}, {"name": "B"}, {"name": "C"}]
links = [{"source": "A", "target": "B"}, {"source": "B", "target": "C"}]
timeline_data = ["2022-01-01", "2022-02-01", "2022-03-01"]# 创建动态图表
graph = (Graph().add(series_name="",nodes=nodes,links=links,repulsion=8000,linestyle_opts=opts.LineStyleOpts(width=2),).set_global_opts(title_opts=opts.TitleOpts(title="动态关系网图"),xaxis_opts=opts.AxisOpts(type_="category", boundary_gap=False),yaxis_opts=opts.AxisOpts(type_="value"),timeline_opts=opts.TimelineOpts(data=timeline_data, is_auto_play=True, is_inverse=True),)
)# 保存图表
graph.render("dynamic_relation_graph.html")

6. 高级关系网图 - Les Miserables 示例

以《悲惨世界》(Les Miserables)小说中人物关系为例,展示一个更复杂的关系网图。

from pyecharts import options as opts
from pyecharts.charts import Graph# 读取Les Miserables数据
with open("les_miserables.json", "r", encoding="utf-8") as f:data = f.read()nodes, links, categories, _ = eval(data)# 创建图表
graph = (Graph().add(series_name="",nodes=nodes,links=links,categories=categories,layout="circular",repulsion=50,is_rotate_label=True,).set_global_opts(title_opts=opts.TitleOpts(title="Les Miserables 人物关系图"),legend_opts=opts.LegendOpts(orient="vertical", pos_left="2%", pos_top="20%"),)
)# 保存图表
graph.render("les_miserables_graph.html")

以上代码中,les_miserables.json 包含了《悲惨世界》中人物的关系数据,可以从相关数据集中获取。

7. 自定义关系网图布局

Pyecharts 提供了多种布局算法,可以根据需求选择合适的布局,使关系网图更易于理解。

from pyecharts import options as opts
from pyecharts.charts import Graph# 构造节点和边
nodes = [{"name": "A"}, {"name": "B"}, {"name": "C"}]
links = [{"source": "A", "target": "B"}, {"source": "B", "target": "C"}]# 创建图表,指定力导向布局
graph = (Graph().add("", nodes, links, layout="force", repulsion=8000).set_global_opts(title_opts=opts.TitleOpts(title="自定义关系网图布局"))
)# 保存图表
graph.render("custom_layout_graph.html")

8. 添加背景图

为关系网图添加背景图可以更好地展示实体之间的关系。

from pyecharts import options as opts
from pyecharts.charts import Graph# 构造节点和边
nodes = [{"name": "A"}, {"name": "B"}, {"name": "C"}]
links = [{"source": "A", "target": "B"}, {"source": "B", "target": "C"}]# 创建图表,添加背景图
graph = (Graph().add("", nodes, links, repulsion=8000).set_global_opts(title_opts=opts.TitleOpts(title="关系网图添加背景图"),graphic_opts=[opts.GraphicImage(graphic_item=opts.GraphicItem(id_="bg", right=0, top=0, z=-1, bounding="raw"),graphic_imagestyle_opts=opts.GraphicImageStyle(image="background_image.jpg", width=800, height=600),)],)
)# 保存图表
graph.render("background_image_graph.html")

9. 3D 关系网图

使用 Pyecharts 的 3D 功能,可以创建具有立体感的关系网图。

from pyecharts import options as opts
from pyecharts.charts import Graph# 构造节点和边
nodes = [{"name": "A", "symbolSize": 50}, {"name": "B", "symbolSize": 30}, {"name": "C", "symbolSize": 40}]
links = [{"source": "A", "target": "B"}, {"source": "B", "target": "C"}]# 创建3D关系网图
graph = (Graph().add("", nodes, links, repulsion=8000, is_3d=True).set_global_opts(title_opts=opts.TitleOpts(title="3D关系网图"))
)# 保存图表
graph.render("3d_relation_graph.html")

10. 热力关系网图

通过调整边的颜色和宽度,可以呈现关系的热度。

from pyecharts import options as opts
from pyecharts.charts import Graph# 构造节点和边
nodes = [{"name": "A"}, {"name": "B"}, {"name": "C"}]
links = [{"source": "A", "target": "B", "value": 5}, {"source": "B", "target": "C", "value": 8}]# 创建热力关系网图
graph = (Graph().add("", nodes, links, repulsion=8000, edge_symbol=["circle", "arrow"]).set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts(title_opts=opts.TitleOpts(title="热力关系网图"))
)# 保存图表
graph.render("heat_relation_graph.html")

11. 细粒度控制节点和边的样式

Pyecharts 提供了细粒度的样式控制,使得我们可以更灵活地调整节点和边的外观。

from pyecharts import options as opts
from pyecharts.charts import Graph# 构造节点和边
nodes = [{"name": "A", "symbolSize": 50, "itemStyle": {"color": "red", "borderColor": "black"}},{"name": "B", "symbolSize": 30, "itemStyle": {"color": "blue", "borderColor": "black"}},{"name": "C", "symbolSize": 40, "itemStyle": {"color": "green", "borderColor": "black"}},
]
links = [{"source": "A", "target": "B", "lineStyle": {"width": 2, "color": "orange"}},{"source": "B", "target": "C", "lineStyle": {"width": 3, "color": "purple"}},
]# 创建图表
graph = (Graph().add("", nodes, links, repulsion=8000).set_global_opts(title_opts=opts.TitleOpts(title="细粒度控制节点和边的样式"))
)# 保存图表
graph.render("fine_grained_style_graph.html")

12. 使用 Symbol 图标作为节点

Pyecharts 支持使用各种图标作为节点,提供了丰富的内置图标供选择。

from pyecharts import options as opts
from pyecharts.charts import Graph# 构造节点和边,使用 Symbol 图标作为节点
nodes = [{"name": "A", "symbol": "circle"}, {"name": "B", "symbol": "rect"}, {"name": "C", "symbol": "triangle"}]
links = [{"source": "A", "target": "B"}, {"source": "B", "target": "C"}]# 创建图表
graph = (Graph().add("", nodes, links, repulsion=8000).set_global_opts(title_opts=opts.TitleOpts(title="使用 Symbol 图标作为节点"))
)# 保存图表
graph.render("symbol_as_node_graph.html")

13. 使用涟漪特效

通过使用涟漪特效,可以使关系网图更加生动有趣。

from pyecharts import options as opts
from pyecharts.charts import Graph# 构造节点和边,添加涟漪特效
nodes = [{"name": "A"}, {"name": "B"}, {"name": "C"}]
links = [{"source": "A", "target": "B"}, {"source": "B", "target": "C"}]# 创建图表
graph = (Graph().add("", nodes, links, repulsion=8000, is_roam=True, is_focusnode=True).set_global_opts(title_opts=opts.TitleOpts(title="使用涟漪特效"))
)# 保存图表
graph.render("ripple_effect_graph.html")

在这里插入图片描述

14. 动态修改关系网图数据

Pyecharts 支持动态修改关系网图的数据,使得图表能够实时更新。

from pyecharts import options as opts
from pyecharts.charts import Graph# 初始节点和边数据
initial_nodes = [{"name": "A"}, {"name": "B"}, {"name": "C"}]
initial_links = [{"source": "A", "target": "B"}, {"source": "B", "target": "C"}]# 创建图表
graph = Graph().add("", initial_nodes, initial_links, repulsion=8000)# 设置全局配置
graph.set_global_opts(title_opts=opts.TitleOpts(title="动态修改关系网图数据"))# 保存初始状态图表
graph.render("dynamic_data_graph_initial.html")# 动态修改数据
new_nodes = [{"name": "D"}, {"name": "E"}]
new_links = [{"source": "D", "target": "E"}]# 更新图表
graph.add("", new_nodes, new_links)
graph.render("dynamic_data_graph_updated.html")

15. 使用自定义的关系算法

Pyecharts 允许用户使用自定义的关系算法,以更好地控制节点之间的关系。

from pyecharts import options as opts
from pyecharts.charts import Graph# 构造节点和边
nodes = [{"name": "A", "symbolSize": 50}, {"name": "B", "symbolSize": 30}, {"name": "C", "symbolSize": 40}]
links = [{"source": "A", "target": "B"}, {"source": "B", "target": "C"}]# 创建图表,使用自定义的关系算法
graph = (Graph().add("",nodes,links,layout="circular",repulsion=8000,edge_symbol=["circle", "arrow"],edge_symbol_size=[4, 10],).set_global_opts(title_opts=opts.TitleOpts(title="使用自定义的关系算法"))
)# 保存图表
graph.render("custom_relation_algorithm_graph.html")

16. 使用 MarkLine 增强关系图

在关系图中,有时候我们希望通过 MarkLine 来强调某些特殊的关系,这样可以更加直观地传达信息。

from pyecharts import options as opts
from pyecharts.charts import Graph# 构造节点和边
nodes = [{"name": "A"}, {"name": "B"}, {"name": "C"}]
links = [{"source": "A", "target": "B"}, {"source": "B", "target": "C"}]# 创建图表,使用 MarkLine 增强关系图
graph = (Graph().add("", nodes, links, repulsion=8000).set_global_opts(title_opts=opts.TitleOpts(title="使用 MarkLine 增强关系图"),visualmap_opts=opts.VisualMapOpts(pos_left="right", pos_top="center", orient="vertical"),).set_series_opts(label_opts=opts.LabelOpts(is_show=False),linestyle_opts=opts.LineStyleOpts(width=2, opacity=0.6),).add(series_name="",data_pair=links,linestyle_opts=opts.LineStyleOpts(width=1, opacity=0.3, curve=0.3, type_="dotted"),markline_opts=opts.MarkLineOpts(symbol=["none", "none"],linestyle_opts=opts.LineStyleOpts(width=2, type_="solid"),data=[opts.MarkLineItem(type_="average", name="平均值")],),)
)# 保存图表
graph.render("markline_relation_graph.html")

17. 在关系图中添加动态效果

通过设置 is_animation 参数,我们可以为关系图添加动态效果,增强可视化的吸引力。

from pyecharts import options as opts
from pyecharts.charts import Graph# 构造节点和边
nodes = [{"name": "A"}, {"name": "B"}, {"name": "C"}]
links = [{"source": "A", "target": "B"}, {"source": "B", "target": "C"}]# 创建图表,添加动态效果
graph = (Graph().add("", nodes, links, repulsion=8000, is_animation=True).set_global_opts(title_opts=opts.TitleOpts(title="关系图添加动态效果"))
)# 保存图表
graph.render("animated_relation_graph.html")

18. 关系图的异步加载

对于大规模的关系图,为了提高性能,可以使用异步加载的方式,按需加载数据。

import time
from pyecharts import options as opts
from pyecharts.charts import Graph# 模拟异步加载数据
def load_data() -> tuple:time.sleep(2)  # 模拟加载耗时nodes = [{"name": "A"}, {"name": "B"}, {"name": "C"}]links = [{"source": "A", "target": "B"}, {"source": "B", "target": "C"}]return nodes, links# 创建图表,异步加载数据
graph = Graph(init_opts=opts.InitOpts(width="100%", height="800px"))# 通过 add_js_funcs 方法调用异步加载数据的函数
graph.add_js_funcs(load_data)# 设置全局配置
graph.set_global_opts(title_opts=opts.TitleOpts(title="关系图异步加载"))# 保存图表
graph.render("async_load_relation_graph.html")

19. 自定义关系图背景

通过设置 graphic_opts 参数,我们可以为关系图添加自定义的背景元素,增强图表的美观度。

from pyecharts import options as opts
from pyecharts.charts import Graph# 构造节点和边
nodes = [{"name": "A"}, {"name": "B"}, {"name": "C"}]
links = [{"source": "A", "target": "B"}, {"source": "B", "target": "C"}]# 创建图表,添加自定义背景
graph = (Graph().add("", nodes, links, repulsion=8000).set_global_opts(title_opts=opts.TitleOpts(title="自定义关系图背景"),graphic_opts=[opts.GraphicRect(graphic_item=opts.GraphicItem(0, 0, width="100%", height="100%", transparent=True),graphic_shape_opts=opts.GraphicShapeOpts(fill="rgba(0,0,0,0.3)"),)],)
)# 保存图表
graph.render("custom_background_relation_graph.html")

20. 在关系图中使用 Tooltip

通过添加 Tooltip,我们可以在关系图中展示更详细的信息,提高图表的信息传达能力。

from pyecharts import options as opts
from pyecharts.charts import Graph# 构造节点和边
nodes = [{"name": "A", "value": 10}, {"name": "B", "value": 20}, {"name": "C", "value": 15}]
links = [{"source": "A", "target": "B"}, {"source": "B", "target": "C"}]# 创建图表,添加 Tooltip
graph = (Graph().add("", nodes, links, repulsion=8000).set_global_opts(title_opts=opts.TitleOpts(title="关系图使用 Tooltip"),tooltip_opts=opts.TooltipOpts(formatter="{b}:{c}"),)
)# 保存图表
graph.render("tooltip_relation_graph.html")

通过这些示例,我们进一步了解了 Pyecharts 绘制多种炫酷关系图的技巧和方法。这些功能的灵活运用可以使你更好地定制和呈现关系图,展示出更丰富和有趣的信息。在实际应用中,你可以根据需求灵活运用这些技巧,为关系图增色添彩。
在这里插入图片描述

总结

在本篇技术博客中,我们深入学习了使用 Pyecharts 绘制多种炫酷关系图的方法,包括基本关系图、自定义样式、布局控制、动态效果、异步加载、背景定制、MarkLine 增强关系图、Tooltip 使用等多个方面。以下是一些总结和重要的观点:

  1. 基本关系图绘制: 我们从最基础的关系图开始,介绍了如何构造节点和边,并使用 Pyecharts 创建简单而直观的关系图。

  2. 自定义样式: 通过自定义节点和边的样式,我们可以使关系图更具个性,符合实际应用场景的需求。

  3. 布局控制: Pyecharts 提供了多种布局算法,允许用户根据需要选择合适的布局方式,以更好地呈现关系图。

  4. 动态效果和异步加载: 通过设置动态效果和异步加载,可以增强关系图的可视化效果,使用户交互更加流畅。

  5. 背景定制和图表增强: Pyecharts 提供了灵活的背景定制和图表增强功能,使用户可以更好地美化关系图,突出重点信息。

  6. MarkLine 增强关系图: 使用 MarkLine 可以在关系图中强调某些特殊的关系,提高图表的信息传达能力。

  7. Tooltip 使用: 添加 Tooltip 可以在关系图中展示更详细的信息,提供更好的用户体验。

通过这些技巧,我们可以创建出各种各样炫酷、直观、有趣的关系图,从而更好地理解和展示复杂的数据关系。同时,Pyecharts 提供了丰富的功能和参数,使得用户在可视化过程中具有更大的灵活性和创造力。希望读者能够根据本文的指导,更好地利用 Pyecharts 创建出令人印象深刻的关系图,为数据可视化工作带来更多的灵感和创新。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/652241.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

同为科技(TOWE)自动控制循环定时插座

随着科技的发展,智能化家居已成为我们生活的重要组成部分。作为国内领先的智能家居品牌,同为科技(TOWE)推出的自动控制循环定时插座,无疑将科技与生活完美地结合在一起。 1.外观设计 同为科技(TOWE&#x…

java中aes加密解密工具类

java中aes加密解密工具类 字符串:{“DATA”:{“SJH”:“17600024168”,“DLZH”:“91510104MA67FPXR5T”,“DLMM”:“jhdz123456”,“DLSF”:“5”,“NSRSBH”:“91510104MA67FPXR5T”},“JRSF”:“23”} 加密后:y4mzmi3jta22aXeIPfEdzu8sgA9uy3OevaIY…

Tomcat10安装报错Unknown module: java.rmi specified to --add-opens

错误原因需要根据自己的tomcat的版本查看 需要根据自己的tomcat找到对应安装的java版本(查看版本网址)https://tomcat.apache.org/whichversion.html 将电脑当中的环境变量JRE_HOME变量删除即可(具体如下图)

vmware-VCSA6.0部署

下载vcsa的iso包,解压后首先安装VMware-ClientIntegrationPlugin-6.0.0-6823256.exe 如果不配置域名配置成ip地址也可以 https://172.16.51.202/

使用大模型检索增强 Rerank 模型,检索效果提升太明显了!

Rerank 在 RAG(Retrieval-Augmented Generation)过程中扮演了一个非常重要的角色,普通的 RAG 可能会检索到大量的文档,但这些文档可能并不是所有的都跟问题相关,而 Rerank 可以对文档进行重新排序和筛选,让…

yum指令——Linux的软件包管理器

. 个人主页:晓风飞 专栏:数据结构|Linux|C语言 路漫漫其修远兮,吾将上下而求索 文章目录 什么是软件包yum指令1.yum 是什么?2.Linux系统(Centos)的生态 3.yum的相关操作安装卸载yum的相关操作小结 软件源安…

「 网络安全术语解读 」通用攻击模式枚举和分类CAPEC详解

引言:在网络安全领域,了解攻击者的行为和策略对于有效防御攻击至关重要。然而,攻击模式的描述和分类方式缺乏统一性和标准化。为了解决这个问题,MITRE公司创建了CAPEC标准,以提供一个共享和统一的攻击模式分类框架。 1…

保姆级教学:Java项目从0到1部署到云服务器

目录 1、明确内容 2、apt 2.1、apt 语法 2.2、常用命令 2.3、更新apt 3、安装JDK17 4、安装MySQL 4.1、安装 4.2、检查版本及安装位置 4.3、初始化MySQL配置⭐ 4.4、检查状态 4.5、配置远程访问⭐ 4.6、登录MySQL 4.7、测试数据库 4.8、设置权限与密码⭐ 5、安…

C动态内存那些事

为什么存在动态内存分配? 首先,动态内存分配是计算机中一种重要的内存管理方法,它主要解决了静态内存分配无法灵活应对变化需求的问题。以下是几个存在动态内存分配的原因: 灵活性:动态内存分配允许程序在运行时根据需…

算法学习之位运算

一、作用 在复杂问题中经常可以作为工具让代码更加优雅。 二、知识储备基础 “~”:取反符 0->1, 1->0 三、常见的两种操作 1.n的二进制表示中第k位数字是几? (1)原理 先右移操作,再与操作。 (2)代码实现…

HarmonyOS 沉浸式状态栏实现

比如说 我们代码是这样的 Entry Component struct Index {build() {Column() {Column() {Column() {Text(定标标题).fontSize(20).fontColor(Color.White)}.height(50).justifyContent(FlexAlign.Center)}.width(100%).backgroundColor(#FF0000)}.height(100%)} }你预览器上看…

漏洞原理SQL注入 手工注入漏洞

漏洞原理SQL注入 手工注入漏洞 SQL 注入的前置知识 information_schema库information_schema 是mysql5.0以上版本中自带的一个数据库。tables表information_schema库中的tables表中table_schema列(存储数据库名)和table_name列(存储表名&…

MongoDB实战

1.MongoDB介绍 1.1 什么是MongoDB MongoDB是一个文档数据库(以JSON 为数据模型),由C语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。 文档来自于"JSON Document",并非我们一般理解的 PDF&…

【MIdjourney】五个特殊物体关键词

1.碳酸(Carbonate) 这一词语的本意是指包含碳(C)、氧(O)和氢(H)元素的化合物。而在MIdjourney中添加该词汇会使得生成的图片具有水滴效果且富有动态感。 2.灯丝(Filament) Filament效果可能包括更逼真的…

java 基础学习1

目录 一.注释 二.关键字 三.字面量 四.变量和标识符 五.键盘录入 六.运算符 一.注释 1.单行注释://注释信息 2.多行注释:/* 注释信息*/ 3.文档注释:/** 注释信息*/ 注:文档注释暂时用不上 二.关键字 关键字: 被Java赋予了特定…

Django介绍

一、介绍 Django是Python语言中的一个Web框架,Python语言中主流的web框架有Django、Tornado、Flask 等多种 优势:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等功能,是一个全能型框架,拥有自己的A…

有趣的css - 好看的呼吸灯效果

整体效果 这个效果主要用 css3 的 animation 属性来实现的。 这个效果可以用作在网站的整体 Loading&#xff0c;也可以放在网站首屏当一个 banner 的背景也是非常棒的&#xff01; 代码部分 html 部分代码&#xff1a; <div class"app"><span class&quo…

【问题解决】java-word转pdf踩坑

问题情境&#xff1a; 项目中采用word转pdf&#xff0c;最开始使用的pdf相关的apache的pdfbox和itextpdf&#xff0c;后面发现对于有图片背景的word转pdf的情景&#xff0c;word中的背景图会直接占用位置&#xff0c;导致正文不会正确落在背景图上。 解决方案&#xff1a; 采…

研发日记,Matlab/Simulink避坑指南(八)——else if分支结构Bug

文章目录 前言 背景介绍 问题描述 分析排查 解决方案 总结归纳 前言 见《研发日记&#xff0c;Matlab/Simulink避坑指南(三)——向上取整Bug》 见《研发日记&#xff0c;Matlab/Simulink避坑指南(四)——transpose()转置函数Bug》 见《研发日记&#xff0c;Matlab/Simuli…