ZedGraph教程
西门子培训课程:graph练习及实验

详细描述
利用图算法构建一个推荐系统,根据用户的历史行为和 偏好,为用户推荐相关联的物品或服务。可以使用图中 的关联规则挖掘、协同过滤等技术来实现个性化推荐, 并通过实验验证推荐系统的准确性和效果。
Graph进阶学习
05
使用第三方库进行Graph操作
功能强大
使用第三方库进行Graph操作可以提供丰富的功能和工具,例如使用NetworkX 库进行图的创建、编辑和可视化,以及使用D3.js库将图形数据动态呈现于网页上 。这些库提供了大量的方法和函数,使得对图形的操作更加灵活和高效。
查找节点和边
总结词
在构建复杂的网络或系统时,查找特定的节 点和边是必不可少的操作。
详细描述
在西门子Graph编程中,查找特定的节点和 边是常见的操作。这可以通过使用Graph类 提供的方法来实现。通过查找特定的节点和 边,可以更好地理解网络或系统的结构和行 为,并进行相应的优化和控制。在实际应用 中,需要根据具体需求进行查找操作,以实 现系统性能和行为的优化和控制。
西门子培训课程graph 练习及实验
目录
• Graph基础概念 • Graph编程实践 • Graph算法应用 • Graph实验项目 • Graph进阶学习
Graph基础概念
01
什么是Graph
总结词
图论中的基本概念
详细描述
Graph是一个由节点(顶点)和边组成的数据结构,用于表示对象之间的关系。 节点通常表示对象,而边则表示对象之间的关系。
Graph在大数据处理中的应用
可视化呈现
图结构数据非常适合可视化呈现,可以通过图形的方式直观地展示数据之间的关系和模式。在大数据处理中,可视化可以帮 助更好地理解数据和分析结果。
基于ZedGraph的在线动态数据图表绘制

目录 , 在 Vi s u a l S t u d i o的工 具 箱 中添 加 其 引用 新 建 存 放 生
成图表 的 Z e d Gr a p h I ma g e s目录 , 然后 在主页面 S h o wL i n — e r L i n e . a s p x及 其 代 码 文 件 S h o wL i n e r l i n e . a s p x . C S中 进 行操作 。
对 Z e d Gr a p h控 件类 的 引用 。 d Gr a p h控 件
建各种饼 图、 柱状 图、 线 性 图等 图表 , 但 开发 工作量 较大 , 而且不 够 灵 活 ; 而第 三 方 开 发 的工 具 则有 收 费 的 . N e t
netcharting基于zedgraph的数据图表绘制zedgraph简介zedgraph是由美国的软件工程师johnchampion开发的一个开源类库它提供了丰富的类这些类适用于在windowsforms和web程序中创建与数据集合对应的2d线条柱形图和饼图等图表zedgraph的主要特点有具有高度的灵活性一方用户几乎可以修改图表的所有元素的属性来达到所需的效果例如可以设置图表的比例范围和步长尺寸等另一方面用户简单地设定图形的默认参数和属性就能使用它免费开源它提供了开源的代码用户可以进行二次开发以编译所需的dll文件功能强大可以用于绘制线型图散点图垂直水平条形图堆叠柱形图堆叠百分比柱形图误差条形图ohlc使用zedgraph图表绘制折线图首先在zedgraph的主页下载其最新版本将dll文件zedgraphdllzedgraphwebdll放入项目站点的bin目录在visualstudio的工具箱中添加其引用新建存放生成图表的zedgraphimages目录然后在主页面showlinerlineaspx及其代码文件showlinerlineaspxcs中进行操作
基于ZedGraph的大洋金枪鱼渔获信息统计制图

化 成君 h 张 胜茂 。
( 中国水产科 学研 究 院 东海 水产研 究所 上 海
2 0 9 ) 大连 海 洋大 学 辽 宁 大连 0 00 (
16 2 ) 1 0 3
【 摘 要】为 了解决 大洋 金枪 鱼企 业在渔 获数 据管 理 与统计 中存在 的操 作 繁琐 、耗 时费 力 等 问题 , 出建立 基于 提
早期 , 远洋渔 业公 司采用 纸质表 格记 录渔 获信 息 ,
每 天 由船 长填写 表格 , 传真 发 回公 司 , 由公 司 的相 用 再
控 件 中 比较 优 秀 的一 个 [ 。Z d a h是 一 个 开 源 的 1 e Grp ]
.
关人 员 进行 存档 。 需要查 询或统 计 时 , 工作 人员 对原 始 资 料或 档 案 进行人 工 查 阅 , 后 对相 关 的 数据 进 行 统 然 计。 这种 记 录和统 计方式 需要 翻 阅大量 的历史 资料 , 耗
时 、 力 、 时性 差 。 目前 , 数 的 远洋 渔 业公 司采 用 费 实 多
NE 图表类 库 , 个类 库适 应 性强 , 乎所 有式 样 的 T 这 几 图表 都能 创建 。Z d a h既 可 以作 为 W id ws 体 e Grp no 窗
ZedGraph实时曲线实例

ZedGraph实时曲线实例public partial class FrmMain : Form{// 起始时间以毫秒为单位int tickStart = 0;public FrmMain(){InitializeComponent();this.timeDraw.Tick += new EventHandler(timeDraw_Tick);}private void FrmMain_Load(object sender, EventArgs e){//获取引⽤GraphPane myPane = zedGraphControl1.GraphPane;//设置标题myPane.Title.Text = "实时曲线";//设置X轴说明⽂字myPane.XAxis.Title.Text = "时间";//设置Y轴说明⽂字myPane.YAxis.Title.Text = "温度";//设置1200个点,假设每50毫秒更新⼀次,刚好检测1分钟,⼀旦构造后将不能更改这个值RollingPointPairList list = new RollingPointPairList(1200);//开始,增加的线是没有数据点的(也就是list为空)//增加⼀条名称:Voltage,颜⾊Color.Bule,⽆符号,⽆数据的空线条LineItem curve = myPane.AddCurve("温度", list, Color.Blue, SymbolType.None);timeDraw.Interval = 50; //设置timer控件的间隔为50毫秒timeDraw.Enabled = true; //timer可⽤timeDraw.Start(); //开始myPane.XAxis.Scale.Min = 0; //X轴最⼩值0myPane.XAxis.Scale.Max = 30; //X轴最⼤30myPane.XAxis.Scale.MinorStep = 1;//X轴⼩步长1,也就是⼩间隔myPane.XAxis.Scale.MajorStep = 5;//X轴⼤步长为5,也就是显⽰⽂字的⼤间隔//改变轴的刻度zedGraphControl1.AxisChange();//保存开始时间tickStart = Environment.TickCount;}private void timeDraw_Tick(object sender, EventArgs e){//确保CurveList不为空if (zedGraphControl1.GraphPane.CurveList.Count <= 0){return;}//取Graph第⼀个曲线,也就是第⼀步:在GraphPane.CurveList集合中查找CurveItemLineItem curve = zedGraphControl1.GraphPane.CurveList[0] as LineItem;if (curve == null){return;}//第⼆步:在CurveItem中访问PointPairList(或者其它的IPointList),根据⾃⼰的需要增加新数据或修改已存在的数据IPointListEdit list = curve.Points as IPointListEdit;if (list == null){return;}// 时间⽤秒表⽰double time = (Environment.TickCount - tickStart) / 1000.0;// 3秒循环list.Add(time, Math.Sin(2.0 * Math.PI * time / 3.0));Console.WriteLine(time.ToString());Scale xScale = zedGraphControl1.GraphPane.XAxis.Scale;if (time > xScale.Max - xScale.MajorStep){xScale.Max = time + xScale.MajorStep;xScale.Min = xScale.Max - 30.0;}//第三步:调⽤ZedGraphControl.AxisChange()⽅法更新X和Y轴的范围zedGraphControl1.AxisChange();//第四步:调⽤Form.Invalidate()⽅法更新图表zedGraphControl1.Invalidate();}private void Form1_Resize(object sender, EventArgs e){SetSize();}private void SetSize(){// 控制始终是以10像素插⼊矩形从客户端的形Rectangle formRect = this.ClientRectangle;formRect.Inflate(-10, -10);if (zedGraphControl1.Size != formRect.Size){zedGraphControl1.Location = formRect.Location; zedGraphControl1.Size = formRect.Size;}}}。
shadergraph节点全解析简书

shadergraph节点全解析简书作为Unity 2018.1 中推出的新特性,Shader Graph 对于游戏开发者来说是一个非常有用的工具,可以使他们创建和修改着色器变得更加容易和直观。
Shader Graph 提供了一个图形化的编辑器,通过将节点连接起来来创建着色器效果。
在这篇文章中,我们将介绍Shader Graph 的各种节点,以及如何使用它们来创建自定义着色器。
Shader Graph 节点图Shader Graph 中有许多节点类型,它们可以组合在一起来创建不同的效果。
以下是 Shader Graph 中可用的节点:输入节点1. Property:用于在材质中创建一个可以编辑的属性。
常见的使用场景是用来用于切换材质的一些变量,比如石头的颜色、金属度、高光等等。
2. Texture 2D:用于引入贴图。
3. Sampler State:用于配置纹理过滤器和寻址模式的节点。
4. Time:提供时间信息。
例如,可以用它来制作时间相关的着色器效果,比如微弱的动画。
数学节点1. Add、Subtract、Multiply、Divide:基本的数学运算节点。
2. Power、Square Root、Exponential、Round、Cosine、Sine、Tangent、Arc Tangent、Log10:基本的数学函数节点。
3. Absolute、Ceiling、Floor、Clamp、Noise、Frac、Smoothstep、Lerp、Remap:用于处理向量或标量值的进阶数学节点。
4. Reflect、Refract、Dot Product:用于处理向量。
5. Derivative、Length、Normalize:用于计算向量的长度和方向。
颜色节点1. Color、Linear Color、Gamma Color、HSV、RGB、CMYK:用于处理颜色值的节点。
2. Luminance、Saturation、Grayscale、Invert、Hue Shift、Color Balance、Color Correction:进阶的颜色处理节点。
记录使用echarts的graph类型绘制流程图全过程(二)-多层关系和圆形图片的设置

记录使⽤echarts的graph类型绘制流程图全过程(⼆)-多层关系和圆形图⽚的设置本⽂主要记录在使⽤echarts的graph类型绘制流程图时候遇到的2个问题:对于圆形图⽚的剪切和多层关系的设置图⽚的设置如果⽤echarts默认的symbol参数来显⽰图⽚,会显⽰图⽚的原始状态,即圆形就显⽰圆形的,矩形就显⽰矩形的,⽽案例中的图⽚是矩形的(如上图所⽰)。
但是尼,我们在流程图的绘制过程中,⼀般⽤到的⼜是圆形,所以这时候就需要我们⾃⼰进⾏剪切了。
主要运⽤cavans的clip功能,以下是具体的代码实现:let picList = [];let tempNodes = [];for (let i in this.nodesObj) {let item = this.nodesObj[i];// 设置已知的信息let obj = {x: item.x,y: item.y,name: ,id: item.id,symbolSize: this.size,category:item.id === this.startNode || item.id === this.endNode ? 0 : 1};// 如果有图标信息,进⾏图⽚处理,没有的直接放到节点信息中if (item.icon) {let p = this.getImgData(item.icon);picList.push(p);tempNodes.push(obj);} else {this.nodes.push(obj);}}// 将图⽚处理放在promise中,然后使⽤promise.all,当所有的图⽚都剪切完毕后,赋值if (picList.length > 0) {let that = this;Promise.all(picList).then(images => {for (let i = 0, len = tempNodes.length; i < len; i++) {tempNodes[i].symbol = 'image://' + images[i];that.nodes.push(tempNodes[i]);}// console.log(this.nodes);// 再设置节点that.setLinks();// 把数据设置到Echart中dataif (this.graphChart) {var option = this.graphChart.getOption();option.series[0].nodes = this.nodes;option.series[0].links = this.links;this.graphChart.setOption(option);}});} else {// 设置节点this.setLinks();}// 获取icon的图⽚信息getImgData (imgSrc) {var fun = function (resolve) {const canvas = document.createElement('canvas');const contex = canvas.getContext('2d');const img = new Image();img.crossOrigin = '';img.onload = function () {// 设置图形宽⾼⽐例let center = {x: img.width / 2,y: img.height / 2};let diameter = img.width;let radius = diameter / 2; // 半径canvas.width = diameter;canvas.height = diameter;contex.clearRect(0, 0, diameter, diameter);contex.save();contex.beginPath();contex.arc(radius, radius, radius, 0, 2 * Math.PI); // 画出圆contex.clip();contex.drawImage(img,center.x - radius,center.y - radius,diameter,diameter,0,0,diameter,diameter); // 在刚刚裁剪的园上画图contex.restore(); // 还原状态resolve(canvas.toDataURL('image/png', 1));};img.src = imgSrc;};var promise = new Promise(fun);return promise;}实现效果:多关系合并echarts的关系最多⽀持2条显⽰,所以当2个节点之间存在多个关系的时候,可以把同⼀个指向的关系合并到⼀起如下图,周杰伦与刘德华的关系是偶像和同窗,刘德华和周杰伦的关系是好友也就是获取两个节点之间同⽅向的线条的关系,然后进⾏合并,再显⽰在⼀条关系线上即可。
zedgraph气候显示实例
ZedGraph气候显示实例using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using ZedGraph;using System.Collections;using System.IO;using DBUtility;namespace GeoCourse{public partial class GeoTempGraphy : Form{//直方图的主标题public string m_string_Title;//X轴的标题说明public string m_string_XTitile;//Y轴的标题说明public string m_string_YTitile;//Y轴的右侧标题public string m_string_YRightTitle;public bool m_bool_ShowYRightTitle = true;public double m_double_Y_min = -30;public double m_double_Y_Max = 30;public bool m_bool_ShowRightY = true;EasyAccess pAccess = null;private string m_string_TableName;public string m_string_CurrentDir = System.AppDomain.CurrentDomain.BaseDirectory;DataTable pData = null;DataTable pMenuTable = null;public GeoTempGraphy(){m_string_TableName = "";m_string_Title = "";m_string_XTitile = "";m_string_YTitile = "";m_string_YRightTitle = "";string m_stirng_TempDB = m_string_CurrentDir + "\\database\\QH.mdb";SetAccessMDB(m_stirng_TempDB);if (pAccess != null){bool bOpen = false;pMenuTable = pAccess.ReadAllData("QHLX", "", ref bOpen); }InitializeComponent();}///<summary>///用于设置需要连接的数据库///</summary>///<param name="strAccessDB"></param>public void SetAccessMDB(string strAccessDB){if (pAccess == null){pAccess = new EasyAccess();pAccess.DBName = strAccessDB;}}public void SetCity(string strCity){}public void SetTempName(string sTempName){m_string_Title = sTempName;}///<summary>///设置需要显示的气候类型图/// strTempType 气候类型/// 0 -- 热带雨林气候/// 1 -- 热带草原气候/// 2 -- 热带季风气候/// 3 -- 热带沙漠气候/// 4 -- 亚热带季风气候/// 5 -- 地中海气候/// 6 -- 温带海洋气候/// 7 -- 温带季风气候/// 8 -- 温带大陆性气候/// 9 -- 极地气候///</summary>///<param name="strTempType"></param>public void SetTempType(int strTempType){if (pAccess == null){return;}bool m_bool_LoadScess = false;switch (strTempType){case 0:{m_string_TableName = "YTSJ";if (pAccess != null){pData = pAccess.ReadAllData(m_string_TableName, "", refm_bool_LoadScess);if (m_bool_LoadScess == true && pData != null){ArrayList pTempList = new ArrayList();ArrayList pRainVolu = new ArrayList();pTempList.Clear();pRainVolu.Clear();for (int i = 0; i < pData.Rows.Count; i++ ){double dj = i * 20;double dValue = Convert.ToDouble(pData.Rows[i][1]);string txtLab = i.ToString() + "月";pTempList.Add(txtLab);pTempList.Add(dValue);double dRain = Convert.ToDouble(pData.Rows[i][2]);//pRainVolu.Add(dj);pRainVolu.Add(dRain);}SetCurveGraph("温度", pTempList, System.Drawing.Color.Red, ZedGraph.SymbolType.Diamond);SetHisgraphBar("降雨量", pRainVolu, System.Drawing.Color.Green); }}break;}case 1:{break;}default:break;}}private void SetSize(){zg1.Location = new Point(10, 10);zg1.Size = new Size(this.ClientRectangle.Width - 20,this.ClientRectangle.Height - 20);}public void GraphicShow(){GraphPane myPane = zg1.GraphPane;myPane.Title.Text = m_string_Title;myPane.XAxis.Title.Text = m_string_XTitile;myPane.YAxis.Title.Text = m_string_YTitile;myPane.Y2Axis.Title.Text = m_string_YRightTitle;myPane.XAxis.MajorGrid.IsVisible = true;// Make the Y axis scale redmyPane.YAxis.Scale.FontSpec.FontColor = Color.Red;myPane.YAxis.Title.FontSpec.FontColor = Color.Red;// turn off the opposite tics so the Y tics don't show up on the Y2 axismyPane.YAxis.MajorTic.IsOpposite = false;myPane.YAxis.MinorTic.IsOpposite = false;// Don't display the Y zero linemyPane.YAxis.MajorGrid.IsZeroLine = false;// Align the Y axis labels so they are flush to the axismyPane.YAxis.Scale.Align = AlignP.Inside;// Manually set the axis rangemyPane.YAxis.Scale.Min = m_double_Y_min;myPane.YAxis.Scale.Max = m_double_Y_Max;// Fill the axis background with a gradientmyPane.Chart.Fill = new Fill(Color.White, Color.LightGray, 45.0f);// Enable scrollbars if neededzg1.IsShowHScrollBar = true;zg1.IsShowVScrollBar = true;zg1.IsAutoScrollRange = true;zg1.IsScrollY2 = false;// OPTIONAL: Show tooltips when the mouse hovers over a pointzg1.IsShowPointValues = true;// OPTIONAL: Handle the Zoom Event//zg1.ZoomEvent += new ZedGraphControl.ZoomEventHandler(zg1_ZoomEvent);// Size the control to fit the windowSetSize();// Tell ZedGraph to calculate the axis ranges// Note that you MUST call this after enabling IsAutoScrollRange, since AxisChange() sets// up the proper scrolling parameterszg1.AxisChange();// Make sure the Graph gets redrawnzg1.Invalidate();}private void zg1_Load(object sender, EventArgs e){}private void GeoTempGraphy_Load(object sender, EventArgs e){if (pAccess == null){return;}SetTempType(0);//GraphicShow();}public void SetHisgraphBar(string strBarName, ArrayList list, Color pColor){if (list.Count < 1){return;}GraphPane myPane = zg1.GraphPane;PointPairList listPair = new PointPairList();for (int i = 0; i < list.Count - 1; i += 2){listPair.Add((double)list[i], (double)list[i + 1]);}BarItem mybar = myPane.AddBar(strBarName, listPair, pColor);// Enable the Y2 axis displaymyPane.Y2Axis.IsVisible = m_bool_ShowRightY;if (m_bool_ShowRightY){// Make the Y2 axis scale bluemyPane.Y2Axis.Scale.FontSpec.FontColor = Color.Blue;myPane.Y2Axis.Title.FontSpec.FontColor = Color.Blue;// turn off the opposite tics so the Y2 tics don't show up on the Y axismyPane.Y2Axis.MajorTic.IsOpposite = false;myPane.Y2Axis.MinorTic.IsOpposite = false;// Display the Y2 axis grid linesmyPane.Y2Axis.MajorGrid.IsVisible = true;// Align the Y2 axis labels so they are flush to the axismyPane.Y2Axis.Scale.Align = AlignP.Inside;}GraphicShow();}public void SetCurveGraph(string strBarName, ArrayList list, Color pColor, SymbolType psymbol){if (list.Count < 1){return;}GraphPane myPane = zg1.GraphPane;PointPairList listPair = new PointPairList();for (int i = 0; i < list.Count - 1; i += 2){listPair.Add((double)list[i], (double)list[i + 1]);}LineItem myCurve = myPane.AddCurve(strBarName, listPair, pColor, psymbol);myCurve.Symbol.Fill = new Fill(Color.White);//// Show the x axis grid//myPane.XAxis.MajorGrid.IsVisible = true;// Enable the Y2 axis displaymyPane.Y2Axis.IsVisible = m_bool_ShowRightY;if (m_bool_ShowRightY){// Make the Y2 axis scale bluemyCurve.IsY2Axis = true;myPane.Y2Axis.Scale.FontSpec.FontColor = Color.Blue;myPane.Y2Axis.Title.FontSpec.FontColor = Color.Blue;// turn off the opposite tics so the Y2 tics don't show up on the Y axismyPane.Y2Axis.MajorTic.IsOpposite = false;myPane.Y2Axis.MinorTic.IsOpposite = false;// Display the Y2 axis grid linesmyPane.Y2Axis.MajorGrid.IsVisible = true;// Align the Y2 axis labels so they are flush to the axismyPane.Y2Axis.Scale.Align = AlignP.Inside;}GraphicShow();}public void AddCurveGraph(string strBarName, ArrayList list,ArrayList Lbls, Color pColor, SymbolType psymbol){if (list.Count < 1 || Lbls.Count <1 || Lbls.Count != list.Count){return;}GraphPane myPane = zg1.GraphPane;double[] y = new double[list.Count];string[] labels = new string[Lbls.Count];for (int i = 0; i < list.Count - 1; i += 2){y[i] = (double)list[i];labels[i] = (string)Lbls[i];}//LineItem myCurve = myPane.AddCurve("My Curve", null, y, Color.Red,SymbolType.Diamond);LineItem myCurve = myPane.AddCurve(strBarName,null, y, pColor, psymbol);myCurve.Symbol.Fill = new Fill(Color.White);myCurve.Line.IsSmooth = true;// Set the XAxis to Text typemyPane.XAxis.Type = AxisType.Text;//myPane.XAxis//// Set the XAxis labels//myPane.XAxis.TextLabels = labels;// Set the labels at an angle so they don't overlap//myPane.XAxis.ScaleFontSpec.Angle = 40;GraphicShow();}}}。
UnityShaderGraphs使用笔记
UnityShaderGraphs使⽤笔记Shader Graphs 节点笔记整理:⽼⿁快捷键:空格打开添加接单右键菜单Master 主节点PBR Graphs主节点:Vertex Position:顶点位置Vertex Normal:顶点法线Vertex Tangent:顶点切线Albedo:反射颜⾊(基础颜⾊)Normal:法线Metallic: ⾦属度Smoothness: 平滑度Occlusion: 闭塞吸收Alpha: 透明度AlphaClipThreshold: 透明剪裁材质选项:Precision:精度Inherit: 继承Float: 浮动Half: 减半Workflow: ⼯作流Specular: 镜⾯反射Metallic: ⾦属Surface: 表⾯Opaque: 不透明的Transparent: 透明的Blend:混合材质Alpha: 透明Premultiply: 前乘Additive: 相加Multiply: 相乘Two Sided:双⾯Unlit Graphs 主节点Vertex Position: 顶点位置Vertex Normal: 顶点法线Vertex Tangent: 顶点切线Color:颜⾊Alpha:透明度AlphaClipThreshold: 透明度剪裁材质选项:Precision:精度Inherit: 继承Float: 浮动Half: 减半Surface: 表⾯Opaque: 不透明的Transparent: 透明的Blend:混合材质Alpha: 透明Premultiply: 前乘Additive: 相加Multiply: 相乘Two Sided:双⾯Sprite Lit Master2D精灵光着⾊器为LWRP中2D精灵的材质创建2D着⾊器Sprite Unlit Master2D精灵⽆光着⾊器为LWRP中2D精灵的材质创建2D着⾊器Visual Effect Master视觉特效Color:HDR颜⾊Base Color:基础颜⾊Metallic:⾦属度Smoothness:平滑度Normal:法线Emissive:⾃发光Alpha:透明度Alphathreshold:透明度裁剪材质选项:Alpha Mask:剪裁模式Lit:光模式----------------------------------------------------------------------------------------------------------------------- Utility通⽤Custom Function⾃定义函数⾃定义函数必须⾄少要有⼀个输出槽Preview预览节点,In = OutLogic 逻辑运算节点Comparison对⽐节点,输出True或False Equal 等于Not Equal 不等于Less ⼩于Less Or Equal ⼩于等于Greater ⼤于Greater or Equal ⼤于等于Branch分⽀节点,输⼊True或False,然后输出True或False相对应的值All输⼊只要⾮0,则输出trueAnd和运算Out = A && BOr或运算Out = A || BNand与⾮运算Out = !A && !BNot⾮运算Out = !InIs NaN是否为数字,如果不是数字,返回TrueIs Infinite是否⽆限,如果⽆穷⼤,则返回TrueIs Front Face是否是正⾯------------------------------------------------------------------------------------------------------Math 数学Advanced 进阶Absolute绝对值取正Exponential下拉框选择e为底数||2为底数Length长度获取向量长度,Vector2 =Vector3 =Log对数Modulo取余取反Normalize归⼀化Posterize⾊调分离⾊阶效果,把相邻颜⾊归⼀成同样颜⾊Reciprocal倒数Reciprocal Square Root反平⽅根Basic 基础Add相加Multiply相乘Divide相除Power平⽅Square Root 开⽅Subtract相减Derivative 导数DDX偏导数X坐标返回输⼊值的偏导数的屏幕空间X坐标DDXY偏导数XY坐标之和返回输⼊值的两个偏导数之和,两个偏导数分别对应屏幕空间X坐标和Y坐标DDY偏导数Y坐标返回输⼊值的偏导数的屏幕空间Y坐标Interpolation 插值Inverse Lerp逆向线性插值Out = (T - A) / (B - A)Lerp线性插值Out = (A - B) * T + ASmoothstep平滑插值插值在开始时加快,在结束时减缓Matrix 矩阵Matrix Construction矩阵构造创建⼀个矩阵。
多维数据图形显示中ZedGraph控件的应用
AB TRACT Z d a h i a p n s u c o t o wa e S e Gr p s n o e — o r e c n r l r ,wh c r v d s u e o to wa e a d we o to wa e 2 D i e r g a h, ih p o i e s rc n r l r n b c n r l r . - l a r p n b r c a ta d p ec a tc n b e e a e y t e Z d a h c n r l r .Th s p p r i t o u e i a e o is a d mu t i n in l a h r n i h r a eg n r t d b h e Gr p o t o wa e i a e r d c s ma n c t g re n li me so a n d d t ft e Z d a h,d s u s s a p ia i n o h e Gr p o t e g a h c d s ly o li i n i n ld t .I s e s n i l a a o h e Gr p ic s e p l to ft e Z d a h t h r p i ip a f mu tdme s o a a a ti a y a d smp e c t c iv iu l a i n o h u td me so a a a wih t e Z d a h o a h e e vs a i to f t em li i n in ld t t h e Gr p z KEYW ORDS m u tdm e s o a a a li i n i n ld t ,Ze Gr p d a h,d t r h u e。c n r l r a a wa e o s o t o wa e
nodegraph的使用方法
nodegraph的使用方法Nodegraph 的使用方法什么是 Nodegraph?Nodegraph 是一种数据可视化工具,用于展示节点之间的关系和流程。
它的主要作用是帮助用户更清晰地理解和分析复杂的数据结构。
为什么要使用 Nodegraph?使用 Nodegraph 可以帮助我们更好地理解和分析数据,尤其是对于大规模、复杂的数据结构。
通过可视化展示节点之间的关系和流程,我们可以更直观地发现数据中的模式和趋势,从而做出更准确的决策。
如何使用 Nodegraph?以下是使用 Nodegraph 的一些方法,供您参考:•安装和启动 Nodegraph1.首先,您需要在您的计算机上安装 Nodegraph。
请查看 Nodegraph 的官方网站,按照指引进行安装。
2.安装完成后,您可以启动 Nodegraph,开始使用。
•创建和编辑节点1.在打开的 Nodegraph 窗口中,您可以看到一个空白的画布。
首先,我们需要创建一些节点。
2.在工具栏中选择“创建节点”按钮。
然后,在画布上点击鼠标左键,即可创建一个新节点。
3.双击节点,可以编辑节点的属性和文本内容。
•连接节点1.在 Nodegraph 中,节点之间的关系通过连接线表示。
现在,让我们来连接一些节点。
2.在工具栏中选择“创建连接”按钮。
然后,通过点击鼠标左键,从一个节点的出口连接到另一个节点的入口。
3.连接线上可以标记不同类型的关系,您可以通过右键点击连接线进行编辑。
•调整节点和连接1.如果您想要调整节点的位置,只需拖动它们到合适的位置即可。
2.同样地,如果您想要调整连接线的位置,只需拖动它们即可。
•导出和保存1.在完成了节点的创建和连接之后,您可以将Nodegraph 导出为图片或者其他格式。
2.在菜单栏中选择“导出”,然后按照提示操作即可。
3.如果您想要保存当前的 Nodegraph,可以选择“保存”选项,然后选择文件名和保存的位置。
以上就是使用 Nodegraph 的一些基本方法和技巧。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ZedGraph 是一个非常优秀的开源的作图控件1、在vs 中使用ZedGraph2、基本一些概念几个注意点:图片的保存路径设置:RenderedImagePath 属性中设置,程序对该文件夹应该是有写和修改权限的图片的输出格式:OutputFormat 属性中设置,Png 的推荐,比较清晰。
ChartChartBorder图表区域的边框设置ChartFill图表区域的背景填充Legend图表的注释标签显示设置项目,一组数据对应一种颜色的注释IsHStack当有多个显示项的时候设置Y 轴数据是叠加的还是分开的Xaxis图表区域的X 轴相关信息设置AxisColor坐标轴颜色Cross坐标的原点,可以设置坐标的偏移程度CrossAuto原点自动设置:True 的话Cross 的设置就无效了。
FontSpec X 轴标题字体相关信息Angle X 轴标题字体显示时候的角度,0为水平90为垂直Fill X 轴标题字体填充信息ColorOpacity透明度IsScaled设置X 轴标题字体显示大小是否根据图的比例放大缩小RangeMax填充时候的最大倾斜度(有过渡色,没试过)RangeMin 填充时候的最小倾斜度(有过渡色,没试过)StringAlignment X 轴标题字体排列(不清楚,没试过)IsOmitMag是否显示指数幂(10次方,没试过,似乎与IsUseTenPower 有关系)IsPreventLabelOverlap坐标值显示是否允许重叠,如果False的话,控件会根据坐标值长度自动消除部分坐标值的显示状态IsShowTitle X 轴标题是否显示IsTicsBetweenLabels两个坐标值之间是否自动显示分隔标志IsUseTenPower是否使用10次幂指数IsZeroLine当数据为0时候是否显示(在饼状图显示的时候有用)IsVisible是否显示X 轴MajorGrid 大跨度的X 轴表格虚线线显示信息DashOff虚线中孔间距DashOn虚线单位长度MajorTic大跨度的X 轴刻度信息IsInside在Chart 内部是否显示IsOutSide在Chart 外部是否显示IsOpposite在对面的轴上是否显示MinorGrid小跨度的X 轴表格虚线显示信息MinorTic小跨度的x 轴刻度信息MinSpace 刻度和轴之间的距离(没试过)Scale刻度值的一些设定IsReverse X 轴的刻度值从高到低还是从低到高MajorStep大刻度步长MajorStepAuto是否自动设置大刻度步长MajorUnit大刻度步长单位Max刻度最大值MaxAuto根据输入数据自动设置刻度最大值Min刻度最小值MinAuto根据输入数据自动设置刻度最小值MinGrace不清楚,没试过MinorStep小刻度步长MinorStepAuto是否自动设置小刻度步长MinorUnit小刻度单位Type数据显示方式Liner直接现实(自动)Date按日期方式显示Log按指数幂方式显示Ordinal顺序显示Y2Axis第二个Y 轴坐标信息显示(具体设置看X 轴)Yaxis第一个Y 轴坐标信息显示(具体设置看X 轴)BarBase在生成柱状图的时候设置柱状是基于X 轴还是其他轴BarType柱状的类型叠加或其他。
IsFontsScaled图比例变化时候图表上的文字是否跟着自动缩放IsIgnoreInitial是否忽略初始值IsIgnoreMissing是否忽略缺省值IsPenWidthScaled图比例变化时候图表上的画笔的粗细是否跟着自动缩放IsShowTitle图表标题是否显示PaneFill Pane 的一些填充信息BaseDimension缩放比例基数(可以试试效果)IsImageMap不清楚干吗用的AxisChaneged是否允许自动绘图(没试过,一般都true,动态绘图)CacheDuration Cache 保存时间0OutputFormat输出格式RenderedImagePath输出路径RenderMode输出模式,不太清楚一般都是ImageTag,另一个输出的是乱码不是图片。
对于图表而言,一般是三种表现形式:柱状图、饼状图和点线图。
Member ->> DescriptionAxisChange()() ->> This performs an axis change command on the graphPane. BeenDisposed ->> This checks if the control has been disposed. This is synonymous with the graph pane having been nulled or disposed. Therefore this is the same as ZedGraphControl.GraphPane == null.BorderStyle ->> Gets or sets the border style of the tree view control. (Inherited from UserControl.)ContextMenuBuilder ->> Subscribe to this event to be able to modify the ZedGraph context menu.Copy(Boolean) ->> 将图像复制到剪贴板。
DoPageSetup()() ->> 打开打印设置对话框。
DoPrint()() ->> 打印图表。
DoPrintPreview()() ->> 打印预览。
EditButtons ->> Gets or sets a value that determines which Mouse button will be used to edit point data valuesEditModifierKeys ->> Gets or sets a value that determines which modifier keys will be used to edit point data valuesGetImage()() ->> 返回图表上的图像。
GraphPane ->> Gets or sets the GraphPane property for the control IsAntiAlias ->> Gets or sets a value that determines if all drawing operations for this control will be forced to operate in Anti-alias mode. Note that if this value is set to "true", it overrides the setting for sub-objects. Otherwise, the sub-object settings (such as IsAntiAlias) will be honored.IsAutoScrollRange ->> Gets or sets a value that controls whether or not the axis value range for the scroll bars will be set automatically. IsEnableHEdit ->> Gets or sets a value that determines whether or not editing of point data is allowed in the horizontal direction. IsEnableHPan ->> Gets or sets a value that determines whether or not panning is allowed for the control in the horizontal direction.IsEnableHZoom ->> 是否允许横向缩放。
IsEnableSelection ->> Gets or sets a value that determines whether or not selection is allowed for the control.IsEnableVEdit ->> Gets or sets a value that determines whether or not editing of point data is allowed in the vertical direction. IsEnableVPan ->> Gets or sets a value that determines whether or not panning is allowed for the control in the vertical direction. IsEnableVZoom ->> 是否允许纵向缩放。
IsEnableZoom ->> 是否允许缩放。
IsPrintFillPage ->> Gets or sets a value that determines whether or not the MasterPaneRectdimensions will be expanded to fill the available space when printing this ZedGraphControl.IsPrintKeepAspectRatio ->> Gets or sets a value that determines whether or not the visible aspect ratio of the MasterPaneRectwill be preserved when printing this ZedGraphControl.IsPrintScaleAll ->> Gets or sets a value that determines whether the settings of IsFontsScaled and IsPenWidthScaled will be overridden to true during printing operations.IsScrolling ->> Returns true if the user is currently scrolling via the scrollbar, or false if no scrolling is taking place.IsScrollY2 ->> Gets or sets a value that determines if the vertical scroll bar will affect the Y2 axis.IsShowContextMenu ->> 是否显示右键菜单,如果指定了ContextMenuStrip会一直显示指定的ContextMenu。