国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【C++】開源:matplotlib-cpp靜態(tài)圖表庫配置與使用

這篇具有很好參考價值的文章主要介紹了【C++】開源:matplotlib-cpp靜態(tài)圖表庫配置與使用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

??★,°:.☆( ̄▽ ̄)/$:.°★ ??
這篇文章主要介紹matplotlib-cpp圖表庫配置與使用。
無專精則不能成,無涉獵則不能通。——梁啟超
歡迎來到我的博客,一起學(xué)習(xí),共同進步。
喜歡的朋友可以關(guān)注一下,下次更新不迷路??

??1. 項目介紹

項目Github地址:https://github.com/lava/matplotlib-cpp

matplotlib-cpp 是一個用于 C++ 的簡易接口,它允許你在 C++ 程序中使用 Python 的 matplotlib 庫來繪制圖表。這個庫提供了一個類似于 matplotlib 的 API,使得在 C++ 中生成各種類型的圖表變得更加簡單和方便。

以下是 matplotlib-cpp 的一些主要特點和功能:

1.輕量級:matplotlib-cpp 是一個輕量級的庫,只包含少量的頭文件,并且沒有其他的依賴項。這使得它很容易集成到你的項目中。

2.簡單易用:matplotlib-cpp 提供了與 matplotlib 類似的函數(shù)和方法,使得在 C++ 中繪制圖表變得直觀和易于理解。你可以使用類似于 Python 的語法來創(chuàng)建圖表、設(shè)置圖表屬性和保存圖表。

3.支持多種圖表類型:matplotlib-cpp 支持繪制多種類型的圖表,包括線圖、散點圖、柱狀圖、餅圖、等高線圖等。你可以選擇適合你數(shù)據(jù)展示需求的圖表類型。

4.支持自定義設(shè)置:你可以自定義圖表的各種屬性,如標(biāo)題、標(biāo)簽、坐標(biāo)軸范圍、圖例、顏色等。這樣你可以根據(jù)具體需求來設(shè)計和美化圖表。

5.與 Python 的無縫集成:使用 matplotlib-cpp,你可以在 C++ 代碼中調(diào)用 Python 的 matplotlib 庫來生成圖表。這使得你可以利用 Python 在圖表方面豐富的生態(tài)系統(tǒng)和強大的功能來擴展你的 C++ 應(yīng)用程序。

??2. 環(huán)境配置

下面進行環(huán)境配置:

# 安裝python包
sudo apt install python3 python3-pip
pip3 install matplotlib numpy
# 源碼編譯
git clone https://github.com/lava/matplotlib-cpp.git
cd matplotlib-cpp
mkdir build && cd build
cmake ..
make
sudo make install

編譯程序:

# ubuntu18
g++ -o main main.cpp -std=c++11 -I/usr/include/python2.7 -lpython2.7
# ubuntu20
g++ -o main main.cpp -std=c++11 -I/usr/include/python3.8 -lpython3.8

??3. 使用說明

下面進行使用分析:

最簡單的示例:

#include "matplotlibcpp.h"
namespace plt = matplotlibcpp;
int main() {
    plt::plot({1,3,2,4});
    plt::show();
}

另一個復(fù)雜的示例,將圖表保存為圖片:

#include "matplotlibcpp.h"
#include <cmath>

namespace plt = matplotlibcpp;

int main()
{
    // 數(shù)據(jù)處理
    int n = 5000;
    std::vector<double> x(n), y(n), z(n), w(n,2);
    for(int i=0; i<n; ++i) {
        x.at(i) = i*i;
        y.at(i) = sin(2*M_PI*i/360.0);
        z.at(i) = log(i);
    }

    // 設(shè)置分辨率
    plt::figure_size(1200, 780);
    // Plot line from given x and y data. Color is selected automatically.
    plt::plot(x, y);
    // Plot a red dashed line from given x and y data.
    plt::plot(x, w,"r--");
    // Plot a line whose name will show up as "log(x)" in the legend.
    plt::named_plot("log(x)", x, z);
    // 設(shè)置x軸
    plt::xlim(0, 1000*1000);
    // 圖表標(biāo)題
    plt::title("Sample figure");
    // 添加圖例
    plt::legend();
    // 保存為照片
    plt::save("./basic.png");
}

一個三維圖形示例:

#include "matplotlibcpp.h"

namespace plt = matplotlibcpp;

int main()
{
    std::vector<std::vector<double>> x, y, z;
    for (double i = -5; i <= 5;  i += 0.25) {
        std::vector<double> x_row, y_row, z_row;
        for (double j = -5; j <= 5; j += 0.25) {
            x_row.push_back(i);
            y_row.push_back(j);
            z_row.push_back(::std::sin(::std::hypot(i, j)));
        }
        x.push_back(x_row);
        y.push_back(y_row);
        z.push_back(z_row);
    }

    plt::plot_surface(x, y, z);
    plt::show();
}

讀取txt文件中的xy兩列數(shù)據(jù)并顯示:

#include <iostream>
#include <fstream>
#include "matplotlibcpp.h"

namespace plt = matplotlibcpp;

int main() {
    std::vector<double> x_data, y_data;
    double x, y;

    std::ifstream file("data.txt");
    if (file.is_open()) {
        while (file >> x >> y) {
            x_data.push_back(x);
            y_data.push_back(y);
        }
        file.close();
    } else {
        std::cerr << "Failed to open file." << std::endl;
        return 1;
    }

    // 繪制圖表
    plt::plot(x_data, y_data);
    plt::show();
    
    return 0;
}

matplotlib-cpp,# c++開源項目學(xué)習(xí),c++,開源,matplotlib

以上。文章來源地址http://www.zghlxwxcb.cn/news/detail-631263.html

到了這里,關(guān)于【C++】開源:matplotlib-cpp靜態(tài)圖表庫配置與使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 利用 yaml-cpp 開源庫讀寫 yaml 配置文件—— yaml-cpp安裝配置

    本文介紹的是如何在 C++ 開發(fā)中利用 yaml-cpp 開源庫讀寫 yaml 配置文件。 主要參考了網(wǎng)上的大牛們的文章,這里只是做簡單記錄。 YAML語言的設(shè)計目標(biāo),就是方便人類讀寫,實質(zhì)上是一種通用的數(shù)據(jù)串行化格式。 1)大小寫敏感 2)使用縮進表示層級關(guān)系 3)縮進時不允許使用

    2023年04月15日
    瀏覽(16)
  • 開源大模型框架llama.cpp使用C++ api開發(fā)入門

    llama.cpp是一個C++編寫的輕量級開源類AIGC大模型框架,可以支持在消費級普通設(shè)備上本地部署運行大模型,以及作為依賴庫集成的到應(yīng)用程序中提供類GPT的功能。 以下基于llama.cpp的源碼利用C++ api來開發(fā)實例demo演示加載本地模型文件并提供GPT文本生成。 CMakeLists.txt main.cpp 注:

    2024年02月03日
    瀏覽(26)
  • 開源 C++ JSON 庫 sonic-cpp解析性能為 rapidjson 的 2.5 倍

    sonic-cpp 是由字節(jié)跳動 STE 團隊和服務(wù)框架團隊共同研發(fā)的一款面向 C++ 語言的高效 JSON 庫,極致地利用當(dāng)前 CPU 硬件特性與向量化編程,大幅提高了序列化反序列化性能,解析性能為 rapidjson 的 2.5 倍。 sonic-cpp 在字節(jié)內(nèi)部上線以來, 已為抖音、今日頭條等核心業(yè)務(wù),累計節(jié)省

    2023年04月19日
    瀏覽(24)
  • 利用 yaml-cpp 開源庫讀寫 yaml 配置文件—— 讀寫部分

    Node 是 yaml-cpp 中的核心概念,是最重要的數(shù)據(jù)結(jié)構(gòu),它用于存儲解析后的 yaml 信息。 Node一共有以下幾種type: 1)Null 空節(jié)點 2)Sequence 序列,類似于一個Vector,對應(yīng)YAML格式中的數(shù)組 3)Map 類似標(biāo)準(zhǔn)庫中的Map,對應(yīng)YAML格式中的對象 4)Scalar 標(biāo)量,對應(yīng)YAML格式中的常量 生成 N

    2024年02月10日
    瀏覽(20)
  • pyhton3中通過matplotlib做圖表,導(dǎo)入excel制成圖表

    1、導(dǎo)入數(shù)據(jù)制作散點圖 2、導(dǎo)入數(shù)據(jù)制作柱形圖 3、導(dǎo)入數(shù)據(jù)制作面積圖 4、導(dǎo)入數(shù)據(jù)制作折線圖

    2024年01月18日
    瀏覽(19)
  • 使用matplotlib繪制3D圖表和統(tǒng)計地圖

    使用matplotlib繪制3D圖表和統(tǒng)計地圖

    目錄 使用mplot3D繪制3D圖表 mplot3d概述 繪制3D線框圖(plot_wireframe()) 繪制3D曲面圖(plot_surface()) 繪制3D條形圖 ?繪制3D柱形圖 np.meshgrid()函數(shù)的補充 使用animation制作動圖 例子1 ?例子2 使用basemap繪制統(tǒng)計地圖 實例:美國部分城鎮(zhèn)人口分布(basemap) 實例1:三維空間的星星(3

    2024年02月04日
    瀏覽(24)
  • Python中使用matplotlib繪制各類圖表示例

    Python中使用matplotlib繪制各類圖表示例

    折線圖 折線圖是一種用于表示數(shù)據(jù)隨時間、變量或其他連續(xù)性變化的趨勢的圖表。通過在橫軸上放置時間或如此類似的連續(xù)變量,可以在縱軸上放置數(shù)據(jù)點的值,從而捕捉到數(shù)據(jù)隨時間發(fā)生的變化。折線圖可以用于比較不同變量的趨勢,輕松地發(fā)現(xiàn)不同的變量之間的差異。

    2024年02月10日
    瀏覽(24)
  • 機器學(xué)習(xí) | 掌握Matplotlib的可視化圖表操作

    機器學(xué)習(xí) | 掌握Matplotlib的可視化圖表操作

    ????????Matplotlib是python的一個數(shù)據(jù)可視化庫,用于創(chuàng)建靜態(tài)、動態(tài)和交互式圖表。它可以制作多種類型的圖表,如折線圖、散點圖、柱狀圖、餅圖、直方圖、3D 圖形等。以漸進、交互式方式實現(xiàn)數(shù)據(jù)可視化。當(dāng)然博主也不能面面俱到的講解到所有內(nèi)容,詳情請參考:官網(wǎng)

    2024年01月24日
    瀏覽(24)
  • Python數(shù)據(jù)可視化:如何使用Matplotlib創(chuàng)建漂亮的圖表

    Python是一種易于學(xué)習(xí)的編程語言,很受數(shù)據(jù)科學(xué)家和分析師的青睞。Python的數(shù)據(jù)可視化庫Matplotlib是一種用于創(chuàng)建圖表的強大工具,可以幫助我們在數(shù)據(jù)分析中更好地理解和呈現(xiàn)數(shù)據(jù)。 在本文中,我們將介紹如何使用Matplotlib創(chuàng)建各種類型的圖表,包括折線圖、柱狀圖、散點圖

    2024年02月10日
    瀏覽(30)
  • Matplotlib可視化數(shù)據(jù)分析圖表下(常用圖表的繪制、折線圖、柱形圖、直方圖、餅形圖、散點圖、面積圖、熱力圖、箱形圖、3D圖表、繪制多個圖表、雙y軸可視化圖表、顏色漸變圖)

    Matplotlib可視化數(shù)據(jù)分析圖表下(常用圖表的繪制、折線圖、柱形圖、直方圖、餅形圖、散點圖、面積圖、熱力圖、箱形圖、3D圖表、繪制多個圖表、雙y軸可視化圖表、顏色漸變圖)

    本文來自《Python數(shù)據(jù)分析從入門到精通》_明日科技編著 本節(jié)介紹常用圖表的繪制,主要包括繪制折線圖、繪制柱形圖、繪制直方圖、繪制餅形圖、繪制散點圖、繪制面積圖、繪制熱力圖、繪制箱型圖、繪制3D圖表、繪制多個子圖表以及圖表的保存。對于常用的圖表類型以繪制

    2023年04月23日
    瀏覽(43)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包