如何在 tty 上绘制折线图

How can I draw line diagrams on a tty?

本文关键字:绘制 折线图 tty      更新时间:2023-10-16

我正在用C++编写一个命令行(非图形)Linux程序,在某些地方我需要它来绘制图表或将函数直接绘制到终端中。

看看一些程序,如ntsysv,mc,alsa等,我相信这是可能的,但我想知道如何。

支持NCURSES的建议,还有一个名为libcaca的库,这是一个输出ASCII文本而不是像素的图形库。如果您想使用其他软件创建此图表,然后将其输出推送到终端,您可以考虑将libcaca与ncurses一起使用。

你可能想使用ncurses并做一些ASCII艺术。

像alsamixer这样的东西使用ncurses。 http://www.gnu.org/software/ncurses/

这将允许您直接在终端中制作图表等。

尝试使用旧的 Borland 库进行涡轮增压 c conio.h

可能不再需要了,但也许这对某人有帮助

void drawfunc(int ymin, int ymax, int xmin, int xmax, float h){
int y = 0;
int x = 0;
double func;
for(y = ymax; y >= ymin; y--)
{
    printf("n");
    for(x = xmin; x <= xmax; x++)
    {
        func = cos(x);
        
        if(x == 0)
        {
            printf("|");
        }
        
        if(func > (y - 1) * h && func < y * h)
        {
            printf("*");
        }
        else if(y == 0)
        {
            if(x >= xmin || x <= xmax)
            {
                printf("-");
            }
        }
        else
        {
            printf(" ");
        }
    }
}
printf("nn");}