簡體   English   中英

在 c 中繪制圖形

[英]Plotting Graphs in c

我是 c 編程的初學者,我目前正在使用 ubuntu 10.04 的 gedit 來編寫 c prog,我想繪制一個圖形,但我能夠做到,誰能告訴我它可以做到,否則有什么將數據從輸出中提取到電子表格的方法,我可以在其中繪制請求、圖表? 我感謝你的幫助..nthanx!!!

Medsphere 有一些非常棒的GTK# 小部件用於繪圖(除其他外),但是您需要更清楚地了解您的輸入/輸出要求才能獲得更具體的幫助。

您可以使用這個字符(■) 來表示圖中的計數。 這是一個可以打印的字符

printf("%c", (char)254u);

考慮一些保存計數的隨機float_arrhist數組。

代碼

// Function generating random data
for (i = 0; i < n; i++){
    float random = ((float)rand() / (float)(RAND_MAX));
    float_arr[i] = random;
    printf("%f  ", random);
}
//Dividing float data into bins
for (i = 0; i < n; i++){
    for (j = 1; j <= bins; j++){

        float bin_max = (float)j / (float)bins;
        if (float_arr[i] <= bin_max){
            hist[j]++;
            break;
        }
    }
}
// Plotting histogram
printf("\n\nHistogram of Float data\n");
for (i = 1; i <= bins; i++)
{
    count = hist[i];
    printf("0.%d |", i - 1);
    for (j = 0; j < count; j++)
    {
        printf("%c", (char)254u);
    }
    printf("\n");
}

輸出

Histogram of Float data
0.0 |■■■■■■■■■■■■■■■■■■■■■■
0.1 |■■■■■■■■■■■■■■■■
0.2 |■■■■■
0.3 |■■■■■■■■■■■■■■
0.4 |■■■■■■■■
0.5 |■■■■■■■■■■■■■■■■
0.6 |■■■■■■■■■■
0.7 |■■■■■■■
0.8 |■■■■■■■■■■■■■■■
0.9 |■■■■■■■

你的問題和我一樣。 為此,編寫了一些庫來促進或多或少這樣的工作:

  1. 打開一個新窗口
  2. 畫一些東西。 即坐標、曲線、背景等。

在 c/c++ 中有一些這樣的庫是:

  1. libplot,gnu 繪圖工具 www.gnu.org/s/plotutils。 是一個非常基本的文檔,文檔中有很好的示例,可以在 svg、png 和其他文件中繪制。 您也可以在窗口中繪圖或制作動畫。
  2. mathGL 是基於 open-gl 的。

繪制繪圖的另一種方法是在您的 c 代碼中生成您的數據,然后使用其他程序繪制它。 可以運行 gnuplot 並通過管道傳遞數據。 但是你必須使用叉子和管道。

Gnuplot (http://www.gnuplot.info/) 是一款功能強大且免費的數據繪圖工具。 您的問題不清楚是否要以編程方式繪制數據。

我認為MathGL可以幫助你。 它是 GPL 繪圖庫,它可以在不了解任何小部件庫的情況下用您的繪圖創建一個窗口。 它還具有用於矩陣和 3 范圍數據的精美圖形。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM