vnlog
matplotplusplus
Our great sponsors
vnlog | matplotplusplus | |
---|---|---|
24 | 26 | |
158 | 3,871 | |
- | - | |
6.7 | 6.5 | |
3 months ago | about 1 month ago | |
Perl | C++ | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
vnlog
-
Qsv: Efficient CSV CLI Toolkit
An incomplete list of other similar tools: https://github.com/dkogan/vnlog/#description
For simple analyses (i.e. what most people do most of the time) doing this on the commandline gets you there faster. I use vnlog (https://github.com/dkogan/vnlog/). By the time you fired up your editor to write your Python code, I already have analyses and plots ready.
-
Joining CSV Data Without SQL: An IP Geolocation Use Case
Alternative very appropriate for some uses cases: `vnl-join` from the vnlog toolkit (https://github.com/dkogan/vnlog). Uses the `join` tool from coreutils (works well, has been around forever), and `vnlog` for nice column labelling
-
Miller: Like Awk, sed, cut, join, and sort for CSV, TSV, and tabular JSON
There's also https://github.com/dkogan/vnlog/ which is a wrapper around the existing coreutils, so all the options work, and there's nothing to learn
-
jupyter and vim
I found using shell as an interactive environment to be pretty productive using https://github.com/dkogan/feedgnuplot and https://github.com/dkogan/vnlog. The filesystem becomes your state (instead of in memory state of your Python interpreter) which forces you to write Unix-style tools. Plotting with feedgnuplot spins up an interactive Qt plotter which I often used to explore 3D plots. It's not "inline" and fancy and does take a bit of grokking but I eventually found it more productive than Jupyter, especially as my development moved away from Python.
-
Miller CLI β Like Awk, sed, cut, join, and sort for CSV, TSV and JSON
Similar, but using the ACTUAL awk, sed, join, sort tools you already have and know about: https://github.com/dkogan/vnlog/
- A Straightforward Way to Extend CSV with Metadata
-
Best scientific graphing library?
Write space delimited tabular data (ideally in vnlog format) and plot it using feedgnuplot. Also helps decouple concerns (data generating application focuses on generating data).
-
plotpipe: plot data from a pipe
I use feedgnuplot in conjunction with vnlog all the time at work! Itβs a great pipeline.
-
Setting up personal OKR (objectives and key-results)
I have a text file in a known location. It's backed up on git.
I can open and edit that file quickly using bash. From within VIM I can quickly commit to reduce the # keystrokes. More details: https://github.com/jodavaho/bashlog
(Really though, you can just save as an environment variable your file location)
The text file is structured with space-delimited text, like this: https://github.com/dkogan/vnlog
My current structure:
"# date item amount"
Easy to open, easy to plop down today's date and the item / amount. Save multiple date/item entries and add them inscripts ... Easy to save. Done.
The work came in building stuff to plot it:
I have other files that link "items" to goals or other metadata like categories, etc. Like a relational database, but easily edited in text.
For example, to make a link from daily items to Key Results
"# item okr"
okr is structured like this: ...
For example:
2020.Q4.01.01 is workout 90x (1/day)
2020.Q4.02.02 is get through 26 textbook chapters
2020.Q4.02.03 is 100 h studying literature
The categories are usually Fighting (I box), Tech, Mental health, and Social, but YMMV
Another example is "workout-mapping.vnl" with structure:
matplotplusplus
-
Creating k-NN with C++ (from Scratch)
cmake_minimum_required(VERSION 3.5) project(knn_cpp CXX) # Set up C++ version and properties include(CheckIncludeFileCXX) check_include_file_cxx(any HAS_ANY) check_include_file_cxx(string_view HAS_STRING_VIEW) check_include_file_cxx(coroutine HAS_COROUTINE) set(CMAKE_CXX_STANDARD 20) set(CMAKE_BUILD_TYPE Debug) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) # Copy data file to build directory file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/iris.data DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) # Download library usinng FetchContent include(FetchContent) FetchContent_Declare(matplotplusplus GIT_REPOSITORY https://github.com/alandefreitas/matplotplusplus GIT_TAG origin/master) FetchContent_GetProperties(matplotplusplus) if(NOT matplotplusplus_POPULATED) FetchContent_Populate(matplotplusplus) add_subdirectory(${matplotplusplus_SOURCE_DIR} ${matplotplusplus_BINARY_DIR} EXCLUDE_FROM_ALL) endif() FetchContent_Declare( fmt GIT_REPOSITORY https://github.com/fmtlib/fmt.git GIT_TAG 7.1.3 # Adjust the version as needed ) FetchContent_MakeAvailable(fmt) # Add executable and link project libraries and folders add_executable(${PROJECT_NAME} main.cc) target_link_libraries(${PROJECT_NAME} PUBLIC matplot fmt::fmt) aux_source_directory(lib LIB_SRC) target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) target_sources(${PROJECT_NAME} PRIVATE ${LIB_SRC}) add_subdirectory(tests)
-
Help making plot for experiment
If you want a C++ solution you can use a library like matplot++.
-
Widely-used graphics library
If you want a strict C++ equivalent to SDL the clear answer is SFML. If you just want to visualize 2D/3D data there's matplot++. If you want something slightly higher-level than SDL/SFML (with pre-made UI widgets and such) there's imGUI. If you need an all-in-one GUI solution for desktop or mobile apps there's Qt.
- Update on C++ DataFrame project
-
How to implement Matplotlib in C++
If you just want to plot graphs in C++ check out https://alandefreitas.github.io/matplotplusplus/. There is extensive documentation on how to use it. But if you haven't used a library before you should start here:
- I want to make a program that draws a graphical function to a png and I don't know how.
-
C++ plotting library for Windows + MinGW similar to matplotlib in Python?
Maybe Matplot++ is the solution. You can check more info in https://github.com/alandefreitas/matplotplusplus
- Plotting graphs
- How can I create animation of mathematical function that changes over time in c++ and save it as video
-
How to plot graphs in C++
I've also recently found out about matplotplusplus.
What are some alternatives?
matplotlib - C++ wrappers around python's matplotlib
matplotlib-cpp - Extremely simple yet powerful header-only C++ plotting library built on the popular matplotlib
implot - Immediate Mode Plotting
manim - Animation engine for explanatory math videos
ttyplot - a realtime plotting utility for terminal/console with data input from stdin
volbx - Graphical tool for data manipulation written in C++/Qt.
bauh - Graphical user interface for managing your Linux applications. Supports AppImage, Debian and Arch packages (including AUR), Flatpak, Snap and native Web applications
Graphia - A visualisation tool for the creation and analysis of graphs
lwlog - Very fast synchronous and asynchronous C++17 logging library
TabMerger - TabMerger is a cross-browser extension that stores your tabs in a single place to save memory usage and increase your productivity.
feedgnuplot - Tool to plot realtime and stored data from the commandline, using gnuplot.
tomviz - Cross platform, open source application for the processing, visualization, and analysis of 3D tomography data