Tag: graph

图表标记没有出现在线上

因此,我使用Windows窗体图生成包含多行的图形,这些图形可能会在图形上产生一些混乱,除了颜色之外还需要区分它们。 使用点线或虚线的点太多,因为它与实线之间没有可观察到的差异。 所以我希望做的是获得各种形状的标记,例如在Excel中显示。 现在我有这样编码 myChart.Series[“MySeries”].ChartType = SeriesChartType.FastLine; myChart.Series[“MySeries”].MarkerStyle = MarkerStyle.Diamond; 它的作用是在该线上的图例中放置一颗钻石,但它不会将钻石放在图表本身的实际线上。 遗憾的是,更改标记大小并没有什么不同,也没有改变标记颜色。 有没有办法让这种情况发生。 感谢阅读,以及任何帮助。 编辑:下面是相关的代码。 它的数据保存在一个类中,这是一个字典的价值。 该类包含双精度列表。 public void Charter(Color colorOfLine) { double xValue; double yValue; myChart.Series.Add(“MySeries”); myChart.Series[“MySeries”].ChartType.FastLine; myChart.Series[“MySeries”].ChartArea = “ChartArea1”; myChart.Series[“MySeries”].Color = colorOfLine; myChart.Series[“MySeries”].MarkerStyle = MarkerStyle.Diamond; myChart.Series[“MySeries”].MarkerColor = Color.Black; myChart.Series[“MySeries”].MarkerSize = 5; myChart.Series[“MySeries”].MarkerBoarderColor = Color.DeepPink; foreach (KeyValuePair Pair in MyDictionary) { xValue = Pair.Value.MyClassList[0]; […]

GDI +曲线“溢出”

我目前正在使用GDI +绘制折线图,​​并使用Graphics.DrawCurve来平滑线条。 问题是曲线并不总是与我提供的点匹配,这使曲线在某些点上长出图形框架,如下所示(红色是Graphics.DrawLines ,绿色是Graphics.DrawCurve )。 我该如何解决这个问题?

ZedGraph垂直线与LineObj问题

我有一个ZedGraphControl,里面有几条曲线,我想在一些固定的x位置添加垂直线。 这些线当然应该只在实际的图形区域内。 我试过跟随 LineObj line = new LineObj(Color.Black, xPos, myPane.YAxis.Scale.Min, xPos, myPane.YAxis.Scale.Max); line.Line.Style = System.Drawing.Drawing2D.DashStyle.Dash; line.Line.Width = 1f; myPane.GraphObjList.Add(line); 这个工作正常,直到用户缩放图形,然后垂直线将伸出实际图形区域(参见下面的图片链接,同时注意它没有在图形内部虚线,奇数)。 http://sofzh.miximages.com/c%23// 有没有办法解决这个问题(如果只有一种方法可以获得当前缩放的myPane.Xaxis.Scale.Min和Max,然后更新ZoomEvent中的图形?)或者是否有更好的类/方法可以使用其他比LineObj为此目的?

生成和保存ZedGraph图而不在表单上显示

是否可以将数据绘制到ZedGraph图形并将其保存为文件而不显示/生成用户可见的图形? 我正在寻找处理大量数据集并生成图表并将其保存到文件中以便在应用程序之外查看。 如果无法做到这一点,是否可以在隐藏/最小化的表单上显示图表,保存图表,关闭窗口,并重复每个图表?

图邻接列表实现

我试图用C#表示Adjacency List的图形,如下面的代码。 但我想知道在哪里可以找到更好的C#实现。 喜欢这个Java网站: http : //algs4.cs.princeton.edu/41undirected/Graph.java.html 为了改进这个实现,我有一些问题: 是否有另一种简单的数据结构可供使用,并且您能够更轻松地进行DFS , BFS , Find the Shortest-path操作? 或者根据要解决的问题,数据结构变化太大了? ===已编辑=== 我试图将数据结构实现如下。 OBS :这种方法看起来很简单,但后来我意识到这不太适合DFS,例如,因为你需要一直跟踪LinkedList的第一个元素。在我的解决方案中似乎最好使用一个自定义创建的链接列表,而不是LinkedList 。 考虑到下面的评论并保持简洁,我做了一些改变。 但我不知道这些变化是否会影响进一步的运营,比如BFS 。 为了能够拥有直接和间接的图形,我认为使用接口比使用属性更好。 public interface IGraph { void InsertEdge(int edgeAKey, int edgeBKey); void IsertNewVertex(int vertexKey); LinkedList FindByKey(int vertexKey); bool ExistKey(int vertexKey); } 为了使它尽可能简单,我们可以使用已经实现的数据结构,如Dictionary和LinkedList 。 而不是使用object作为Dictionary key ,为了简化我们可以在Vertex创建一个key (或label )和一个value ,如果你想添加一个已存在于另一个Vertex 。 public class […]

如何在数据更改时刷新oxyplot图

Oxyplot图表13个点,这些点来自6个用户输入文本框。 文本框中的值保存在MainWindow.xaml.cs类的公共变量中。 当用户在文本框中按Enter键时,变量会更新。 如何使刷新按钮刷新图形。 private void RefreshButton_Click(object sender, RoutedEventArgs e) { //Refresh The Graph } 我认为这将使用 PlotModel.RefreshPlot() 方法,但我不知道如何实现它,因为Oxyplot的文档很差。

绘制图形的方法比绘制单独的线条更快捷的方法是什么?

截至目前,我正在绘制我的调试性能图,其中1px矩形被拉伸到必要的高度,但是以这种方式绘制大量数据会导致显着的性能损失。 目前的逻辑是:收集当前帧的所有时序,将它们放入Queue并通过绘制300个拉伸的1px精灵为每个队列绘制一个图形。 有4个图,因此仅在调试覆盖中有1200个精灵,这是资源消耗。 是否有更好的方法来绘制图表,至少不需要绘制这么多精灵?

C#中的反向宽度优先遍历

任何人都可以在C#中实现Reverse Breadth First遍历算法? 通过反向宽度第一次遍历,我的意思是不是从公共节点开始搜索树,而是想从底部搜索树并逐渐收敛到公共节点。 让我们看下图,这是广度优先遍历的输出: 在我的反向广度优先遍历中, 11和12将是找到的前几个节点(它们的顺序并不重要,因为它们都是第一顺序)。 7和8是找到的第二个几个节点,依此类推。 1将是找到的最后一个节点。 任何想法或指针? 编辑:将“广度优先搜索”更改为“广度优先遍历”以澄清问题

分析wav并绘制图表

我正在尝试从wav文件中打印出一个wave,但我对于我应该为样本采取的长度感到很遗憾。 这就是我喜欢的(没有颜色): 因此,为了读取我的数据,我使用以下代码: // first we need to read our wav file, so we can get our info: byte[] wav = File.ReadAllBytes(filename); // then we are going to get our file’s info info.NumChannnels = wav[22]; info.SampleRate = bytesToInt(wav[24], wav[25]); // nr of samples is the length – the 44 bytes that where needed for the […]

来自DataGridView的用户交互式图形

我有一个DataGridView,显示从txt文件中读取的信息。 我的目标是为此数据创建一个线图,显示X轴的DateTime。 我的目标是创建图形,以便将Gridview中的信息显示在图形上。 然后,用户可以在图表上选择点,然后从数据的该部分(例如一行)显示它们的特定信息。 我不确定使用哪个API: 我已经尝试使用Visual Studio的内部图表函数,但我无法将可选择的部分与我创建的图形进行交互。 如果有人对如何做到这一点有任何建议会很棒。