22<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
33
44- [ Nim ImPlot binding] ( #nim-implot-binding )
5- - [ Direct install from Web] ( #direct-install-from-web )
6- - [ Runing test application ] ( #runing-test-application )
5+ - [ Direct nimble install from Web] ( #direct-nimble -install-from-web )
6+ - [ Runing all demo programs ] ( #runing-all-demo-programs )
77- [ Compiling application] ( #compiling-application )
8+ - [ Notice: Compilation options] ( #notice-compilation-options )
89- [ Generating ImPlot bindings for development] ( #generating-implot-bindings-for-development )
910- [ Development] ( #development )
1011- [ Tools info] ( #tools-info )
1112- [ Example gallery written in Nim language] ( #example-gallery-written-in-nim-language )
1213 - [ Plots] ( #plots )
14+ - [ LinePlots.nim] ( #lineplotsnim )
15+ - [ FilledLinePlots.nim] ( #filledlineplotsnim )
16+ - [ ShadedPlots.nim] ( #shadedplotsnim )
17+ - [ ScatterPlots.nim] ( #scatterplotsnim )
18+ - [ RealtimePlots.nim] ( #realtimeplotsnim )
19+ - [ StairstepPlots.nim] ( #stairstepplotsnim )
20+ - [ BarGroups.nim] ( #bargroupsnim )
21+ - [ BarPlots.nim] ( #barplotsnim )
22+ - [ BarStacks.nim] ( #barstacksnim )
23+ - [ ErrorBars.nim] ( #errorbarsnim )
24+ - [ StemPlots.nim] ( #stemplotsnim )
25+ - [ InfiniteLines.nim] ( #infinitelinesnim )
26+ - [ PieCharts.nim] ( #piechartsnim )
27+ - [ HeatMaps.nim] ( #heatmapsnim )
28+ - [ Histogram.nim] ( #histogramnim )
29+ - [ DigitalPlots.nim] ( #digitalplotsnim )
30+ - [ Images.nim] ( #imagesnim )
31+ - [ MarkersAndText.nim] ( #markersandtextnim )
32+ - [ NaNValues.nim] ( #nanvaluesnim )
1333 - [ Subplots] ( #subplots )
34+ - [ Tables.nim] ( #tablesnim )
35+ - [ ItemSharing.nim] ( #itemsharingnim )
1436 - [ Axes] ( #axes )
37+ - [ LogScale.nim] ( #logscalenim )
38+ - [ MultipleAxes.nim] ( #multipleaxesnim )
39+ - [ Tools] ( #tools )
40+ - [ OffsetAndStride.nim] ( #offsetandstridenim )
41+ - [ DragRects.nim] ( #dragrectsnim )
42+ - [ DragAndDrop.nim] ( #draganddropnim )
43+ - [ Custom] ( #custom )
44+ - [ CustomDataAndGetters.nim] ( #customdataandgettersnim )
1545
1646<!-- END doctoc generated TOC please keep comment here to allow auto update -->
1747
2454
25551 . This project uses the modified generator that derived from the achievement of [ Nimgl/imgui] ( https://github.com/nimgl/imgui ) and [ nimgl-imgui] ( https://github.com/daniel-j/nimgl-imgui ) (forked).
26561 . This project also uses ImGui library ([ nim-imgui (ImGui v1.89.9 latest)] ( https://github.com/dinau/nimgl-imgui ) ) derived from [ Nimgl/imgui] ( https://github.com/nimgl/imgui ) and [ nimgl-imgui] ( https://github.com/daniel-j/nimgl-imgui ) (forked).
57+ 1 . Also have used [ CImGui library] ( https://github.com/cimgui/cimgui )
2758
28- ### Direct install from Web
59+ ### Direct nimble install from Web
2960
3061---
3162
3263``` sh
3364nimble install https://github.com/dinau/nim_implot
3465```
3566
36- ### Runing test application
67+ ### Runing all demo programs
3768
3869---
3970
@@ -43,7 +74,7 @@ cd nim_implot
4374nimble test
4475```
4576
46- Test source: [ examples/ImPlotDemo.nim ] ( examples/ImPlotDemo.nim )
77+ Test source: [ examples/demo ] ( examples/demo )
4778
4879### Compiling application
4980
@@ -54,12 +85,21 @@ It has to be used **cpp** backend at compilation for example,
5485``` sh
5586pwd
5687nim_implot
57- cd examples
88+ cd examples/demo
5889nim cpp -r ImPlotDemo.nim
5990```
6091
6192** Note** : ** C** backend is not supported.
6293
94+ ### Notice: Compilation options
95+
96+ ---
97+
98+ If demo programs crash, please try to specify compilation option
99+ ` --mm:refc ` instead of ` --mm:arc ` or ` --mm:orc ` ,
100+ especially if you use Nim-2.00, try to specify ` --mm:refc ` .
101+ These are TODO at this moment.
102+
63103### Generating ImPlot bindings for development
64104
65105---
@@ -93,85 +133,142 @@ It is currently being developed and tested on
93133- Windows10
94134 - Nim Compiler Version 1.6.14
95135 - gcc.exe (Rev2, Built by MSYS2 project) 13.2.0
96- - git version 2.41.0.windows.3
97136- Debian 12 Bookworm
98137 - Nim Compiler Version 1.6.14
99138 - gcc (Debian 12.2.0-14) 12.2.0
100- - git version 2.39.2
101139
102140### Example gallery written in Nim language
103141
142+ ---
143+
144+ ** Now all demo (over 50) programs have been implemented in Nim language** (2023/10),
145+ (Orignal demo program is here [ implot_demo.cpp] ( https://github.com/epezent/implot/blob/master/implot_demo.cpp ) , (C++))
146+ below images are part of them.
147+
104148#### Plots
105149
106150---
107151
108- - [ examples/LinePlots.nim] ( examples/LinePlots.nim )
109- ![ alt] ( img/LinePlots.png )
152+ ##### [ LinePlots.nim] ( examples/demo/tools/LinePlots.nim )
153+
154+ ![ alt] ( img/LinePlots.png )
155+
156+ ##### [ FilledLinePlots.nim] ( examples/demo/tools/FilledLinePlots.nim )
157+
158+ ![ alt] ( img/FilledLinePlots.png )
159+
160+ ##### [ ShadedPlots.nim] ( examples/demo/tools/ShadedPlots.nim )
161+
162+ ![ alt] ( img/ShadedPlots.png )
163+
164+ ##### [ ScatterPlots.nim] ( examples/demo/tools/ScatterPlots.nim )
165+
166+ ![ alt] ( img/ScatterPlots.png )
167+
168+ ##### [ RealtimePlots.nim] ( examples/demo/tools/RealtimePlots.nim )
169+
170+ ![ alt] ( img/RealtimePlots.png )
171+
172+ ##### [ StairstepPlots.nim] ( examples/demo/tools/StairstepPlots.nim )
173+
174+ ![ alt] ( img/StairstepPlots.png )
175+
176+ ##### [ BarGroups.nim] ( examples/demo/tools/BarGroups.nim )
177+
178+ ![ alt] ( img/BarGroups.png )
179+
180+ ##### [ BarPlots.nim] ( examples/demo/tools/BarPlots.nim )
181+
182+ ![ alt] ( img/BarPlots.png )
183+
184+ ##### [ BarStacks.nim] ( examples/demo/tools/BarStacks.nim )
110185
111- - [ examples/FilledLinePlots.nim] ( examples/FilledLinePlots.nim )
112- ![ alt] ( img/FilledLinePlots.png )
186+ ![ alt] ( img/BarStacks.png )
113187
114- - [ examples/ShadedPlots.nim] ( examples/ShadedPlots.nim )
115- ![ alt] ( img/ShadedPlots.png )
188+ ##### [ ErrorBars.nim] ( examples/demo/tools/ErrorBars.nim )
116189
117- - [ examples/ScatterPlots.nim] ( examples/ScatterPlots.nim )
118- ![ alt] ( img/ScatterPlots.png )
190+ ![ alt] ( img/ErrorBars.png )
119191
120- - [ examples/RealtimePlots.nim] ( examples/RealtimePlots.nim ) ( It dosn't work well.)
121- ![ alt] ( img/RealtimePlots.png )
192+ ##### [ StemPlots.nim] ( examples/demo/tools/StemPlots.nim )
122193
123- - [ examples/StairstepPlots.nim] ( examples/StairstepPlots.nim )
124- ![ alt] ( img/StairstepPlots.png )
194+ ![ alt] ( img/StemPlots.png )
125195
126- - [ examples/BarGroups.nim] ( examples/BarGroups.nim )
127- ![ alt] ( img/BarGroups.png )
196+ ##### [ InfiniteLines.nim] ( examples/demo/tools/InfiniteLines.nim )
128197
129- - [ examples/BarPlots.nim] ( examples/BarPlots.nim )
130- ![ alt] ( img/BarPlots.png )
198+ ![ alt] ( img/InfiniteLines.png )
131199
132- - [ examples/BarStacks.nim] ( examples/BarStacks.nim )
133- ![ alt] ( img/BarStacks.png )
200+ ##### [ PieCharts.nim] ( examples/demo/tools/PieCharts.nim )
134201
135- - [ examples/ErrorBars.nim] ( examples/ErrorBars.nim )
136- ![ alt] ( img/ErrorBars.png )
202+ ![ alt] ( img/PieCharts.png )
137203
138- - [ examples/StemPlots.nim] ( examples/StemPlots.nim )
139- ![ alt] ( img/StemPlots.png )
204+ ##### [ HeatMaps.nim] ( examples/demo/tools/HeatMaps.nim )
140205
141- - [ examples/InfiniteLines.nim] ( examples/InfiniteLines.nim )
142- ![ alt] ( img/InfiniteLines.png )
206+ ![ alt] ( img/HeatMaps.png )
143207
144- - [ examples/PieCharts.nim] ( examples/PieCharts.nim )
145- ![ alt] ( img/PieCharts.png )
208+ ##### [ Histogram.nim] ( examples/demo/tools/Histogram.nim )
146209
147- - [ examples/HeatMaps.nim] ( examples/HeatMaps.nim )
148- ![ alt] ( img/HeatMaps.png )
210+ ![ alt] ( img/Histogram.png )
149211
150- - [ examples/Histogram.nim] ( examples/Histogram.nim )
151- ![ alt] ( img/Histogram.png )
212+ ##### [ DigitalPlots.nim] ( examples/demo/tools/DigitalPlots.nim )
152213
153- - [ examples/DigitalPlots.nim] ( examples/DigitalPlots.nim )
154- ![ alt] ( img/DigitalPlots.png )
214+ ![ alt] ( img/DigitalPlots.png )
155215
156- - [ examples/Images.nim] ( examples/Images.nim )
157- ![ alt] ( img/Images.png )
216+ ##### [ Images.nim] ( examples/demo/tools/Images.nim )
158217
159- - [ examples/MarkersAndText.nim] ( examples/MarkersAndText.nim )
160- ![ alt] ( img/MarkersAndText.png )
218+ ![ alt] ( img/Images.png )
161219
162- - [ examples/NaNValues.nim] ( examples/NaNValues.nim )
163- ![ alt] ( img/NaNValues.png )
220+ ##### [ MarkersAndText.nim] ( examples/demo/tools/MarkersAndText.nim )
221+
222+ ![ alt] ( img/MarkersAndText.png )
223+
224+ ##### [ NaNValues.nim] ( examples/demo/tools/NaNValues.nim )
225+
226+ ![ alt] ( img/NaNValues.png )
164227
165228#### Subplots
166229
167230---
168231
169- - [ examples/Tables.nim] ( examples/Tables.nim )
170- ![ alt] ( img/Tables.png )
232+ ##### [ Tables.nim] ( examples/SubPlots/demo/Tables.nim )
233+
234+ ![ alt] ( img/Tables.png )
235+
236+ ##### [ ItemSharing.nim] ( examples/demo/SubPlots/ItemSharing.nim )
237+
238+ ![ alt] ( img/ItemSharing.png )
171239
172240#### Axes
173241
174242---
175243
176- - [ examples/LogScale.nim] ( examples/LogScale.nim )
177- ![ alt] ( img/LogScale.png )
244+ ##### [ LogScale.nim] ( examples/demo/Axes/LogScale.nim )
245+
246+ ![ alt] ( img/LogScale.png )
247+
248+ ##### [ MultipleAxes.nim] ( examples/demo/Axes/MultipleAxes.nim )
249+
250+ ![ alt] ( img/MultipleAxes.png )
251+
252+ #### Tools
253+
254+ ---
255+
256+ ##### [ OffsetAndStride.nim] ( examples/demo/Tools/OffsetAndStride.nim )
257+
258+ ![ alt] ( img/OffsetAndStride.png )
259+
260+ ##### [ DragRects.nim] ( examples/demo/Tools/DragRects.nim )
261+
262+ ![ alt] ( img/DragRects.png )
263+
264+ ##### [ DragAndDrop.nim] ( examples/demo/Tools/DragAndDrop.nim )
265+
266+ ![ alt] ( img/DragAndDrop.png )
267+
268+ #### Custom
269+
270+ ---
271+
272+ ##### [ CustomDataAndGetters.nim] ( examples/demo/Tools/CustomDataAndGetters.nim )
273+
274+ ![ alt] ( img/CustomDataAndGetters.png )
0 commit comments