Grid using TikZ











up vote
9
down vote

favorite
1












I'm using the code below to generate the grid, however it's not connecting all points in the grid.



Could anyone help with this? Thank you!



enter image description here



begin{tikzpicture}[darkstyle/.style={circle,draw,minimum size=9}]
foreach x in {1, 2, 3}
foreach y in {1, 2, 3}
{pgfmathtruncatemacro {label}{x y}
node [darkstyle] (xy) at (1.5*x,1.5*y) {$U_{label}$};}

foreach x in {1,2,3}
foreach y [count=yi] in {1,2}
draw (xy)--(xyi) (yx) --(yix) ;

end{tikzpicture}









share|improve this question









New contributor




ioana is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 1




    Welcome to Tex.SE. Are you looking for something like this ? tex.stackexchange.com/q/460231/28557
    – nidhin
    yesterday










  • There is no need to do pgfmathtruncatemacro {label}{x y}, you could use node [darkstyle] (xy) at (1.5*x,1.5*y) {$U_{xy}$};} without any detour.
    – marmot
    yesterday















up vote
9
down vote

favorite
1












I'm using the code below to generate the grid, however it's not connecting all points in the grid.



Could anyone help with this? Thank you!



enter image description here



begin{tikzpicture}[darkstyle/.style={circle,draw,minimum size=9}]
foreach x in {1, 2, 3}
foreach y in {1, 2, 3}
{pgfmathtruncatemacro {label}{x y}
node [darkstyle] (xy) at (1.5*x,1.5*y) {$U_{label}$};}

foreach x in {1,2,3}
foreach y [count=yi] in {1,2}
draw (xy)--(xyi) (yx) --(yix) ;

end{tikzpicture}









share|improve this question









New contributor




ioana is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 1




    Welcome to Tex.SE. Are you looking for something like this ? tex.stackexchange.com/q/460231/28557
    – nidhin
    yesterday










  • There is no need to do pgfmathtruncatemacro {label}{x y}, you could use node [darkstyle] (xy) at (1.5*x,1.5*y) {$U_{xy}$};} without any detour.
    – marmot
    yesterday













up vote
9
down vote

favorite
1









up vote
9
down vote

favorite
1






1





I'm using the code below to generate the grid, however it's not connecting all points in the grid.



Could anyone help with this? Thank you!



enter image description here



begin{tikzpicture}[darkstyle/.style={circle,draw,minimum size=9}]
foreach x in {1, 2, 3}
foreach y in {1, 2, 3}
{pgfmathtruncatemacro {label}{x y}
node [darkstyle] (xy) at (1.5*x,1.5*y) {$U_{label}$};}

foreach x in {1,2,3}
foreach y [count=yi] in {1,2}
draw (xy)--(xyi) (yx) --(yix) ;

end{tikzpicture}









share|improve this question









New contributor




ioana is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











I'm using the code below to generate the grid, however it's not connecting all points in the grid.



Could anyone help with this? Thank you!



enter image description here



begin{tikzpicture}[darkstyle/.style={circle,draw,minimum size=9}]
foreach x in {1, 2, 3}
foreach y in {1, 2, 3}
{pgfmathtruncatemacro {label}{x y}
node [darkstyle] (xy) at (1.5*x,1.5*y) {$U_{label}$};}

foreach x in {1,2,3}
foreach y [count=yi] in {1,2}
draw (xy)--(xyi) (yx) --(yix) ;

end{tikzpicture}






tikz-pgf






share|improve this question









New contributor




ioana is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




ioana is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited yesterday









AndréC

5,7621937




5,7621937






New contributor




ioana is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked yesterday









ioana

462




462




New contributor




ioana is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





ioana is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






ioana is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








  • 1




    Welcome to Tex.SE. Are you looking for something like this ? tex.stackexchange.com/q/460231/28557
    – nidhin
    yesterday










  • There is no need to do pgfmathtruncatemacro {label}{x y}, you could use node [darkstyle] (xy) at (1.5*x,1.5*y) {$U_{xy}$};} without any detour.
    – marmot
    yesterday














  • 1




    Welcome to Tex.SE. Are you looking for something like this ? tex.stackexchange.com/q/460231/28557
    – nidhin
    yesterday










  • There is no need to do pgfmathtruncatemacro {label}{x y}, you could use node [darkstyle] (xy) at (1.5*x,1.5*y) {$U_{xy}$};} without any detour.
    – marmot
    yesterday








1




1




Welcome to Tex.SE. Are you looking for something like this ? tex.stackexchange.com/q/460231/28557
– nidhin
yesterday




Welcome to Tex.SE. Are you looking for something like this ? tex.stackexchange.com/q/460231/28557
– nidhin
yesterday












There is no need to do pgfmathtruncatemacro {label}{x y}, you could use node [darkstyle] (xy) at (1.5*x,1.5*y) {$U_{xy}$};} without any detour.
– marmot
yesterday




There is no need to do pgfmathtruncatemacro {label}{x y}, you could use node [darkstyle] (xy) at (1.5*x,1.5*y) {$U_{xy}$};} without any detour.
– marmot
yesterday










3 Answers
3






active

oldest

votes

















up vote
8
down vote













Unsurprisingly, a grid can be drawn with grid... (and there is no need to do pgfmathtruncatemacro {label}{x y}).



documentclass[tikz,border=3.14mm]{standalone}
begin{document}
begin{tikzpicture}[darkstyle/.style={circle,draw,minimum size=9,fill=white}]
draw (1.5,1.5) grid[step=1.5] (4.5,4.5);
foreach x in {1, 2, 3}
foreach y in {1, 2, 3}
{
node [darkstyle] (xy) at (1.5*x,1.5*y) {$U_{x y}$};}
end{tikzpicture}
end{document}


enter image description here






share|improve this answer




























    up vote
    5
    down vote













    Do you mean this?



    documentclass{article}
    usepackage{tikz}
    begin{document}
    begin{tikzpicture}
    foreach x in {1, 2, 3}
    foreach y in {1, 2}
    draw (1.5*x,1.5*y) -- (1.5*x,2.5*y);
    foreach x in {1, 2}
    foreach y in {1, 2, 3}
    draw (1.5*x,1.5*y) -- (2.5*x,1.5*y);
    foreach x in {1, 2, 3}
    foreach y in {1, 2, 3} {
    pgfmathtruncatemacro {label}{xy}
    fill[color=white] (1.5*x,1.5*y) circle (0.5cm);
    draw (1.5*x,1.5*y) circle (0.5cm);
    node (xy) at (1.5*x,1.5*y) {$U_{label}$};
    }
    end{tikzpicture}
    end{document}


    enter image description here



    Hope this will help!






    share|improve this answer





















    • Yes, this is what I wanted. Thank you!!
      – ioana
      yesterday


















    up vote
    5
    down vote













    The problem is that you draw a line from the node to itself, so it doesn't draw anything at all:



    draw (xy)--(xyi)


    Indeed, your loop generates a counter [count=yi] in {1,2} which starts at 1 and therefore during the first iteration with x=1 and y =1, you generate this x=1 yi=1, etc.



    Assuming you want the same result as @DũngVũ, here is another way to do it:



    grid



    documentclass[crop,tikz,border=5mm]{standalone}
    begin{document}

    usetikzlibrary{positioning,calc}
    tikzstyle{block} = [draw, rectangle, minimum height=1cm, minimum width=1cm, outer sep=0pt]

    begin{tikzpicture}[darkstyle/.style={circle,draw,minimum size=9}]
    foreach x in {1, 2, 3}
    foreach y in {1, 2, 3}
    {pgfmathtruncatemacro {label}{xy}
    node [darkstyle] (xy) at (1.5*x,1.5*y) {$U_{label}$};
    }

    foreach x in {1,2,3}
    foreach y [count=yi from 2] in {1,2}
    path (xy)edge(xyi)(yx)edge(yix);

    end{tikzpicture}
    end{document}





    share|improve this answer























    • Thank you! It is what I was looking for!
      – ioana
      yesterday











    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "85"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });






    ioana is a new contributor. Be nice, and check out our Code of Conduct.










     

    draft saved


    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f460284%2fgrid-using-tikz%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    3 Answers
    3






    active

    oldest

    votes








    3 Answers
    3






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    8
    down vote













    Unsurprisingly, a grid can be drawn with grid... (and there is no need to do pgfmathtruncatemacro {label}{x y}).



    documentclass[tikz,border=3.14mm]{standalone}
    begin{document}
    begin{tikzpicture}[darkstyle/.style={circle,draw,minimum size=9,fill=white}]
    draw (1.5,1.5) grid[step=1.5] (4.5,4.5);
    foreach x in {1, 2, 3}
    foreach y in {1, 2, 3}
    {
    node [darkstyle] (xy) at (1.5*x,1.5*y) {$U_{x y}$};}
    end{tikzpicture}
    end{document}


    enter image description here






    share|improve this answer

























      up vote
      8
      down vote













      Unsurprisingly, a grid can be drawn with grid... (and there is no need to do pgfmathtruncatemacro {label}{x y}).



      documentclass[tikz,border=3.14mm]{standalone}
      begin{document}
      begin{tikzpicture}[darkstyle/.style={circle,draw,minimum size=9,fill=white}]
      draw (1.5,1.5) grid[step=1.5] (4.5,4.5);
      foreach x in {1, 2, 3}
      foreach y in {1, 2, 3}
      {
      node [darkstyle] (xy) at (1.5*x,1.5*y) {$U_{x y}$};}
      end{tikzpicture}
      end{document}


      enter image description here






      share|improve this answer























        up vote
        8
        down vote










        up vote
        8
        down vote









        Unsurprisingly, a grid can be drawn with grid... (and there is no need to do pgfmathtruncatemacro {label}{x y}).



        documentclass[tikz,border=3.14mm]{standalone}
        begin{document}
        begin{tikzpicture}[darkstyle/.style={circle,draw,minimum size=9,fill=white}]
        draw (1.5,1.5) grid[step=1.5] (4.5,4.5);
        foreach x in {1, 2, 3}
        foreach y in {1, 2, 3}
        {
        node [darkstyle] (xy) at (1.5*x,1.5*y) {$U_{x y}$};}
        end{tikzpicture}
        end{document}


        enter image description here






        share|improve this answer












        Unsurprisingly, a grid can be drawn with grid... (and there is no need to do pgfmathtruncatemacro {label}{x y}).



        documentclass[tikz,border=3.14mm]{standalone}
        begin{document}
        begin{tikzpicture}[darkstyle/.style={circle,draw,minimum size=9,fill=white}]
        draw (1.5,1.5) grid[step=1.5] (4.5,4.5);
        foreach x in {1, 2, 3}
        foreach y in {1, 2, 3}
        {
        node [darkstyle] (xy) at (1.5*x,1.5*y) {$U_{x y}$};}
        end{tikzpicture}
        end{document}


        enter image description here







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered yesterday









        marmot

        75.8k486160




        75.8k486160






















            up vote
            5
            down vote













            Do you mean this?



            documentclass{article}
            usepackage{tikz}
            begin{document}
            begin{tikzpicture}
            foreach x in {1, 2, 3}
            foreach y in {1, 2}
            draw (1.5*x,1.5*y) -- (1.5*x,2.5*y);
            foreach x in {1, 2}
            foreach y in {1, 2, 3}
            draw (1.5*x,1.5*y) -- (2.5*x,1.5*y);
            foreach x in {1, 2, 3}
            foreach y in {1, 2, 3} {
            pgfmathtruncatemacro {label}{xy}
            fill[color=white] (1.5*x,1.5*y) circle (0.5cm);
            draw (1.5*x,1.5*y) circle (0.5cm);
            node (xy) at (1.5*x,1.5*y) {$U_{label}$};
            }
            end{tikzpicture}
            end{document}


            enter image description here



            Hope this will help!






            share|improve this answer





















            • Yes, this is what I wanted. Thank you!!
              – ioana
              yesterday















            up vote
            5
            down vote













            Do you mean this?



            documentclass{article}
            usepackage{tikz}
            begin{document}
            begin{tikzpicture}
            foreach x in {1, 2, 3}
            foreach y in {1, 2}
            draw (1.5*x,1.5*y) -- (1.5*x,2.5*y);
            foreach x in {1, 2}
            foreach y in {1, 2, 3}
            draw (1.5*x,1.5*y) -- (2.5*x,1.5*y);
            foreach x in {1, 2, 3}
            foreach y in {1, 2, 3} {
            pgfmathtruncatemacro {label}{xy}
            fill[color=white] (1.5*x,1.5*y) circle (0.5cm);
            draw (1.5*x,1.5*y) circle (0.5cm);
            node (xy) at (1.5*x,1.5*y) {$U_{label}$};
            }
            end{tikzpicture}
            end{document}


            enter image description here



            Hope this will help!






            share|improve this answer





















            • Yes, this is what I wanted. Thank you!!
              – ioana
              yesterday













            up vote
            5
            down vote










            up vote
            5
            down vote









            Do you mean this?



            documentclass{article}
            usepackage{tikz}
            begin{document}
            begin{tikzpicture}
            foreach x in {1, 2, 3}
            foreach y in {1, 2}
            draw (1.5*x,1.5*y) -- (1.5*x,2.5*y);
            foreach x in {1, 2}
            foreach y in {1, 2, 3}
            draw (1.5*x,1.5*y) -- (2.5*x,1.5*y);
            foreach x in {1, 2, 3}
            foreach y in {1, 2, 3} {
            pgfmathtruncatemacro {label}{xy}
            fill[color=white] (1.5*x,1.5*y) circle (0.5cm);
            draw (1.5*x,1.5*y) circle (0.5cm);
            node (xy) at (1.5*x,1.5*y) {$U_{label}$};
            }
            end{tikzpicture}
            end{document}


            enter image description here



            Hope this will help!






            share|improve this answer












            Do you mean this?



            documentclass{article}
            usepackage{tikz}
            begin{document}
            begin{tikzpicture}
            foreach x in {1, 2, 3}
            foreach y in {1, 2}
            draw (1.5*x,1.5*y) -- (1.5*x,2.5*y);
            foreach x in {1, 2}
            foreach y in {1, 2, 3}
            draw (1.5*x,1.5*y) -- (2.5*x,1.5*y);
            foreach x in {1, 2, 3}
            foreach y in {1, 2, 3} {
            pgfmathtruncatemacro {label}{xy}
            fill[color=white] (1.5*x,1.5*y) circle (0.5cm);
            draw (1.5*x,1.5*y) circle (0.5cm);
            node (xy) at (1.5*x,1.5*y) {$U_{label}$};
            }
            end{tikzpicture}
            end{document}


            enter image description here



            Hope this will help!







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered yesterday









            Dũng Vũ

            96718




            96718












            • Yes, this is what I wanted. Thank you!!
              – ioana
              yesterday


















            • Yes, this is what I wanted. Thank you!!
              – ioana
              yesterday
















            Yes, this is what I wanted. Thank you!!
            – ioana
            yesterday




            Yes, this is what I wanted. Thank you!!
            – ioana
            yesterday










            up vote
            5
            down vote













            The problem is that you draw a line from the node to itself, so it doesn't draw anything at all:



            draw (xy)--(xyi)


            Indeed, your loop generates a counter [count=yi] in {1,2} which starts at 1 and therefore during the first iteration with x=1 and y =1, you generate this x=1 yi=1, etc.



            Assuming you want the same result as @DũngVũ, here is another way to do it:



            grid



            documentclass[crop,tikz,border=5mm]{standalone}
            begin{document}

            usetikzlibrary{positioning,calc}
            tikzstyle{block} = [draw, rectangle, minimum height=1cm, minimum width=1cm, outer sep=0pt]

            begin{tikzpicture}[darkstyle/.style={circle,draw,minimum size=9}]
            foreach x in {1, 2, 3}
            foreach y in {1, 2, 3}
            {pgfmathtruncatemacro {label}{xy}
            node [darkstyle] (xy) at (1.5*x,1.5*y) {$U_{label}$};
            }

            foreach x in {1,2,3}
            foreach y [count=yi from 2] in {1,2}
            path (xy)edge(xyi)(yx)edge(yix);

            end{tikzpicture}
            end{document}





            share|improve this answer























            • Thank you! It is what I was looking for!
              – ioana
              yesterday















            up vote
            5
            down vote













            The problem is that you draw a line from the node to itself, so it doesn't draw anything at all:



            draw (xy)--(xyi)


            Indeed, your loop generates a counter [count=yi] in {1,2} which starts at 1 and therefore during the first iteration with x=1 and y =1, you generate this x=1 yi=1, etc.



            Assuming you want the same result as @DũngVũ, here is another way to do it:



            grid



            documentclass[crop,tikz,border=5mm]{standalone}
            begin{document}

            usetikzlibrary{positioning,calc}
            tikzstyle{block} = [draw, rectangle, minimum height=1cm, minimum width=1cm, outer sep=0pt]

            begin{tikzpicture}[darkstyle/.style={circle,draw,minimum size=9}]
            foreach x in {1, 2, 3}
            foreach y in {1, 2, 3}
            {pgfmathtruncatemacro {label}{xy}
            node [darkstyle] (xy) at (1.5*x,1.5*y) {$U_{label}$};
            }

            foreach x in {1,2,3}
            foreach y [count=yi from 2] in {1,2}
            path (xy)edge(xyi)(yx)edge(yix);

            end{tikzpicture}
            end{document}





            share|improve this answer























            • Thank you! It is what I was looking for!
              – ioana
              yesterday













            up vote
            5
            down vote










            up vote
            5
            down vote









            The problem is that you draw a line from the node to itself, so it doesn't draw anything at all:



            draw (xy)--(xyi)


            Indeed, your loop generates a counter [count=yi] in {1,2} which starts at 1 and therefore during the first iteration with x=1 and y =1, you generate this x=1 yi=1, etc.



            Assuming you want the same result as @DũngVũ, here is another way to do it:



            grid



            documentclass[crop,tikz,border=5mm]{standalone}
            begin{document}

            usetikzlibrary{positioning,calc}
            tikzstyle{block} = [draw, rectangle, minimum height=1cm, minimum width=1cm, outer sep=0pt]

            begin{tikzpicture}[darkstyle/.style={circle,draw,minimum size=9}]
            foreach x in {1, 2, 3}
            foreach y in {1, 2, 3}
            {pgfmathtruncatemacro {label}{xy}
            node [darkstyle] (xy) at (1.5*x,1.5*y) {$U_{label}$};
            }

            foreach x in {1,2,3}
            foreach y [count=yi from 2] in {1,2}
            path (xy)edge(xyi)(yx)edge(yix);

            end{tikzpicture}
            end{document}





            share|improve this answer














            The problem is that you draw a line from the node to itself, so it doesn't draw anything at all:



            draw (xy)--(xyi)


            Indeed, your loop generates a counter [count=yi] in {1,2} which starts at 1 and therefore during the first iteration with x=1 and y =1, you generate this x=1 yi=1, etc.



            Assuming you want the same result as @DũngVũ, here is another way to do it:



            grid



            documentclass[crop,tikz,border=5mm]{standalone}
            begin{document}

            usetikzlibrary{positioning,calc}
            tikzstyle{block} = [draw, rectangle, minimum height=1cm, minimum width=1cm, outer sep=0pt]

            begin{tikzpicture}[darkstyle/.style={circle,draw,minimum size=9}]
            foreach x in {1, 2, 3}
            foreach y in {1, 2, 3}
            {pgfmathtruncatemacro {label}{xy}
            node [darkstyle] (xy) at (1.5*x,1.5*y) {$U_{label}$};
            }

            foreach x in {1,2,3}
            foreach y [count=yi from 2] in {1,2}
            path (xy)edge(xyi)(yx)edge(yix);

            end{tikzpicture}
            end{document}






            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited yesterday

























            answered yesterday









            AndréC

            5,7621937




            5,7621937












            • Thank you! It is what I was looking for!
              – ioana
              yesterday


















            • Thank you! It is what I was looking for!
              – ioana
              yesterday
















            Thank you! It is what I was looking for!
            – ioana
            yesterday




            Thank you! It is what I was looking for!
            – ioana
            yesterday










            ioana is a new contributor. Be nice, and check out our Code of Conduct.










             

            draft saved


            draft discarded


















            ioana is a new contributor. Be nice, and check out our Code of Conduct.













            ioana is a new contributor. Be nice, and check out our Code of Conduct.












            ioana is a new contributor. Be nice, and check out our Code of Conduct.















             


            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f460284%2fgrid-using-tikz%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            flock() on closed filehandle LOCK_FILE at /usr/bin/apt-mirror

            Mangá

            Eduardo VII do Reino Unido