如何在把下面这个东西画成图
-
GPT说:
在C++环境下,你可以使用一些图形库来绘制这个云图,比如OpenGL或者SFML。以下是一个简单的示例代码,使用SFML库来绘制一个简单的云图:#include <SFML/Graphics.hpp> #include <vector> int main() { // 创建窗口 sf::RenderWindow window(sf::VideoMode(800, 600), "Cloud Map"); // 创建星号位置信息和压力值 std::vector<sf::Vector2f> positions = {sf::Vector2f(100, 100), sf::Vector2f(200, 200), sf::Vector2f(300, 300)}; std::vector<int> pressures = {5, 6, 7}; // 创建圆形表示星号 std::vector<sf::CircleShape> circles; for (int i = 0; i < positions.size(); i++) { sf::CircleShape circle(5); circle.setPosition(positions[i]); circles.push_back(circle); } // 主循环 while (window.isOpen()) { // 处理事件 sf::Event event; while (window.pollEvent(event)) { if (event.type == sf::Event::Closed) window.close(); } // 清空窗口 window.clear(); // 绘制圆形 for (int i = 0; i < circles.size(); i++) { circles[i].setFillColor(sf::Color(255, 255, 255, pressures[i] * 25)); // 根据压力值设置颜色的透明度 window.draw(circles[i]); } // 显示窗口内容 window.display(); } return 0; }
除了使用OpenGL、SFML和gnuplot之外,还有其他方法可以绘制云图,比如使用OpenCV库。以下是一个简单的示例代码,使用OpenCV库来绘制一个简单的云图:
#include <opencv2/opencv.hpp> #include <vector> int main() { // 创建一个空白图像 cv::Mat cloudMap = cv::Mat::zeros(600, 800, CV_8UC3); // 创建星号位置信息和压力值 std::vector<cv::Point> positions = {cv::Point(100, 100), cv::Point(200, 200), cv::Point(300, 300)}; std::vector<int> pressures = {5, 6, 7}; // 在图像上绘制星号 for (int i = 0; i < positions.size(); i++) { cv::circle(cloudMap, positions[i], 5, cv::Scalar(255, 255, 255), -1); } // 显示图像 cv::imshow("Cloud Map", cloudMap); cv::waitKey(0); return 0; }
-
# x y z 0.1 0.1 4 0.1 0.124 5 0.2 0.4 2 0.3 0.5 4.5
set terminal pdfcairo enhanced color size 15cm,10cm font 'Verdana, 10' #set terminal pngcairo size 800,600 enhanced font 'Verdana,10' # Set output file set output 'pointValue.pdf' # Set title and labels set title 'Plot with Point Coordinates and Values' set xlabel 'X-axis' set ylabel 'Y-axis' set zlabel 'Z-axis' # Set grid set grid # Set data style set style data points # Load the data file and plot it plot 'pointValue.txt' using 1:2:3 with points pointtype 7 pointsize 1.5 palette