| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Простая библиотека C++ для рисования графиков и тепловых карт
Данная header-only библиотека позволяет рисовать простые графики или тепловые карты сразу из программы.
Пример:
Отличия от других библиотек и особенности:
Инструкция для Code::Blocks и компилятора mingw
Для проверки можно запустить код:
#include "easy_plot.hpp"
int main(int argc, char* argv[]) {
ep::init(&argc, argv);
std::vector<double> x = {0,1,0,1,2,0,1};
ep::plot("X", x);
// ставим красный цвет линии
std::vector<double> y = {0,2,3,4,2,0,1};
ep::plot("Y", y, ep::LineSpec(1,0,0));
std::vector<double> x2 = {0,2,6,7,8,10,12};
ep::plot("XY", x2, y, ep::LineSpec(1,1,0));
ep::WindowSpec wstyle; // тут можно настроить стиль графика (цвет фона и пр.)
// выводим три графика в одном
ep::plot<double>("Y1Y2Y3", wstyle, 3, x, ep::LineSpec(1,0,0), x2, ep::LineSpec(1,0,1), y, ep::LineSpec(0,1,0));
while(true) {
std::this_thread::yield();
}
return 0;
}Чтобы нарисовать тепловую карту:
#include "easy_plot.hpp"
int main(int argc, char* argv[]) {
ep::init(&argc, argv);
ep::WindowSpec image_wstyle;
image_wstyle.is_grid = true;
image_wstyle.height = 320;
image_wstyle.width = 320;
float image_data[32][32] = {};
size_t image_ind = 0;
for(size_t x = 0 ; x < 32; ++x) {
for(size_t y = 0; y < 32; ++y, ++image_ind) {
image_data[x][y] = 1024 - std::sqrt((x - 18) * (x - 18) + (y - 18) * (y - 18));
}
}
image_wstyle.is_color_heatmap = true;
ep::draw_heatmap("image_heatmap", image_wstyle, &image_data[0][0], 32, 32);
while(true) {
std::this_thread::yield();
}
return 0;
}Программа нарисует такую тепловую карту:


| Back | FazBrowse Home | New Git URL |