Seeking a chart program to generate charts by specifying elements, not coordinate

Posted by Gold-Plant8923@reddit | learnprogramming | View on Reddit | 12 comments

I'm looking for a program or tool that can generate simple charts where I specify only the elements (circles, rectangles, lines, arrows, text). I want the tool to automatically adjust the size and position of these elements.

For example, I'd like to be able to input something like this:

ellipse
    vertical {
        ta text "a"
        tb text "b"
        tc text "c"
    }
text "f"
ellipse
    vertical {
        t1 text "1"
        t2 text "2"
        t3 text "3"
    }
arrow ta -> t3
arrow tb -> t1
arrow tc -> t2ellipse
    vertical {
        ta text "a"
        tb text "b"
        tc text "c"
    }
text "f"
ellipse
    vertical {
        t1 text "1"
        t2 text "2"
        t3 text "3"
    }
arrow ta -> t3
arrow tb -> t1
arrow tc -> t2

https://en.wikipedia.org/wiki/Inverse_function#/media/File:Inverse_Function.png

ellipse
    ellipse
        ellipse
            ellipse
                text "N"
            text "Z" right
        text "Q" right
    text "R" rightellipse
    ellipse
        ellipse
            ellipse
                text "N"
            text "Z" right
        text "Q" right
    text "R" right