Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RenderPlotItemDigital #17

Merged
merged 2 commits into from
Apr 25, 2020
Merged

RenderPlotItemDigital #17

merged 2 commits into from
Apr 25, 2020

Conversation

ozlb
Copy link
Contributor

@ozlb ozlb commented Apr 25, 2020

Data plotted as digital data recording.

Untitled

RenderPlotItemXBar & RenderPlotItemYBar cull_area
* RenderPlot optimization and cull_area management

Optimized performances in order to execute a single loop over the item data values.
Added cull_area management

* RenderPlotItemDigital

Add plot of digital signals
@epezent epezent closed this Apr 25, 2020
@epezent epezent reopened this Apr 25, 2020
@epezent epezent merged commit dc0a80a into mahilab:master Apr 25, 2020
@epezent
Copy link
Member

epezent commented Apr 27, 2020

@ozlb , since you seem to be interested in the plotting project, I wanted to make you aware that I am in the process of changing the API to address several issues and feedback from the ImGui community, primarily: 1) the removal of C++ STL containers, 2) the removal of state managed by the user (i.e. no more PlotInterface or PlotItems are needed), 3) a more ImGui-like API (i.e. BeginPlot()/EndPlot())

The new API is nearly complete, and is being hosted here (rebranded as ImPlot):

https://github.com/epezent/implot

I have modified mahi-gui master to now include ImPlot in the 3rdparty directory. The main ImPlot demo has been added as an example to mahi-gui. I also removed the original imgui_plot.hpp/cpp files and examples.

Today or tomorrow, I plan to make a post at the ImGui repository about the new library and features.

@ozlb
Copy link
Contributor Author

ozlb commented Apr 27, 2020

Thanks. Actually i need some time in order to get familiar with new API, it's totally different...
As already mentioned, my wondering features are:

  • digital channels (as recently introduced but now gone...)
  • multiple y axis and drag/drop channels over y axis
  • cursors to analyze and display data: delta time, peak min max values, average
  • save as "screenshot"
  • import/export data and settings
    Are you interested on?

PS: about huge data handling, maybe I'm ignoring something, but have you ever cosidered to handle in different way the "sub pixeling"? I mean, during points for loop cycle, util x "pixel" point will remain the same (due to x wide zoom), instead to plot multiple overlapping lines, while x coorinate is the same consider the y most deviating point. In this way you reduce the total amount of lines and you don't loose spikes of y in wide zoom mode.

@epezent
Copy link
Member

epezent commented Apr 27, 2020

Let's move this discussion. I've answered your questions here:

epezent/implot#1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants