You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+26-17Lines changed: 26 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,23 +5,8 @@ This repository is a collection of minimal-case example projects to display data
5
5
6
6
Most examples use `System.Drawing` (available as a .NET Standard library using the [System.Drawing.Common](https://www.nuget.org/packages/System.Drawing.Common/) NuGet package), but some use alternative methods like WPF and Skia (SkiaSharp).
7
7
8
-
## Child Projects
9
-
10
-
Some code examples started here have matured into their own projects:
11
-
12
-
Project | Screenshot
13
-
---|---
14
-
**[ScottPlot](http://swharden.com/scottplot/)** is an interactive plotting library for .NET. If you're just looking for an easy way to interactively display some data on a graph using C#, ScottPlot might be for you! | 
15
-
**[Spectrogram](https://github.com/swharden/Spectrogram)** is a simple spectrogram library for .NET. Specrogram converts signals (typically audio) into the frequency-domain and makes it easy to display spectrograms as 2D images. Spectrogram is fast enough to display the audio spectrum in real time. | 
16
-
**[Sound Card ECG](https://github.com/swharden/SoundCardECG)** uses scottplot to interactively display the soundcard signal in real time| 
17
-
**[HHSharp](https://github.com/swharden/HHSharp)** is an interactive Hodgkin-Huxley neuron simulator|
18
-
19
-
20
-
## Instructional Code Examples
21
-
Each of these example projects introduces an important concept in data visualization and has well-documented code examples to demonstrate them. These examples can be useful individually, but are best appreciated if fully reviewed in top-down order.
22
-
23
-
> **⚠️ WARNING:** This project is being actively restructured (April, 2020) to better organize project code in this repository and move commentary to the [C# Data Visualization Website](http://swharden.com/CsharpDataVis/). Projects below this line have not yet been upgraded to this new format.
24
-
8
+
## Code Examples
9
+
Each of these example projects introduces important entry-level concepts with code examples to demonstrate them. These examples can be useful individually, but are best appreciated if reviewed in top-down order.
25
10
26
11
### Drawing / Graphing
27
12
@@ -66,6 +51,30 @@ Description | Screenshot
66
51
**[Plotting Audio Values](/examples/2019-06-07-audio-visualizer/readme.md)** - This example uses [NAudio](https://github.com/naudio/NAudio) to access the sound card and plots raw PCM values with [ScottPlot](https://github.com/swharden/ScottPlot). These graphs contain tens of thousands of data points, but remain fully interactive even as they are being updated in real time. | 
67
52
**[Plotting Audio FFT](/examples/2019-06-08-audio-fft)** - This example continuously plots the frequency component of an audio input device. The [NAudio](https://github.com/naudio/NAudio) library is used to acquire the audio data and process the FFT and [ScottPlot](https://github.com/swharden/ScottPlot) is used for the plotting. | 
68
53
54
+
## Advanced Examples
55
+
56
+
These examples were created for the [C# Data Visualization Website](https://swharden.com/CsharpDataVis) and mostly involve creating rendering-library-agnostic _models_ of complex systems, then developing rendering systems that can display the models.
57
+
58
+
Project | Screenshot
59
+
---|---
60
+
[**Mystify Your Mind with C#**](/examples/drawing/mystify) - The classic screensaver implemented using both OpenGL and System.Drawing. See [C# Data Visualization Website](https://swharden.com/CsharpDataVis) for details.|
61
+
[**Game of Life in C#**](/examples/drawing/game-of-life) - Conway's Game of Life is a zero-player video game that uses a few basic rules to determine if cells live or die based on the density of their neighbors. In this project we create Life using C# and System.Drawing. See [C# Data Visualization Website](https://swharden.com/CsharpDataVis) for details.|
62
+
[**Boids in C#**](/examples/drawing/boids) - This project implements the Boids flocking algorithm in C# to create an interesting procedural animation of bird-drones (boids) scurrying about the screen. See [C# Data Visualization Website](https://swharden.com/CsharpDataVis) for details.|
63
+
[**Boids in C# with SkiaSharp**](/examples/drawing/boids2) - This project is an extension of the original boids project that uses an abstracted rendering system supporting SkiaSharp and OpenGL for hardware-accelerated rendering. See [C# Data Visualization Website](https://swharden.com/CsharpDataVis) for details.|
64
+
65
+
66
+
## Child Projects
67
+
68
+
Some code examples started here have matured into their own repositories:
69
+
70
+
Project | Screenshot
71
+
---|---
72
+
**[ScottPlot](http://swharden.com/scottplot/)** is an interactive plotting library for .NET. If you're just looking for an easy way to interactively display some data on a graph using C#, ScottPlot might be for you! | 
73
+
**[Spectrogram](https://github.com/swharden/Spectrogram)** is a simple spectrogram library for .NET. Specrogram converts signals (typically audio) into the frequency-domain and makes it easy to display spectrograms as 2D images. Spectrogram is fast enough to display the audio spectrum in real time. | 
74
+
**[Sound Card ECG](https://github.com/swharden/SoundCardECG)** uses scottplot to interactively display the soundcard signal in real time| 
75
+
**[HHSharp](https://github.com/swharden/HHSharp)** is an interactive Hodgkin-Huxley neuron simulator|
76
+
77
+
69
78
## Older Projects
70
79
* These projects are first-pass implementations of ideas, but they work, so learn and from them what you can and take whatever you find useful! They're not as polished as the ones in the previous section.
71
80
* Each example below is a standalone Visual Studio solution
0 commit comments