【Pm4py第七讲】关于visualization

news2024/11/22 18:36:31

本节用于介绍pm4py中的可视化函数,包括可视化bpmn、petri、性能图谱、变迁系统等。

1.函数概述

 本次主要介绍Pm4py中一些常见的可视化函数,总览如下表:

函数名说明
view_alignments(log, aligned_traces[, format])可视化对齐方法

view_bpmn(bpmn_graph[, format, bgcolor, rankdir])

查看BPMN图
view_case_duration_graph(log[, format, ...])可视化案例持续时间图
view_dfg(dfg, start_activities, end_activities)查看(复合)DFG
view_dotted_chart(log[, format, attributes, ...])显示虚线图表
view_events_distribution_graph(log[, ...])显示指定维度中事件的分布
view_events_per_time_graph(log[, format, ...])可视化每个时间的事件图
view_footprints(footprints[, format])可视化足迹矩阵
view_heuristics_net(heu_net[, format, bgcolor])查看启发式网络
view_network_analysis(network_analysis[, ...])可视化网络分析
view_object_graph(ocel, graph[, format, ...])在屏幕上可视化对象图形
view_ocdfg(ocdfg[, annotation, act_metric, ...])使用所提供的配置查看OC-DFG(以对象为中心的直接跟随图)。
view_ocpn(ocpn[, format, bgcolor, rankdir])在屏幕上可视化以对象为中心的Petri网
view_performance_dfg(dfg, start_activities, ...)查看性能DFG
view_performance_spectrum(log, activities[, ...])显示性能频谱
view_petri_net(petri_net[, initial_marking, ...])查看(复合) Petri网
view_prefix_tree(trie[, format, bgcolor])查看前缀树
view_process_tree(tree[, format, bgcolor, ...])查看流程树
view_sna(sna_metric[, variant_str])表示SNA度量(html)
view_transition_system(transition_system[, ...])查看变迁系统

       此外,还有保存可视化图形的方法,这里只需要将view_XXX()改为save_vis_XXX()方法即可,例如,可视化方法view_bpmn()改为可保存的可视化方法为save_vis_bpmn().

2.函数方法介绍

2.1 可视化Petri网

pm4py.vis.view_petri_net(petri_net: PetriNet, initial_marking: Marking | None = None, final_marking: Marking | None = None, format: str = 'png', bgcolor: str = 'white', decorations: Dict[Any, Any] | None = None, debug: bool = False, rankdir: str = 'LR')
说明:可视化Petri网

输入参数:

      petri_net(PetriNet)–petri网
      initial_marking–初始标记
      final_marking–最终标记
      format(str)–输出图片的格式(如果提供了html,则使用GraphvizJS在html页面中呈 现可视化效果)
      bgcolor(str)–可视化的背景色(默认值:白色)
装饰–与Petri网元素相关的装饰(颜色、标签)
     debug(bool)–启用/禁用调试模式的布尔值(显示位置和转换的名称)
     rankdir(str)–设置图形的方向(“LR”表示从左到右;“TB”表示从上到下)

示例代码:

import pm4py

net, im, fm = pm4py.discover_petri_net_inductive(dataframe, activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')
pm4py.view_petri_net(net, im, fm, format='svg')

2.2 可视化性能DFG

pm4py.vis.view_performance_dfg(dfg: dict, start_activities: dict, end_activities: dict, format: str = 'png', aggregation_measure='mean', bgcolor: str = 'white', rankdir: str = 'TB')
说明:可视化性能DFG

输入参数

      dfg(dict)–dfg对象
      start_activities(dict)–启动活动
      end_activities(dict)–结束活动
      format(str)–输出图片的格式(如果提供了html,则使用GraphvizJS在html页面中呈现可视化效果)
      aggregation_measure(str)–聚合度量值(默认值:均值):均值、中值、最小值、最大值、总和、标准差
      bgcolor(str)–可视化的背景色(默认值:白色)
      rankdir(str)–设置图形的方向(“LR”表示从左到右;“TB”表示从上到下)

示例代码:

import pm4py

performance_dfg, start_activities, end_activities = pm4py.discover_performance_dfg(dataframe, case_id_key='case:concept:name', activity_key='concept:name', timestamp_key='time:timestamp')
pm4py.view_performance_dfg(performance_dfg, start_activities, end_activities, format='svg')

2.3 可视化DFG

pm4py.vis.view_dfg(dfg: dict, start_activities: dict, end_activities: dict, format: str = 'png', bgcolor: str = 'white', max_num_edges: int = 9223372036854775807, rankdir: str = 'TB')
说明:可视化DFG

输入参数
    dfg(dict)–dfg对象
    start_activities(dict)–启动活动
    end_activities(dict)–结束活动
    format(str)–输出图片的格式(如果提供了html,则使用GraphvizJS在html页面中呈现可视化效果)
    bgcolor(str)–可视化的背景色(默认值:白色)
    max_num_edges(int)–要在图中表示的最大边数
    rankdir(str)–设置图形的方向(“LR”表示从左到右;“TB”表示从上到下)

示例代码:

import pm4py

dfg, start_activities, end_activities = pm4py.discover_dfg(dataframe, case_id_key='case:concept:name', activity_key='concept:name', timestamp_key='time:timestamp')
pm4py.view_dfg(dfg, start_activities, end_activities, format='svg')

2.4 可视化流程树

pm4py.vis.view_process_tree(tree: ProcessTree, format: str = 'png', bgcolor: str = 'white', rankdir: str = 'TB')
说明:可视化流程树

输入参数

      tree(ProcessTree)–流程树
      format(str)–可视化的格式(如果提供了html,则使用GraphvizJS在html页面中呈现可视化)
      bgcolor(str)–可视化的背景色(默认值:白色)
      rankdir(str)–设置图形的方向(“LR”表示从左到右;“TB”表示从上到下)

示例代码:

import pm4py

process_tree = pm4py.discover_process_tree_inductive(dataframe, activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')
pm4py.view_process_tree(process_tree, format='svg')

2.5 可视化BPMN

pm4py.vis.view_bpmn(bpmn_graph: BPMN, format: str = 'png', bgcolor: str = 'white', rankdir: str = 'LR')
说明:可视化BPMN

输入参数

    bpmn_graph(bpmn)–bpmn图
    format(str)–可视化的格式(如果提供了html,则使用GraphvizJS在html页面中呈现可视化)
    bgcolor(str)–可视化的背景色(默认值:白色)
    rankdir(str)–设置图形的方向(“LR”表示从左到右;“TB”表示从上到下)

示例代码:

import pm4py

bpmn_graph = pm4py.discover_bpmn_inductive(dataframe, activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')
pm4py.view_bpmn(bpmn_graph)

2.6 可视化启发式网

pm4py.vis.view_heuristics_net(heu_net: HeuristicsNet, format: str = 'png', bgcolor: str = 'white')
说明:可视化启发式网

输入参数

      heu_net(启发式网络)–启发式网络
      format(str)–可视化的格式
      bgcolor(str)–可视化的背景色(默认值:白色)

 示例代码:

import pm4py

heu_net = pm4py.discover_heuristics_net(dataframe, activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')
pm4py.view_heuristics_net(heu_net, format='svg')

2.7 可视化点图

pm4py.vis.view_dotted_chart(log: EventLog | DataFrame, format: str = 'png', attributes=None, bgcolor: str = 'white', show_legend: bool = True)

说明:可视化点图。虚线是事件日志中不同维度的事件的经典可视化。事件日志中的每个事件都对应于一个点。尺寸投影在具有:-X轴的图形上:第一个尺寸的值在那里表示Y轴:第二个维度的值在那里表示。-颜色:对于虚线图的点,第三维度的值表示为不同的颜色。
这些值可以是字符串、数字或日期值,并由虚线进行相应的管理。虚线图表可以建立在不同的属性上。点图的一个方便选择是可视化案例和事件在一段时间内的分布,有以下选择:-XX:事件的时间戳。-Y轴:事件日志中事例的索引。-颜色:事件的活动。
上述选择允许识别视觉模式,例如:-批次。-箱子到达率的变化。-案例完成率的变化。

输入参数:

      log–事件日志
     format(str)–图像格式
     attributes–应该用于构造点图的属性。如果“无”,将显示默认的虚线图:x轴:时间y轴:事例(按事件日志中的发生顺序)颜色:活动。对于自定义属性,使用形式为[x轴属性、y轴属性、颜色属性]的属性列表,例如[“concept:name”、“org:resource”、“concept:name”])
     bgcolor(str)–虚线图中使用的背景色
     show_legend(bool)–boolean(启用/禁用显示图例)

 示例代码:

import pm4py

pm4py.view_dotted_chart(dataframe, format='svg')
pm4py.view_dotted_chart(dataframe, attributes=['time:timestamp', 'concept:name', 'org:resource'])

2.8 表示SNA度量

pm4py.vis.view_sna(sna_metric: SNA, variant_str: str | None = None)

说明:表示SNA度量(.html)

输入参数:

    sna_metric(sna)–度量值
    variant_str–要使用的变量(默认值:pyvis)
​​​​​​​

示例代码:

import pm4py

metric = pm4py.discover_subcontracting_network(dataframe, resource_key='org:resource', timestamp_key='time:timestamp', case_id_key='case:concept:name')
pm4py.view_sna(metric)

 2.9 可视化案例持续时间图

pm4py.vis.view_case_duration_graph(log: EventLog | DataFrame, format: str = 'png', activity_key='concept:name', timestamp_key='time:timestamp', case_id_key='case:concept:name')

说明:可视化案例持续时间图

输入参数:

   log–log对象
   format(str)–可视化的格式(png、svg…)
   activity_key(str)–要用作活动的属性
   case_id_key(str)–要用作案例标识符的属性
   timestamp_key(str)–要用作时间戳的属性

示例代码:

import pm4py

pm4py.view_case_duration_graph(dataframe, format='svg', activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')

2.10 可视化每个时间的事件图

pm4py.vis.view_events_per_time_graph(log: EventLog | DataFrame, format: str = 'png', activity_key='concept:name', timestamp_key='time:timestamp', case_id_key='case:concept:name')

说明:可视化每个时间的事件图。

输入参数:    

      log–log对象
      format(str)–可视化的格式(png、svg…)
      activity_key(str)–要用作活动的属性
      case_id_key(str)–要用作案例标识符的属性
     timestamp_key(str)–要用作时间戳的属性

示例代码

import pm4py

pm4py.view_events_per_time_graph(dataframe, format='svg', activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')

2.11 性能图谱

pm4py.vis.view_performance_spectrum(log: EventLog | DataFrame, activities: List[str], format: str = 'png', activity_key: str = 'concept:name', timestamp_key: str = 'time:timestamp', case_id_key: str = 'case:concept:name', bgcolor: str = 'white')

说明:显示性能谱。性能谱是流程执行中不同活动之间经过的时间的流程性能的一种新颖可视化。性能谱最初描述于:

Denisov, Vadim, et al. “The Performance Spectrum Miner: Visual Analytics for Fine-Grained Performance Analysis of Processes.” BPM (Dissertation/Demos/Industry). 2018.

输入参数:    

      perf_spectrum–性能谱
      format(str)–可视化的格式(png、svg…)
      activity_key(str)–要用于活动的属性
      timestamp_key(str)–用于时间戳的属性
      case_id_key(str)–要用作案例标识符的属性
      activity_key–要用作活动的属性
      case_id_key–要用作案例标识符的属性
      timestamp_key–要用作时间戳的属性
      bgcolor(str)–可视化的背景色(默认值:白色)

示例代码:

import pm4py

pm4py.view_performance_spectrum(dataframe, ['Act. A', 'Act. C', 'Act. D'], format='svg', activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')

2.12  显示指定维度中事件的分布

pm4py.vis.view_events_distribution_graph(log: EventLog | DataFrame, distr_type: str = 'days_week', format='png', activity_key='concept:name', timestamp_key='time:timestamp', case_id_key='case:concept:name')

说明:显示指定维度中事件的分布
观察事件随时间的分布,可以推断出有关工作班次、工作日和一年中或多或少繁忙的时期的有用信息

输入参数:    

      log–事件日志
      district_type(str)–分布类型(默认值:days_week):-days_month=>获取事件在一个月的天数(从1到31)中的分布-mounts=>获取事件的月份(从1个月到12个月)中的分配-mounts>>获取事件在事件日志的年份中的分布-hunts=>获得事件在一天的小时中的分布(从0到23)-days_week=>获取事件在一周中的天数(从周一到周日)-weeks=>获取事件在全年中的周中的分布(从0至52)
      format(str)–可视化的格式(默认值:png)
      activity_key(str)–要用作活动的属性
      case_id_key(str)–要用作案例标识符的属性
      timestamp_key(str)–要用作时间戳的属性

示例代码:

import pm4py

pm4py.view_events_distribution_graph(dataframe, format='svg', distr_type='days_week', activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')

2.13 查看OC-DFG

pm4py.vis.view_ocdfg(ocdfg: Dict[str, Any], annotation: str = 'frequency', act_metric: str = 'events', edge_metric='event_couples', act_threshold: int = 0, edge_threshold: int = 0, performance_aggregation: str = 'mean', format: str = 'png', bgcolor: str = 'white', rankdir: str = 'LR')[source]

说明:使用提供的配置查看OC-DFG(以对象为中心的直接跟随图形)。
以对象为中心的直接跟随多重图是单个对象类型的直接跟随图的组合,考虑到以对象为核心的事件日志的实体(即事件、唯一对象、总对象),可以用不同的度量对其进行注释。

输入参数:    

      ocdfg–以对象为中心的直接跟随图
      annotation(str)–用于可视化的注释。值:-“频率”:频率注释-“性能”:性能注释
      act_metric(str)–用于活动的度量。可用值:-“events”=>事件数(默认值)-“unique_objects”=>唯一对象数-“total_objects“=>总对象数
edge_metric(str)–用于边的度量。可用值:-“event_couples”=>事件对数(默认)-“unique_objects”=>唯一对象数-“total_objects“=>总对象数
      act_threshold(int)–应用于活动频率的阈值(默认值:0)。只有频率>=的活动才会保留在图中。
      edge_threshold(int)–要应用于边缘频率的阈值(默认为0)。只有频率>=的边才会保留在图形中。
      performance_aggregation(str)–用于性能的聚合度量:平均值、中值、最小值、最大值、总和
      format(str)–输出可视化的格式(如果提供了html,则GraphvizJS用于在html页面中呈现可视化)
      bgcolor(str)–可视化的背景色(默认值:白色)
      rankdir(str)–设置图形的方向(“LR”表示从左到右;“TB”表示从上到下)

示例代码:

import pm4py

ocdfg = pm4py.discover_ocdfg(ocel)
pm4py.view_ocdfg(ocdfg, annotation='frequency', format='svg')

2.14 可视化以对象为中心的petri网

pm4py.vis.view_ocpn(ocpn: Dict[str, Any]format: str = 'png'bgcolor: str = 'white'rankdir: str = 'LR')

说明:可视化以对象为中心的petri网。

输入参数:    

      ocpn–以对象为中心的Petri网
     format(str)–可视化的格式(如果提供了html,则使用GraphvizJS在html页面中呈现可视化)
     bgcolor(str)–可视化的背景色(默认值:白色)
      rankdir(str)–设置图形的方向(“LR”表示从左到右;“TB”表示从上到下)

示例代码:

import pm4py

ocpn = pm4py.discover_oc_petri_net(ocel)
pm4py.view_ocpn(ocpn, format='svg')

2.15 查看OC-DFG

pm4py.vis.view_object_graph(ocel: OCEL, graph: Set[Tuple[str, str]], format: str = 'png', bgcolor: str = 'white', rankdir: str = 'LR')

说明:可视化对象图。

输入参数:    

      ocel(ocel)–以对象为中心的事件日志
      graph–对象图
      format(str)–可视化的格式(如果提供了html,则使用GraphvizJS在html页面中呈现可视化)
       bgcolor(str)–可视化的背景色(默认值:白色)
      rankdir(str)–设置图形的方向(“LR”表示从左到右;“TB”表示从上到下)

示例代码:

import pm4py

ocel = pm4py.read_ocel('trial.ocel')
obj_graph = pm4py.ocel_discover_objects_graph(ocel, graph_type='object_interaction')
pm4py.view_object_graph(ocel, obj_graph, format='svg')

2.16 可视化网络分析

pm4py.vis.view_network_analysis(network_analysis: Dict[Tuple[str, str], Dict[str, Any]], variant: str = 'frequency', format: str = 'png', activity_threshold: int = 1, edge_threshold: int = 1, bgcolor: str = 'white')

说明:可视化网络分析

输入参数:    

      network_analysis–网络分析
      variant(str)–可视化的变体:-频率(如果发现的网络分析包含交互的频率)-性能(如果找到的网络分析包括交互的性能)
      format(str)–可视化的格式(如果提供了html,则使用GraphvizJS在html页面中呈现可视化)
      activity_threshold(int)–要包含的活动的最小出现次数(默认值:1)
      edge_threshold(int)–要包含的边的最小出现次数(默认值:1)
      bgcolor(str)–可视化的背景色(默认值:白色)

示例代码:

import pm4py

net_ana = pm4py.discover_network_analysis(dataframe, out_column='case:concept:name', in_column='case:concept:name', node_column_source='org:resource', node_column_target='org:resource', edge_column='concept:name')
pm4py.view_network_analysis(net_ana, format='svg')

2.17 可视化变迁系统

pm4py.vis.view_transition_system(transition_system: TransitionSystem, format: str = 'png', bgcolor: str = 'white')

说明:可视化变迁系统

输入参数:    

       transition_system(TransitionSystem)–过渡系统
      format(str)–可视化的格式(如果提供了html,则使用GraphvizJS在html页面中呈现可视化)
      bgcolor(str)–可视化的背景色(默认值:白色)

示例代码:

import pm4py

transition_system = pm4py.discover_transition_system(dataframe, activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')
pm4py.view_transition_system(transition_system, format='svg')

 2.18 可视化前缀树

pm4py.vis.view_prefix_tree(trie: Trieformat: str = 'png'bgcolor: str = 'white')

说明:可视化前缀树

输入参数:    

      prefix_tree–前缀树
     format(str)–可视化的格式(如果提供了html,则使用GraphvizJS在html页面中呈现可视化)
      bgcolor(str)–可视化的背景色(默认值:白色)

示例代码:

import pm4py

prefix_tree = pm4py.discover_prefix_tree(dataframe, activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')
pm4py.view_prefix_tree(prefix_tree, format='svg')

 2.19 可视化对齐

pm4py.vis.view_alignments(log: EventLog | DataFrame, aligned_traces: List[Dict[str, Any]], format: str = 'png')

说明:可视化对齐

输入参数:    

    log–事件日志
     aligned_traces–对齐的结果
format(str)–可视化的格式(默认值:png)

示例代码:

import pm4py

log = pm4py.read_xes('tests/input_data/running-example.xes')
net, im, fm = pm4py.discover_petri_net_inductive(log)
aligned_traces = pm4py.conformance_diagnostics_alignments(log, net, im, fm)
pm4py.view_alignments(log, aligned_traces, format='svg')

 2.20 可视化足迹矩阵

pm4py.vis.view_footprints(footprints: Tuple[Dict[str, Any], Dict[str, Any]] | Dict[str, Any], format: str = 'png')

说明:可视化足迹矩阵

输入参数:    

     footprints–footprints
     format(str)–
  可视化的格式(默认值:png)

示例代码:

import pm4py

log = pm4py.read_xes('tests/input_data/running-example.xes')
fp_log = pm4py.discover_footprints(log)
pm4py.view_footprints(fp_log, format='svg')

如需了解更多,欢迎加入流程挖掘交流群QQ:671290481.

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

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

相关文章

QT之QML开发 行列布局,流布局,网格布局

本节将演示一下QML布局之行列布局,流布局和网格布局 目录 1.行列布局 1.1一列多行 1.2 一行多列 2.流布局 2.1 从左向右(默认) ​编辑 2.2 从上往下 3.网格布局 1.行列布局 1.1一列多行 // 行列布局 import QtQuick 2.15 import Qt…

前端架构师进阶之路07_JavaScript函数

1 函数的定义与调用 1.1 初识函数 函数是用于封装一段完成特定功能的代码。 相当于将一条或多条语句组成的代码块包裹起来,在使用时只需关心参数和返回值,就能完成特定的功能,而不用了解具体的实现。 // 内置函数 console.log(parseFloat…

基于R语言、MATLAB、Python机器学习方法与案例分析

目录 基于R语言机器学习方法与案例分析 基于MATLAB机器学习、深度学习在图像处理中的实践技术应用 全套Python机器学习核心技术与案例分析实践应用 基于R语言机器学习方法与案例分析 机器学习已经成为继理论、实验和数值计算之后的科研“第四范式”,是发现新规律&…

iOS技术之app审核信息填写联系人信息提交失败

在AppStore Connect中填写联系人信息中联系方式的电话号码时,输入11位手机号,一直提示 此栏无效: 报错一直说明次栏无效, 开始以为手机号不兼容, 换了好多手机号,座机号都不行, 最终尝试正确的输入格式是:86-xxxxxxxxxxx, 前面有""号, 连接用"-"

关于Modbus消息帧,这些内容你都了解吗?

在 Modbus网络通信的两种传输模式中( ASCII或RTU),传输设备以将Modbus消息转为有起点和终点的帧,这就允许接收的设备在消息起始处开始工作,读地址分配信息,判断哪一个设备被选中(广播方式则传给…

EfficientFormer:高效低延迟的Vision Transformers

我们都知道Transformers相对于CNN的架构效率并不高,这导致在一些边缘设备进行推理时延迟会很高,所以这次介绍的论文EfficientFormer号称在准确率不降低的同时可以达到MobileNet的推理速度。 Transformers能否在获得高性能的同时,跑得和Mobile…

华为云云耀云服务器 L 实例评测:快速建站的新选择,初创企业和开发者的理想之选

华为云云耀云服务器 L 实例评测:快速建站的新选择,初创企业和开发者的理想之选 文章目录 华为云云耀云服务器 L 实例评测:快速建站的新选择,初创企业和开发者的理想之选导语:摘要: 正文产品概述部署简易性步…

TG Pro for Mac强大的硬件温度检测、风扇控制工具测评

无论您是旧机型还是全新MacBookPro,使用TG Pro均可延长Mac的使用寿命。小编就给大家详细说一下使用TG Pro的体验~ 打开TG Pro,您会注意到的第一件事是带有大量温度,风扇速度和诊断信息的主窗口。 这是您将与之交互的应用程序的主要区域之一。…

[动物文学]走红年轻人化身“精神动物”,这届年轻人不想做人了

数据洞察流行趋势,敏锐把握流量风口。本期千瓜与您分享近期小红书八大热点内容,带您看热点、追热门、借热势,为您提供小红书营销布局风向标。 「动物文学」走红 年轻人化身“精神动物” 其实,这届年轻人“不想做人”很久了………

# 深入理解高并发编程(二)

深入理解高并发编程(二) 文章目录 深入理解高并发编程(二)synchronized作用使用方法示例代码 ReentrantLock概述示例代码ReentrantLock中的方法 ReentrantReadWriteLock介绍特点示例代码 StampedLock示例代码 wait() 和 notify()示…

软件设计模式系列之十六——命令模式

目录 1 模式的定义2 举例说明3 结构4 实现步骤5 代码实现6 典型应用场景7 优缺点8 类似模式9 小结 1 模式的定义 命令模式(Command Pattern)是一种行为型设计模式,旨在将请求发送者和接收者解耦,将一个请求封装为一个对象&#x…

OmniOutliner 5 Pro for Mac(信息大纲记录工具)v5.12正式版 支持M1、M2

OmniOutliner 5 Pro是一款功能强大的大纲工具,可以帮助用户进行头脑风暴、组织思维和创建结构化的笔记。以下是这款软件的一些主要功能和特点: 大纲模式。OmniOutliner 5 Pro支持全屏模式、分屏模式、实时预览模式和导航模式等多种创作模式,…

RT-Thread 自动初始化机制

RT-Thread自动初始化机制 自动初始化机制是指初始化函数不需要被显示调用,只需要在函数定义处通过宏定义的方式进行申明,就会在系统启动过程中被执行。 例如在串口驱动中调用一个宏定义告知系统初始化需要调用的函数,代码如下: …

25814-2010 三聚氯氰 阅读笔记

声明 本文是学习GB-T 25814-2010 三聚氯氰. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了三聚氯氰的要求、采样、试验方法、检验规则以及标志、标签、包装、运输、贮存、安全、 安全技术说明书。 本标准适用于三聚氯氰的产品…

基于springboot+vue的大学生创新创业系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

idea 如何在命令行快速打开项目

背景 在命令行中从git仓库检出项目,如何在该命令行下快速用idea 打开当前项目,类似vscode 可以通过在项目根目录下执行 code . 快速打开当前项目。 步骤 以macos 为例 vim /usr/local/bin/idea 输入如下内容 #!/bin/sh open -na "IntelliJ IDE…

浅谈智能型电动机控制器在斯里兰卡电厂中的应用

摘要:传统的低压电动机保护是通过继电保护二次回路实现,但是我们结合电厂辅助控制设备的特点及其控制要求,推荐ARD2F智能型电动机控制器。以下综合介绍ARD2F智能型电动机控制器产品的特点及其智能化保护、测量、控制和通讯等。 Abstract: Th…

基于微信小程序的校园失物招领系统设计与实现(源码+lw+部署文档+讲解等)

前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻…

PS7软件功能——相位、延迟测量

PicoScope 7 (PS7)软件增添了新的测量功能——测量相位之间的角度和延迟时间(图1)。 注:Phase- 相位;Delay - 延迟。 图1 相位测量 点击“Phase”,选择需要测量的通道,如下图选择的是…

idea 2021.2.3版本中隐藏target和.iml文件问题的解决

一 idea2021.2.3 版本隐藏文件 1.1 问题描述 添加隐藏文件内容后:没有可确定的保存按钮。无法实现添加隐藏文件。 1.2 解决办法 IDEA新建项目会自动生成一个.idea文件夹和.iml文件,开发中不需要对这两个文件修改,所以对以上文件进行隐藏处理…