Grid using TikZ











up vote
10
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
    Nov 16 at 12:12










  • 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
    Nov 16 at 14:00















up vote
10
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
    Nov 16 at 12:12










  • 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
    Nov 16 at 14:00













up vote
10
down vote

favorite
1









up vote
10
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 Nov 16 at 12:24









AndréC

6,0371939




6,0371939






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 Nov 16 at 11:57









ioana

513




513




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
    Nov 16 at 12:12










  • 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
    Nov 16 at 14:00














  • 1




    Welcome to Tex.SE. Are you looking for something like this ? tex.stackexchange.com/q/460231/28557
    – nidhin
    Nov 16 at 12:12










  • 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
    Nov 16 at 14:00








1




1




Welcome to Tex.SE. Are you looking for something like this ? tex.stackexchange.com/q/460231/28557
– nidhin
Nov 16 at 12:12




Welcome to Tex.SE. Are you looking for something like this ? tex.stackexchange.com/q/460231/28557
– nidhin
Nov 16 at 12:12












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
Nov 16 at 14:00




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
Nov 16 at 14:00










3 Answers
3






active

oldest

votes

















up vote
9
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
    6
    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
      Nov 16 at 13:15


















    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
      Nov 16 at 13:14











    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
    9
    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
      9
      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
        9
        down vote










        up vote
        9
        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 Nov 16 at 15:06









        marmot

        76.8k487161




        76.8k487161






















            up vote
            6
            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
              Nov 16 at 13:15















            up vote
            6
            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
              Nov 16 at 13:15













            up vote
            6
            down vote










            up vote
            6
            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 Nov 16 at 15:50

























            answered Nov 16 at 12:52









            AndréC

            6,0371939




            6,0371939












            • Thank you! It is what I was looking for!
              – ioana
              Nov 16 at 13:15


















            • Thank you! It is what I was looking for!
              – ioana
              Nov 16 at 13:15
















            Thank you! It is what I was looking for!
            – ioana
            Nov 16 at 13:15




            Thank you! It is what I was looking for!
            – ioana
            Nov 16 at 13:15










            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
              Nov 16 at 13:14















            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
              Nov 16 at 13:14













            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 Nov 16 at 12:14









            Dũng Vũ

            1,11920




            1,11920












            • Yes, this is what I wanted. Thank you!!
              – ioana
              Nov 16 at 13:14


















            • Yes, this is what I wanted. Thank you!!
              – ioana
              Nov 16 at 13:14
















            Yes, this is what I wanted. Thank you!!
            – ioana
            Nov 16 at 13:14




            Yes, this is what I wanted. Thank you!!
            – ioana
            Nov 16 at 13:14










            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

            Plaza Victoria

            In PowerPoint, is there a keyboard shortcut for bulleted / numbered list?

            How to put 3 figures in Latex with 2 figures side by side and 1 below these side by side images but in...