18 std::vector<std::vector<double>> chunks;
19 std::random_device rd;
20 std::mt19937 gen(rd());
23 std::normal_distribution<double> dist1(0.0, 1.0);
24 std::normal_distribution<double> dist2(5.0, 1.0);
25 std::normal_distribution<double> dist3(-3.0, 1.0);
28 std::vector<double> chunk1, chunk2, chunk3;
31 for (
int i = 0; i < 10; ++i) {
32 chunk1.push_back(dist1(gen));
34 chunks.push_back(chunk1);
37 for (
int i = 0; i < 15; ++i) {
38 chunk2.push_back(dist2(gen));
40 chunks.push_back(chunk2);
43 for (
int i = 0; i < 8; ++i) {
44 chunk3.push_back(dist3(gen));
46 chunks.push_back(chunk3);
58 const std::string viz_dir =
"./viz";
59 std::filesystem::create_directories(viz_dir);
63 std::vector<double> flattened_data;
64 for (
const auto& chunk : chunks) {
65 flattened_data.insert(flattened_data.end(), chunk.begin(), chunk.end());
72 std::cout <<
"Generating chunk size plot..." << std::endl;
74 std::cout <<
"Chunk size plot saved to " << viz_dir <<
"/chunk_sizes.png" << std::endl;
77 std::cout <<
"\nGenerating boundary visualization..." << std::endl;
79 std::cout <<
"Boundary visualization saved to " << viz_dir <<
"/boundaries.txt"
83 std::cout <<
"\nGenerating GraphViz visualization..." << std::endl;
85 std::cout <<
"GraphViz file saved to " << viz_dir <<
"/chunks.dot" << std::endl;
86 std::cout <<
"To generate PNG, run: dot -Tpng " << viz_dir <<
"/chunks.dot -o " << viz_dir
87 <<
"/chunks.png" << std::endl;
90 std::cout <<
"\nCreating alternative visualization with individual values..." << std::endl;
96 std::cout <<
"\nAll visualizations have been generated successfully!" << std::endl;
97 std::cout <<
"Check the '" << viz_dir <<
"' directory for the output files." << std::endl;
99 }
catch (
const std::exception& e) {
100 std::cerr <<
"Error: " << e.what() << std::endl;