Explore

Close
Turtle Programs Share

Draw India Map In Python Turtle With Code

Draw India Map In Python Turtle With Code

Want to know how to draw India Map in python, then you are at the right place. Today in this tutorial I will show you how to draw the India Map in python turtle with code, so follow this tutorial till the end.

India is a beautiful country with beautiful people and I am from India so today I have decided why not create a tutorial on drawing my country map using python.

We will use the turtle module to draw India Map in python. Turtle is a GUI library with the help of this library you can draw anything in python. 

The Complete Python Programming Boo...
The Complete Python Programming Bootcamp

Don’t worry if you don’t know about this library. I will show you everything on how to create this program and provide you with the code.

India Map Python Code


from turtle import *

hideturtle()
speed(0)

Screen().bgcolor('#f3f3fe')

def myposition(x, y):
    penup()
    goto(x - 300, (y * -1) + 365)
    pendown()
    

def positions():
    positions.upper_india = [(157, 473), (157, 469), (155, 464), (156, 461), (154, 457), (151, 452), (153, 449), (149, 445), (149, 440), (148, 434), (148, 428), (148, 424), (146, 420), (148, 416), (148, 410), (151, 406), (147, 395), (147, 391), (149, 389), (149, 385), (146, 383), (149, 379), (146, 378), (146, 375), (144, 378), (143, 383), (144, 388), (140, 394), (134, 398), (129, 399), (126, 402), (118, 402), (115, 404), (107, 399), (96, 388), (90, 381), (86, 376), (82, 372), (80, 366), (83, 363), (86, 363), (89, 366), (97, 365), (104, 362), (108, 359), (108, 356), (100, 358), (91, 361), (82, 356), (77, 352), (71, 343), (66, 341), (69, 339), (69, 332), (78, 333), (78, 327), (82, 325), (93, 329), (96, 327), (100, 332), (104, 332), (105, 329), (109, 328), (116, 326), (118, 330), (122, 326), (122, 321), (116, 309), (117, 305), (112, 305), (106, 295), (108, 286), (99, 282), (96, 276), (99, 270), (106, 266), (111, 259), (122, 255), (123, 263), (128, 260), (141, 259), (143, 255), (148, 252), (148, 247), (153, 241), (159, 241), (169, 228), (168, 224), (173, 219), (180, 216), (180, 210), (186, 205), (189, 198), (191, 190), (190, 185), (199, 178), (205, 178), (204, 173), (194, 170), (194, 165), (188, 165), (185, 162), (175, 158), (177, 150), (174, 141), (177, 136), (174, 132), (174, 127), (188, 118), (183, 117), (179, 113), (178, 109), (176, 111), (170, 103), (162, 103), (160, 95), (167, 92), (168, 87), (171, 84), (182, 84), (191, 80), (198, 78), (208, 79), (218, 90), (227, 95), (231, 98), (234, 104), (241, 106), (244, 111), (253, 109), (257, 105), (265, 101), (271, 103), (275, 99), (283, 104), (291, 110), (291, 116), (287, 121), (287, 127), (282, 127), (282, 131), (278, 131), (274, 141), (268, 139), (266, 142), (269, 144), (266, 153), (274, 156), (274, 161), (278, 169), (269, 172), (270, 176), (266, 176), (262, 169), (260, 175), (264, 182), (265, 189), (266, 196), (270, 191), (273, 195), (274, 199), (286, 203), (289, 210), (296, 211), (300, 217), (298, 222), (291, 230), (304, 251), (309, 257), (322, 262), (335, 266), (343, 270), (355, 267), (365, 270), (371, 278), (379, 281), (390, 282), (401, 285), (422, 287), (422, 277), (419, 271), (424, 261), (422, 255), (428, 255), (432, 251), (435, 257), (433, 263), (437, 267), (435, 270), (442, 276), (446, 273), (451, 278), (460, 273), (471, 274), (489, 270), (487, 262), (479, 260), (478, 253), (484, 255), (494, 252), (497, 250), (496, 246), (501, 241), (505, 242), (505, 235), (516, 233), (521, 228), (528, 220), (541, 223), (550, 214), (556, 218), (554, 224), (558, 222), (561, 228), (556, 235), (574, 237), (574, 241), (567, 251), (573, 260), (568, 260), (565, 256), (557, 259), (546, 273), (540, 275), (542, 285), (539, 295), (534, 301), (537, 303), (537, 311), (535, 316), (532, 328), (524, 329), (519, 329), (519, 348), (513, 351), (516, 367), (514, 374), (509, 372), (506, 375), (504, 372), (502, 360), (500, 352), (500, 346), (498, 343), (495, 337), (489, 353), (479, 350), (480, 343), (476, 336), (478, 329), (487, 324), (491, 320), (495, 315), (494, 309), (486, 310), (465, 310), (454, 310), (452, 306), (454, 300), (452, 298), (452, 292), (448, 295), (439, 290), (437, 293), (435, 294), (430, 289), (426, 297), (432, 301), (436, 301), (440, 304), (441, 310), (433, 313), (431, 318), (427, 319), (430, 326), (438, 326), (437, 336), (435, 338), (439, 342), (440, 347), (444, 350), (443, 362), (447, 370), (444, 377), (440, 361), (433, 346), (427, 336), (419, 325), (409, 315), (399, 307), (386, 300), (374, 294), (362, 290), (345, 287), (325, 287), (307, 291), (293, 295), (281, 302), (267, 311), (257, 320), (245, 333), (237, 347), (232, 360), (229, 367), (227, 378), (226, 389), (225, 404), (227, 416), (229, 426), (233, 437), (240, 449), (247, 462), (251, 468), (211, 471), (194, 473), (180, 474), (168, 475), (158, 475), (156, 473),]
    
    positions.lower_india = [(206, 590), (207, 596), (213, 605), (208, 602), (213, 615), (213, 622), (216, 628), (223, 634), (227, 635), (229, 639), (238, 643), (243, 639), (251, 636), (252, 627), (254, 623), (271, 620), (267, 614), (274, 604), (272, 602), (275, 599), (249, 595), (221, 592), (206, 590),]
    
    positions.upper_saff = [(291, 230), (301, 224), (317, 212), (328, 198), (333, 186), (333, 180), (332, 175), (328, 170), (346, 180), (353, 187), (356, 196), (354, 202), (351, 210), (343, 219), (338, 224), (325, 236), (305, 250), (300, 250), (296, 248), (294, 245), (292, 247), (286, 245), (288, 241), (290, 238), (290, 231), (301, 224),]
    
    positions.lower_saff = [(151, 406), (137, 416), (133, 424), (131, 432), (128, 447), (128, 453), (130, 461), (135, 468), (148, 473), (159, 475), (168, 475), (181, 475), (196, 473), (214, 471), (233, 469), (243, 469), (259, 468), (272, 468), (283, 469), (293, 469), (309, 473), (320, 475), (333, 481), (346, 488), (355, 497), (365, 507), (371, 518), (381, 543), (384, 553), (386, 563), (388, 579), (389, 598), (387, 609), (384, 619), (377, 632), (372, 640), (372, 623), (369, 597), (361, 569), (351, 549), (340, 535), (320, 519), (298, 510), (267, 504), (246, 503), (220, 505), (209, 506), (183, 507), (165, 507), (151, 506), (134, 504), (126, 501), (111, 496), (102, 487), (97, 471), (105, 451), (115, 438), (125, 427), (137, 416),]
    
    positions.green_area = [(133, 544), (162, 555), (204, 562), (249, 564), (282, 566), (313, 578), (331, 595), (343, 620), (346, 636), (346, 659), (339, 664), (333, 666), (315, 669), (296, 666), (307, 659), (314, 649), (314, 637), (306, 620), (297, 611), (286, 604), (270, 599), (255, 595), (236, 593), (218, 592), (206, 591), (187, 589), (177, 587), (162, 584), (151, 580), (142, 576), (134, 568), (133, 557), (134, 545), (-1, -1), (337, 269), (352, 256), (369, 237), (380, 218), (396, 240), (394, 247), (388, 257), (379, 267), (369, 276), (364, 269), (360, 269), (356, 267), (350, 269), (346, 269), (343, 270), (338, 270),]
    
    positions.red_shadow = [(321, 167), (320, 208), (327, 200), (332, 190), (331, 177), (329, 171), (322, 168), (-1, -1), (152, 406), (142, 411), (137, 417), (131, 434), (128, 446), (130, 460), (137, 469), (146, 472), (156, 474), (157, 469), (156, 465), (156, 460), (155, 456), (151, 451), (149, 446), (150, 440), (148, 434), (149, 430), (149, 426), (146, 420), (148, 416), (149, 410), (152, 407),]
    
    positions.between_spokes = [(260, 468), (259, 466), (263, 456), (258, 451), (249, 453), (243, 443), (251, 438), (245, 427), (237, 429), (234, 417), (243, 414), (244, 405), (232, 401), (232, 390), (240, 390), (245, 383), (239, 375), (235, 374), (239, 362), (246, 364), (252, 359), (251, 352), (244, 348), (250, 339), (255, 343), (262, 340), (264, 333), (259, 327), (266, 320), (271, 324), (280, 323), (282, 315), (279, 310), (288, 304), (291, 309), (300, 311), (305, 305), (303, 299), (313, 295), (316, 301), (322, 305), (329, 300), (329, 294), (341, 293), (341, 299), (346, 305), (355, 301), (356, 296), (366, 298), (365, 303), (369, 310), (378, 309), (382, 303), (390, 308), (388, 314), (390, 322), (399, 322), (404, 318), (411, 325), (407, 331), (408, 338), (416, 341), (421, 338), (428, 349), (422, 353), (422, 360), (428, 365), (435, 364), (438, 374), (429, 377), (426, 384), (413, 387), (414, 395), (414, 401), (408, 411), (401, 417), (390, 422), (380, 428), (372, 438), (367, 447), (357, 451), (350, 461), (342, 466), (335, 471), (334, 480), (319, 474), (305, 472), (295, 469), (280, 468), (260, 468),]
    
    positions.main_spokes = [(315, 473), (319, 446), (329, 414), (316, 444), (298, 469), (294, 469), (307, 440), (324, 412), (303, 438), (269, 465), (294, 434), (322, 408), (293, 428), (253, 446), (286, 421), (319, 404), (285, 416), (243, 421), (283, 407), (317, 400), (283, 402), (240, 395), (282, 393), (317, 394), (284, 386), (244, 367), (288, 378), (319, 390), (288, 375), (254, 347), (294, 367), (321, 386), (296, 364), (269, 327), (303, 356), (325, 382), (306, 352), (291, 312), (315, 347), (329, 380), (318, 347), (313, 305), (327, 345), (335, 378), (332, 345), (338, 301), (342, 344), (340, 379), (346, 345), (363, 304), (356, 347), (344, 380), (360, 351), (386, 316), (369, 354), (348, 383), (370, 356), (405, 331), (378, 364), (351, 386), (379, 367), (420, 350), (385, 375), (354, 390), (385, 379), (429, 372), (387, 389), (356, 395), (388, 392), (413, 395), (413, 400), (389, 401), (356, 400), (388, 405), (407, 412), (401, 417), (386, 414), (355, 404), (384, 419), (389, 423), (380, 428), (352, 408), (377, 430), (372, 437), (348, 411), (369, 441), (363, 449), (344, 415), (355, 446), (357, 452), (352, 461), (346, 449), (338, 416), (342, 449), (340, 466), (334, 480), (333, 471), (333, 449), (334, 416), (328, 449), (319, 474), (315, 474),]
    
    
    
def color_fill(coordinates, co = (0, 0, 0)):
    color(co)
    p_x, p_y = coordinates[0]
    myposition(p_x, p_y)
    fillcolor(co)
    begin_fill()
    t = 0
    for i in coordinates[1:]:
        x, y = i
        if t:
            myposition(x, y)
            t = 0
            begin_fill()
            continue
            
        if x == -1 and y == -1:
            t = 1
            end_fill()
            continue
        else:
            goto(x - 300, (y * -1) + 365)
    end_fill()


def draw(coordinates, mode = 1, co = (0, 0, 0), thickness = 1):
    co = (co[0] / 255, co[1] / 255, co[2] / 255)
    color(co)
    
    if mode:
        width(thickness)
        p_x, p_y = coordinates[0]
        myposition(p_x, p_y)
        t = 0
        for i in coordinates[1:]:
            x, y = i
            if t:
                myposition(x, y)
                t = 0
                continue
                
            if x == -1 and y == -1:
                t = 1
                continue
            else:
                goto(x - 300, (y * -1) + 365)
    else:
        color_fill(coordinates, co)


def files():
    positions()
    draw(positions.upper_india, co = (0, 0, 255), mode = 0)
    draw(positions.lower_india, co = (0, 0, 255), mode = 0)
    draw(positions.upper_saff, co = (255, 167, 31), mode = 0)
    draw(positions.lower_saff, co = (255, 167, 31), mode = 0)
    draw(positions.green_area, co = (1, 174, 59), mode = 0)
    draw(positions.red_shadow, co = (220, 79, 10), mode = 0)
    draw(positions.between_spokes, co = (0, 0, 255), mode = 0)
    draw(positions.main_spokes, co = (255, 255, 255), mode = 0)
    

files()
done()

Above is the python code to draw the Indian Map. Now to run this program you need to have python installed on your computer, If you don’t have then follow this guide: Install and setup python on your computer.

To run this python program, follow the below steps:

  • Create a new folder for this python project.
  • Open it in a code editor of your choice.
  • Create a python file with an ending .py extension.
  • Copy the above code and paste it in your file.

Now you have the code, but there is one last thing you need to do as I have said I have used the turtle library for this program so you might need to install it if you get any errors like turtle module not found.

Turtle comes pre-installed with python setup, but if you get any errors you can install it using the below command.


pip install turtle

So now you have everything setup and you are ready to run the program, so to run this program open a command prompt at your program folder location and paste the below command.


python filename.py

The above command will run the program and it will open a new window and it will start drawing the Indian Map and below is the finished drawing of the map.

India Map Drawing

As you can see, we successfully drew a beautiful Indian Map using python turtle. I hope you were able to run this program successfully. 

Want more amazing turtle tutorials like this check out this: Awesome Python Turtle Codes.

Don’t want to create all the files and folders then you can run this program now using this online python compiler it is fast and easy.

Summary

This was the tutorial on drawing the Indian Map in python turtle. I hope you found this tutorial helpful and useful. Do share this tutorial with your friends who might be interested in this program.

Here are some more python drawing tutorials for you:

I hope you found what you were looking for from this tutorial, and if you want more python guides and tutorials like this, do join our Telegram channel for future updates.

Thanks for reading, have a nice day 🙂