ScottPlot学习的常用笔记-02

ScottPlot学习的常用笔记-02

  • 写在前面
    • Why&Target:这里记一些杂项。
    • 上下文&背景
  • 先记一下这几个小时的新收获
  • 先说一下,为什么可开发可视工具
  • 缩放的问题
  • ScottPlot5.0起步
    • .net Core: WinExe
    • .Net Framework也是可以的

写在前面

Why&Target:这里记一些杂项。

其中一个原因,是记录下在初学时,面对多种维度的选择相关的选择困难时的尝试。

上下文&背景

今天是周五了,一周的紧张的工作,算是提前实现我认为的目标。一方面,为下周准备,一方面,思考一下有哪些地方,走马观花,只是拿来用,却没有细细品味的地方。
其中一个是边学边用的ScottPlot,有许多地方没有搞清楚。
所以,花了点时间总结了一下。

先记一下这几个小时的新收获

1。 如果不需要编译源码,而是直接用NuGet管理器,vs2019与vs2022区别不大。
当然,如果您要下载ScottPlot的源码自己进行编译,那么,最好用vs2022,vs2019似乎相当困难。
这种情况,大家容易理解。以前有人写过一些书,讨论过,编写类库与编普通程序有什么不同。
类库相当于服务的提供方,它必须是大而全的,因为客户总是需要的比他自己实际需要得多;
因为这样,类库的代码往往也会引入许多各种类库,从而导致其构建过程越来越困难。
以前我维护过gcc,gdb之类的toolchain,我们的编译环境,一般几年也不会升一次级。

但如果,只是用人家做好的binary,则一般就简单多了。用vs2019还是2022目前来看,差别不大。
所以,这里我不是要反悔上篇中说的内容。

2。 关于Zoom。放大缩小的功能,原来是控件中自带的,不论是4.1还是5.0都是一样的。
是右键和中键。这个把我整得有些地语了。。。
我一个机电专业的工科生,刚毕业最熟就是AutoCAD,也不清楚,是不是习惯了那种橡皮筋的方式放大,我就没想到是右键。

这事,为什么我这么感慨,是因为,事先不知道,周三需要演示成果,我自己写了一个放大的功能。。。
结果刚刚到网上详细找了找,原来是自带的。。。但确实是以一种我没有想到的方式。好吧。

3。5。0的初步。 4.1已初步使用过。
一会我们讲讲5。0的起步。

先说一下,为什么可开发可视工具

这个应访单写一篇文章,但就写在这吧。因为这种逻辑我心里比较清楚。
其它人,是否认同是他们的问题,是吧。

一般来说,中国的老板,是信高手不信工具。
他们更信“高手”,而不是技术。
这其实是一种神文主义:把一个具体的人,物化成一个全知全能的“高手”。这时这个"高手”已不是人。
下次有人说你是高手时,你要小心,这人没把你当人。
全知全能,这个单词,请问,在人文书里有吗?
但你去应聘时,你会发现,你对面的老板就这个逻辑。
在这里插入图片描述遇到这样的但是,为了生计,你也可能要留下来。
但你必须要聪明地来做事。其中一个就是依赖工具。
目前,我要定位系统性能问题,这个问题,可能是我凭借经验能定位出来的,但我不会这么做。
因为:
(1)没有一个人,会喜欢听到你说他写的代码性能不足的!
(2)每个人,都会利用降低其它人的模块的性能来加强自己的性能,牺牲大家成就小我,是我们大家的共同心愿。
没有工具,你就是打地鼠那个人,翘翘板效应,能把你累到怀疑人生。

也就是这工具,是给我自己用的。
在目标代码中,加入了我用于定位的probe,然后开发了工具,我自己用。
但给出的图形,却是每个人无法以:我看不懂,来抵赖的。

但后果是你要坚持和强硬。作系统分析,没有硬心肠是不行的。老板都是急于要成果,你但必须情楚,事情到这一步,一定是之前欠账很多。如果容易解决,别人早搞定了。
如果有“高手”能解决,也轮不到你登场。如果你认为,自己就是那个绝世高手,那你可要小心了。

工欲善其事,必先利其器。

缩放的问题

为了达到更好的展示效果,虽然我只写了这个工具的冰水一角,我还是想把缩放做得好一点。
在这里插入图片描述上图中,我还加了个checkbox,用于缩说,虽不成功,但也将就用。
但是刚刚我去网上找了找,结果是让我崩溃的,因为本来ScottPlot就有这功能,而且不论是4.1还是5.0都有。
见这个issue 90

https://github.com/ScottPlot/ScottPlot/issues/90
在这里插入图片描述我在这理解了好半天,middle-click,
然后我试了一下,鼠标的中键确是可以缩放的!
两个版本都试过了,没有差别。
这个就不上图了。大家可以自己试一下。

这事,让我很有些恼火。

ScottPlot5.0起步

只是起步,谈不上入门

1。 之前提到vs2022和 vs2019都可以。所以,这里只用vs2022来说明。
由于网上有一些文章,我不重复了。

简要说明如下:
工程可以选
.NetApp,然后加入.netFrame的控件:

.net Core: WinExe

在这里插入图片描述工程如下
在这里插入图片描述
在这里插入图片描述

.Net Framework也是可以的

在这里插入图片描述缺点是,不能在DesignTime显示。
不过这还真是无所谓。
在这里插入图片描述运行起来就可能看到:
在这里插入图片描述
不论是vs2019还是vs2022都相同效果。
但是ScottPlot 4.*版本,没有这个问题。
最简单的示例代码如下:
.net APP

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace WinFormsApp1SPlot5
{public partial class LineChart : Form{public LineChart(){InitializeComponent();}private void LineChart_Load(object sender, EventArgs e){double[] dataX = GetRandomNum(20).Distinct().OrderByDescending(x => x).ToArray();double[] dataY = GetRandomNum(19).Distinct().OrderByDescending(x => x).ToArray();formsPlot1.Plot.Add.Scatter(dataX, dataY);formsPlot1.Refresh();}public double[] GetRandomNum(int length){double[] getDate = new double[length];Random random = new Random(); //创建一个Random实例for (int i = 0; i < length; i++){getDate[i] = random.Next(1, 100); //使用同一个Random实例生成随机数}return getDate;}}
}

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

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

相关文章

机器学习基础算法 (二)-逻辑回归

python 环境的配置参考 从零开始&#xff1a;Python 环境搭建与工具配置 逻辑回归是一种用于解决二分类问题的机器学习算法&#xff0c;它可以预测输入数据属于某个类别的概率。本文将详细介绍逻辑回归的原理、Python 实现、模型评估和调优&#xff0c;并结合垃圾邮件分类案例进…

Docker_常用命令详解

这篇文章分享一下笔者常用的Docker命令供各位读者参考。 为什么要用Docker? 简单来说&#xff1a;Docker通过提供轻量级、隔离且可移植的容器化环境&#xff0c;使得应用在不同平台上保持一致性、易于部署和管理&#xff0c;具体如下 环境一致性&#xff1a; Docker容器使得…

冯诺依曼架构与哈佛架构的对比与应用

冯诺依曼架构&#xff08;Von Neumann Architecture&#xff09;&#xff0c;也称为 冯诺依曼模型&#xff0c;是由著名数学家和计算机科学家约翰冯诺依曼&#xff08;John von Neumann&#xff09;在1945年提出的。冯诺依曼架构为现代计算机奠定了基础&#xff0c;几乎所有现代…

malloc 分配大堆块(128KB)的一次探索

前言 一次意外执行了 malloc(0x5000)&#xff0c;结构使用 gdb 调试发现其分配的位置在 TLS 区域&#xff0c;这令我不解&#xff08;&#xff1a;最后去看了下 malloc 源码和 mmap 源码实现&#xff0c;发现似乎可能是 gdb 插件的问题&#xff0c;乐 场景复现 #include <…

CS 144 check5: down the stack (the network interface)

Lectures Note 略 Exercises TCP片段传输到对等方的过程&#xff1a; TCP-in-UDP-in-IP. Linux 提供了一种接口&#xff08;即“数据报套接字”&#xff0c;UDPSocket&#xff09;&#xff0c;它允许应用程序仅提供用户数据报的有效载荷和目标地址&#xff0c;而内核则负责…

内核执行时动态的vmlinux的反汇编解析方法及static_branch_likely机制

一、背景 在之前的博客里&#xff0c;我们讲到了tracepoint&#xff08;内核tracepoint的注册回调及添加的方法_tracepoint 自定义回调-CSDN博客&#xff09;和kprobe&#xff08;获取任意一个进程的共享内存的fd对应的资源&#xff0c;增加引用&#xff0c;实现数据的接管——…

Unity 3D饼状图效果

一. 效果展示 二.基础类 using System.Collections; using System.Collections.Generic; using UnityEngine;public class DrawCylinder : MonoBehaviour {// 网格渲染器MeshRenderer meshRenderer;// 网格过滤器MeshFilter meshFilter;// 用来存放顶点数据List<Vector3>…

精通 Numpy 数组:详解数据类型查看、转换与索引要点

1、查看数据类型 通过访问数组的dtype属性时会创建一个表示数据类型的对象&#xff0c; 这个对象其实就是numpy.dtype类型的对象。 如果要想获取数组中元素数据类型的名称&#xff0c;则需要先通过数组访问dtype属性得到numpy. dtype类型的对象&#xff0c;再通过该对象访问n…

分布式系统架构5:限流设计模式

这是小卷对分布式系统架构学习的第5篇文章&#xff0c;今天来学习限流器和限流设计模式 1.为什么要限流&#xff1f; 任何一个系统的运算、存储、网络资源都不是无限的&#xff0c;当系统资源不足以支撑外部超过预期的突发流量时&#xff0c;就应该要有取舍&#xff0c;建立面…

山景BP1048蓝牙音频任务后台运行设置方法

1、 问题 山景BP1048提供的蓝牙音箱SDK蓝牙音频是不能在后台运行的。例如&#xff1a;现在进入U盘模式播放蓝牙音乐&#xff0c;那么此时蓝牙就会关闭。 但是在特定场景下&#xff0c;需要蓝牙保持连接。 2、解决办法 打开sys_param.c文件 #include <string.h> #incl…

【AI知识】为什么激活值过大/过小,初始权重过大/过小,可能导致梯度爆炸/消失?具体例子举例

1.梯度爆炸的公式计算 计算一个简单的两层神经网络的前向传播和反向传播过程。在这里&#xff0c;我们故意选择过大的初始权重值&#xff0c;查看梯度如何爆炸。 总结&#xff1a; 梯度值很大&#xff0c;这是梯度爆炸的一个典型例子。此时&#xff0c;如果我们使用梯度下降进…

在福昕(pdf)阅读器中导航到上次阅读页面的方法

文章目录 在福昕(pdf)阅读器中导航到上次阅读页面的方法概述笔记用书签的方法来导航用导航按钮的方法来导航 备注END 在福昕(pdf)阅读器中导航到上次阅读页面的方法 概述 喜欢用福昕(pdf)阅读器来看pdf文件。 但是有个小问题困扰了我好久。 e.g. 300页的pdf看了一半&#xff…

CCF-GESP 等级考试 2023年9月认证C++一级真题解析

2023年9月真题 一、单选题&#xff08;每题2分&#xff0c;共30分&#xff09; 正确答案&#xff1a;C 解析&#xff1a;考察知识点&#xff1a;计算机基础 本题属于考察计算机基础知识中的存储设备问题&#xff1b;内存是一种存储设备&#xff0c;也可以考虑关联内存中的“存…

重拾设计模式--建造者模式

文章目录 建造者模式&#xff08;Builder Pattern&#xff09;概述建造者模式UML图作用&#xff1a;建造者模式的结构产品&#xff08;Product&#xff09;&#xff1a;抽象建造者&#xff08;Builder&#xff09;&#xff1a;具体建造者&#xff08;Concrete Builder&#xff…

关于使用拓扑排序算法实现解析勾稽关系优先级的研究和实现

1. 勾稽关系 勾稽关系&#xff08;Reconciliation Relationship&#xff09;是一个财务术语&#xff0c;指的是在会计和审计中&#xff0c;不同会计报表或报表项目之间存在的逻辑对应关系。这种关系可以用来验证会计数据的准确性和完整性。勾稽关系通常体现在以下几个方面&…

电商项目-网站首页高可用(二)

一、LUA基本语法 lua有交互式编程和脚本式编程。 交互式编程就是直接输入语法&#xff0c;就能执行。 脚本式编程需要编写脚本文件&#xff0c;然后再执行。 一般采用脚本式编程。&#xff08;例如&#xff1a;编写一个hello.lua的文件&#xff0c;输入文件内容&#xff0c;并执…

flink实现复杂kafka数据读取

接上文&#xff1a;一文说清flink从编码到部署上线 环境说明&#xff1a;MySQL&#xff1a;5.7&#xff1b;flink&#xff1a;1.14.0&#xff1b;hadoop&#xff1a;3.0.0&#xff1b;操作系统&#xff1a;CentOS 7.6&#xff1b;JDK&#xff1a;1.8.0_401。 常见的文章中&…

第十五届蓝桥杯Scratch01月stema选拔赛—排序

排序 具体要求&#xff1a; 1). 点击绿旗&#xff0c;在舞台上出现4张点数不同的扑克牌&#xff0c;牌上的点数是随机的&#xff08;4-9点&#xff09;&#xff0c;如图所示&#xff1b; 完整题目可点击下方链接查看&#xff1a; 排序_scratch_嗨信奥-玩嗨信息奥林匹克竞赛-…

图形学笔记 - 5. 光线追踪2 - 加速结构

目录 使用AABB加速光线追踪 Uniform Spatial Partitions (Grids) 均匀空间划分 空间划分 KD树预处理 KD-Tree数据结构 遍历kd树 对象划分 & Bounding Volume Hierarchy 层次包围盒 BVH BVH遍历 空间划分与物体划分呢 GTC news: DLSS、RTXGI 实时光线追踪 使用AAB…

计算机毕业设计原创定制(免费送源码):NodeJS+MVVM+MySQL 樱花在线视频网站

目 录 摘要 1 1 绪论 1 1.1研究背景 1 1.2系统设计思想 1 1.3B/S体系工作原理 1 1.4node.js主要功能 2 1.5论文结构与章节安排 3 2 樱花在线视频网站分析 4 2.1 可行性分析 4 2.2 系统流程分析 4 2.2.1数据增加流程 5 2.3.2数据修改流程 5 2.3.3数据删除流程 5 …