在WinForm C#中用ZedGraph动态地制作标签页的数量
我有几天的数据.我想在一个选项卡页面中绘制该数据,其中一天.选项卡页面可以与一天的数量动态更改. 以前,我总是在设计模式下制作静态页面.我使用Zedgraph控件来绘制数据.我决定需要多少页.那意味着页数是静态的. 现在,我需要更动态.我希望选项卡的数量可以动态变化.每个页面都有类似的控件.怎么做?我对此一无所知. 解决方案 首先,您创建一个新类型UserControl.这些旨在充当控件的容器.然后,您将所有所需的所有内容都放在典型的tabpage中,包括Zedgraph控件. 也在那里写下逻辑. 现在,当您需要另一个页面时,您可以创建一个页面并添加您创建的UC类的新实例. 您应该在其余的应用程序中考虑依赖关系,包括删除页面;如果需要的话,我想到了一个可以处理这些事情的页面控制器类. 您还可以子类别列表,但是进入UC的方式给出了额外的独立性层.您可以将相同的UC放在表单上或在容器控件内部.
16 2024-04-26
编程技术问答社区
使用富文本框的值绘制图表 C#
是否可以绘制从RichTextbox收集的数据图?例如,我在RichTextbox中有以下文本: $GPRMC,152908.00,A,5307.0794359,N,02308.8918827,E,0.049,188.6,280612,0.0,E,D*3A $GPRMC,152909.00,A,5307.0794307,N,02308.8918792,E,0.081,193.3,280612,0.0,E,D*3A $GPRMC,152910.00,A,5307.0794343,N,02308.8918811,E,0.034,42.9,280612,0.0,E,D*0F $GPRMC,152911.00,A,5307.0794410,N,02308.8918827,E,0.099,1.3,280612,0.0,E,D*30 $GPRMC,152912.00,A,5307.0794461,N,02308.8918808,E,0.055,331.9,280612,0.0,E,D*32
10 2024-04-26
编程技术问答社区
如何在同一图表系列中的特定点之间画线?
我有以下问题: 点图上绘制的点的分布; 其中一些要点需要以某种方式相互连接 一个点可以连接到几个不同的点; 这些要点需要与一条线连接; 并非所有要点都可以连接. 解决方案 一个系列可以 是类型Point 或 Line,因此我们需要使用两个系列或求助于一些技巧. 我建议使用两个系列,因为编码和维护非常简单. 此屏幕截图显示了100个随机点和25个随机连接. a Line图表只能绘制一条线,连接 all 它的点,一个接一个地.因此,诀窍是将每个连接点添加到线系列中,将它们的颜色交替在看不见的和某些可见颜色之间.: 首先,我们用两个Series和一个不错的Legend设置Chart: chart1.Series.Clear(); ChartArea CA = chart1.ChartAreas[0]; // the series with all the points Series SP = chart1.Series.Add("SPoint"
10 2024-04-25
编程技术问答社区
寻找3D绘图组件
我正在寻找能够基于3维点绘制3维图像的组件. 示例(请参阅3D绘图): http://www.wolframalpha.com/input/?i= abs%28x%29+%2B+abs%28y%29 在我的应用程序中,我的点包含x-,y-和z轴的坐标. 我正在寻找这样的用法: PlotComponent.Points.Add(x,y,z); 定义视角的可能性也很好. 有没有开源组件? (不能是商业许可证,因为该项目是一个学生项目) winforms应用程序 解决方案 我们最终使用了ilnumerics.net: http://ilnumerics.net/ 它具有绘制不错的3D图的能力,但是旋转/缩放功能是故障的,可能会导致货物重新绘制. 在3D组件的内部代码中,处置/重复控制导致nullReeferenceException的控制也存在一个问题,在〜10-20重复后. (我们最终通过尝试/捕获等丑陋的反复试验,依此类推) ) 我在此处
10 2024-04-24
编程技术问答社区
如何使用IlPanel c#绘制3D函数
我正在使用iLnumerics,现在我想知道它是否可能在iLpanel函数中具有两个变量(例如f(x,y)). . 我已经在互联网上搜索了,但我什么也没发现.有人可以帮我吗? 解决方案 从版本3.3.2开始. " ilsurface"允许将两个参数的函数定义为表面: private void ilPanel1_Load(object sender, EventArgs e) { ilPanel1.Scene.Add( new ILPlotCube(twoDMode: false) { new ILSurface((x,y) => { return (float)Math.Sin(0.1f * x * x + 0.2f * y * y); }) }); } 结果:
12 2024-04-24
编程技术问答社区
如何创建一个三维散点图?
我一直在对带有C#的3D散点图进行一些研究.到目前为止,我已经找到了一个 library 这对我有些有用.但是,不一定像我需要的那样灵活.由于我只需要创建一个固定的3D散点图,因此是否还有其他替代方案可以使用C#中的Point3D结构或任何其他不需要我引入第三方库的替代方案,这可能允许更好灵活性? 解决方案 我已经设法使用 ilnumerics创建了一个3D散点图: var colors = new[] { Color.Red, Color.Black, Color.Blue, Color.Green /*...*/ }; ILArray data = ILMath.zeros( 3, colors.Length); ILArray colorData = ILMath.zeros( 3, colors.Length); int index = 0; foreach (var p in col
14 2024-04-20
编程技术问答社区
在给定的y截距和斜率的情况下,在图表中画出一条直线
我已经编写了一个程序,该程序可以计算出用户的几个输入值的最佳拟合线(拦截/斜率).我已经绘制了每个单个值,但是对于绘制了范围的不确定代码. 这是斜率: double m = ( aXY.Sum() - ((levels.Sum() * scores.Sum()) / 5)) / (newaX.Sum() - ((powLevels) / 5)); 拦截 double b = meanY - (m * meanX); 点的绘制 for (int i = 0; i
8 2024-04-14
编程技术问答社区
用C#绘图
c#似乎对科学计算显示了一些希望,但是我发现一个绘制2D图的几乎没有,这对科学专业的学生和科学家来说非常重要. 是否有一种可靠,免费的,可以用C#创建出版物质量2D图的方法?以及节省几种格式的能力(PNG,EPS,...).类似于Python的Matplotlib? 解决方案 有 oxyplot 我建议.它具有WPF,Metro,Silverlight,Windows Forms,Avalonia UI,XWT的软件包.除了图形外,它还可以导出到SVG,PDF,Open XML等.它甚至支持Android和iOS的单声道和Xamarin.它也是积极开发的. 还有一个新的(至少对我来说)开源.net绘图库,称为 live-图表.这些地块非常互动. Library Suports WPF,Winforms和UWP. Xamarin计划.该设计是针对MV*模式进行的. 但是 @pawełAudionysos建议并不是现场直播WPF的表现不佳. 其他解决方案 zedg
12 2024-04-13
编程技术问答社区
如何绘制一个三维图形来表示空间中的一个物体
我有一个在空间中输出x,y,z位置的机器人.我的问题是我只能使用图表中的Windows表单中找到2D图. 我想在3D空间中绘制我的机器人.我可以使用任何工具? 类似的东西: 我需要这个 的免费软件解决方案 编辑: 我的2D图AMP: chart1.ChartAreas[0].AxisX.Minimum = 0; chart1.ChartAreas[0].AxisX.Maximum = 12; chart1.ChartAreas[0].AxisX.Interval = 1; chart1.ChartAreas[0].AxisY.Minimum = 0; chart1.ChartAreas[0].AxisY.Maximum = 7; chart1.ChartAreas[0].AxisY.Interval = 1; //example
12 2024-04-12
编程技术问答社区
绘制和显示数组的简单方法?
在此处的第一篇文章.在Visual Studio 2008中使用C.如有必要,可以与VS 2005一起使用. 如何像电子表格中的数字数据显示数值数据? 如何在数组中绘制数值数据? 这些似乎是简单的问题.但是我找不到解决方案.到目前为止,我将数据将数据打印到文件,导入到Excel并查看/图.但是,使用此代码有太多数组 - 因此打印/导入/情节正在累. 一些约束. 我不想写20多行代码来执行上述操作. MATFOR或ARRAY可视化器让您使用一个行函数调用进行绘图. 他们无法以方便的格式显示数据.我想在一个或两个窗口中显示数据和图,以便同时看到它们. 这是Win32控制台应用程序---所有代码都是便携的. 将在调试期间使用这些. 免费或付费. 当我寻找特定的东西时,对于任何从事数字工作和矩阵的数值工作的要求,这些需求基本相同 - 播放数据并同时绘制. 我希望已经编写了这样的工具并可以使用. 我还可以开放一种解决方案,该解决方案将数组数据输出到Excel表(可
20 2024-04-09
编程技术问答社区
如何用c程序绘制数据?
我是一位机械工程师,在C编程方面只有有限的知识.我编写了一些代码以进行模拟,我想可视化模拟结果.目前,我正在使用Dev-C编写代码.使用fopen和fprintf命令,我生成了包括结果的文件.然后,我打开GNUPLOT程序并导入我的.dat文件以绘制结果.这需要时间,我必须等到模拟结束.是否有一种简单的方法可以将绘图仪与Dev-C连接起来,因此我的绘图仪在模拟过程中开始绘制数据?任何图书馆或等等? 解决方案 由于您已经知道GNUPLOT,因此最简单的事情可能就是从程序中调用GNUPLOT并将数据输送到它: FILE *gnuplot = popen("gnuplot", "w"); fprintf(gnuplot, "plot '-'\n"); for (i = 0; i
14 2024-04-07
编程技术问答社区
好的C语言绘图库?
我的问题在精神上与这个问题非常相似:是什么Python的最佳绘图库? 我最好在c?中绘制数据的最佳选择是我最好放弃图书馆,而只是生成可以直接输入 gnuplot ? 我对这个问题的动力是能够在研究之前,能够可视化DSP变换.我的问题.因此,焦点实际上只是2D图,直方图等. 3D现在不那么重要. 解决方案 我认为您的gnuplot在正确的轨道上.对于您想要的,它非常强大且灵活. 但是,您可能需要考虑直接从应用程序写入GNUPLOT,而不是创建数据并馈送数据.有一个 ansi c api to gnuplot to gnuplot 可用. 其他解决方案 mathgl 是cross-platform(windows/linux/macos)免费(gpl,lgpl,for core)绘制库.它很快,具有许多图形类型,可以绘制巨大的数据阵列,可以产生位图和矢量(EPS/SVG/U3D)输出,可以使用OpenGL,可以在控制台中运行(不需要X),具有许多接口(for
12 2024-04-06
编程技术问答社区
无法使用按钮保存数据 (MATLAB)
我正在尝试创建一个图形,用户可以选择要打开或关闭的单元格.然后,用户可以单击"输入"按钮以将板作为数组保存.我成功地找到了一种在我的情节中创造互动性的方法,这要归功于我发现在这里.我只是做了一些更改以适应我的需求. 但是,我找不到保存董事会的方法.该按钮正在工作(或至少不工作),但数据没有保存.而且我不知道该如何解决.任何帮助将不胜感激. 这是我的代码: function CreatePattern hFigure = figure; hAxes = axes; axis equal; axis off; hold on; % create a button to calculate the difference between 2 points h = uicontrol('Position',[215 5 150 30],'String','Enter','Callback', @SaveArray);
22 2024-04-05
编程技术问答社区
从下拉菜单或按钮设置sqrt作为y轴刻度-Python/Plotly
在此示例中:从按钮或下拉菜单中设置线性或日志轴我可以使用按钮将Yaxis从线性更改为line. 但是我需要将其更改为SQRT. 我看了看 来自 plotly:参考布局轴我发现没有类型(" sqrt) ") 类型 代码:图.Update_yaxes(type =) 类型:枚举,一个(" - " |" Linear" |" log" |" date" |" category" |"多材")之一 默认值:" - "设置轴类型.默认情况下,Plotly尝试通过查看引用相关轴的迹线的数据来确定轴类型. 这是Exmaple代码: import plotly.graph_objects as go fig = go.Figure() fig.add_trace(go.Scatter( x=[0, 1, 2, 3, 4, 5, 6, 7, 8], y=[8, 7, 6, 5, 4, 3, 2, 1, 0] )) fig.add_trace(go.Scatte
14 2024-04-05
编程技术问答社区
Matlab中类似于差额博弈图的图表
我有兴趣在Matlab中创建这样的情节. (来源:由"这样"我的意思是我希望有两组,称它们为A和B,观察到两次,预处理和处理后,其中该地块由a和b的盒子左组组成在时间预处理和正确的组由A和B进行处理后的A和B组成,在此操作后,PRE的平均值与一条线的平均值与邮政的平均值联系在一起,而B Pre的平均值则与一条线联系在一起B帖子.我的意思不是要保持颜色形状或线条(而不是框)的特定外观. 我试图使用Boxplot命令到达那里,并使用" hold On",但我无法完全弄清楚如何将其整合在一起.要获得混凝土,请假设像在MATLAB Boxplot命令中一样,观察值是行,字段为列,并且该顺序为((a,pre),(a,post),(a,post),(b,pre),( B,帖子)). 一些示例代码以: simlength = 100; groupmeans = [.1, .2, .2, .4]; groupstddev = [.05, .05, .05, .05]; simholde
14 2024-04-03
编程技术问答社区
Matplotlib,沿x轴移动boxplots?
我正在沿两个不同轴绘制多个盒子图. 我的代码看起来像: fig, (ax1, ax2) = plt.subplots(2, sharex=True, sharey=False) data_1 = [array1, array2, array3] ax1.boxplot(data_1, whis=[5,95], showfliers=True) data_2 = [array4, array5] ax2.boxplot(data_2, whis=[5,95], showfliers=True) ax2.set_xlim(0,4) 这会产生一个图片(用我的实际数据替换),看起来像: 但是,我希望下部图(在AX2上)沿X轴向右移动一个单位.也就是说,我想在x = 2和x = 3处绘制2个下部框图,以便它们与第二个和第三个上的盒子图对齐.我想保持所有X轴相同并保持一致. 有什么想法? 解决方案 这应该适用于您的示例代码.但是,该解决方案绕过sharex alig
22 2024-04-03
编程技术问答社区
为多个ACF制作一个boxplot
我使用以下内容在大约200列上运行forecast::Acf.现在,我想生成一个箱形图,显示滞后1:36的相关值的分布. ## a simple example d > 36是有道理的!): ## for data frame `d` acfs
12 2024-04-03
编程技术问答社区
r格子线在bwplot后的水平线位置错误
我可以毫无问题地做到这一点: boxplot(coef ~ habitat, data = res) abline(h = 0, col = "green") 但是当我使用晶格时,水平线被放错位置: bwplot(coef ~ habitat, data = res) abline(h = 0, col = "green") 我试图使用panel.abline,但这将绿线放在图片的顶部. 解决方案 使用面板功能;按照您想要添加的零件的顺序订购包含的功能;利用...避免必须知道/管理面板功能的所有参数 bwplot(coef ~ habitat, data = res, panel=function(...) { panel.abline(h=0, col="green") panel.bwplot(...) }) 当有几个面板,例如, 时,面板功能的概念更有意义 res = data.frame(coef=rnorm(99) +
8 2024-04-03
编程技术问答社区