Jump to content

User:Rishiyur1

From Wikipedia, the free encyclopedia

Canadian Elections SVG Map[edit]

Since we have elections so often in Canada, I thought it would be useful to have an SVG election map with a CSS style sheet. The advantage of having a css style sheet is that the results of elections can simply be pasted into the svg file in a text editor without having to colour each district individually using a vector graphics program. Below is a procedure that should help amateur Wikipedians perform this operation with ease.

  1. Go to the web site of the Canadian Parliament. They provide election results in HTML format.
  2. Choose your election year, then sort by the election result column.
  3. Copy the elected and re-elected candidates.
  4. Label each district with the appropriate Hex triplet as shown in the example below. If you are good with spreadsheets, you may use this file to make your life easier.
  5. Open a pre-existing svg map that uses css styles using a text editor and replace the old style sheet with the new one.
  6. Rename the file with the appropriate election year and upload to Wikipedia.

Sample Style Sheet[edit]

<style
   type="text/css"
   id="style_css_sheet">

.dist {stroke: #FFFFFF; stroke-width: 0.95;}
.circle {stroke: #000000; stroke-width: 0.95;}

.abb { fill: #003380; }    /*    Abbotsford    */
.abne { fill: #FF6600; }    /*    Abitibi—Baie-James—Nunavik—Eeyou    */
.at { fill: #FF6600; }    /*    Abitibi—Témiscamingue    */
.ab { fill: #FF6600; }    /*    Acadie—Bathurst    */
.ah { fill: #37C8AB; }    /*    Ahuntsic    */
.ap { fill: #003380; }    /*    Ajax—Pickering    */
.al { fill: #FF6600; }    /*    Alfred-Pellan    */
.amk { fill: #FF6600; }    /*    Algoma—Manitoulin—Kapuskasing    */
.adfw { fill: #003380; }    /*    Ancaster—Dundas—Flamborough—Westdale    */
.apm { fill: #FF6600; }    /*    Argenteuil—Papineau—Mirabel    */
.av { fill: #AA0000; }    /*    Avalon    */
.ba { fill: #003380; }    /*    Barrie    */
.bnb { fill: #37C8AB; }    /*    Bas-Richelieu—Nicolet—Bécancour    */
.bl { fill: #003380; }    /*    Battlefords—Lloydminster    */
.be { fill: #FF6600; }    /*    Beaches—East York    */
.bu { fill: #003380; }    /*    Beauce    */
.bs { fill: #FF6600; }    /*    Beauharnois—Salaberry    */
.bli { fill: #FF6600; }    /*    Beauport—Limoilou    */
.bj { fill: #AA0000; }    /*    Beauséjour    */
.bm { fill: #FF6600; }    /*    Berthier—Maskinongé    */
.bk { fill: #003380; }    /*    Blackstrap    */
.bggw { fill: #AA0000; }    /*    Bonavista—Gander—Grand Falls—Windsor    */
.bo { fill: #AA0000; }    /*    Bourassa    */
.bgm { fill: #003380; }    /*    Bramalea—Gore—Malton    */
.bw { fill: #003380; }    /*    Brampton West    */
.bsd { fill: #003380; }    /*    Brampton—Springdale    */
.bi { fill: #003380; }    /*    Brandon—Souris    */
.bt { fill: #003380; }    /*    Brant    */
.bcsi { fill: #FF6600; }    /*    British Columbia Southern Interior    */
.brm { fill: #FF6600; }    /*    Brome—Missisquoi    */
.blp { fill: #FF6600; }    /*    Brossard—La Prairie    */
.bgos { fill: #003380; }    /*    Bruce—Grey—Owen Sound    */
.bgt { fill: #003380; }    /*    Burlington    */
.bd { fill: #FF6600; }    /*    Burnaby—Douglas    */
.bnw { fill: #FF6600; }    /*    Burnaby—New Westminster    */
.cc { fill: #003380; }    /*    Calgary Centre    */
.ccn { fill: #003380; }    /*    Calgary Centre-North    */
.ce { fill: #003380; }    /*    Calgary East    */
.cne { fill: #003380; }    /*    Calgary Northeast    */
.cse { fill: #003380; }    /*    Calgary Southeast    */
.csw { fill: #003380; }    /*    Calgary Southwest    */
.cw { fill: #003380; }    /*    Calgary West    */
.cnh { fill: #003380; }    /*    Calgary—Nose Hill    */
.cm { fill: #003380; }    /*    Cambridge    */
.cbc { fill: #AA0000; }    /*    Cape Breton—Canso    */
.cr { fill: #AA0000; }    /*    Cardigan    */
.cpg { fill: #003380; }    /*    Cariboo—Prince George    */
.cmm { fill: #003380; }    /*    Carleton—Mississippi Mills    */
.cn { fill: #003380; }    /*    Central Nova    */
.cb { fill: #FF6600; }    /*    Chambly—Borduas    */
.chsc { fill: #FF6600; }    /*    Charlesbourg—Haute-Saint-Charles    */
.csja { fill: #003380; }    /*    Charleswood—St. James—Assiniboia    */
.ct { fill: #AA0000; }    /*    Charlottetown    */
.csc { fill: #FF6600; }    /*    Châteauguay—Saint-Constant    */
.cke { fill: #003380; }    /*    Chatham-Kent—Essex    */
.clf { fill: #FF6600; }    /*    Chicoutimi—Le Fjord    */
.cfc { fill: #003380; }    /*    Chilliwack—Fraser Canyon    */
.ch { fill: #FF6600; }    /*    Churchill    */
.cs { fill: #FF6600; }    /*    Compton—Stanstead    */
.cf { fill: #003380; }    /*    Crowfoot    */
.ccmv { fill: #003380; }    /*    Cumberland—Colchester—Musquodoboit Valley    */
.chg { fill: #003380; }    /*    Cypress Hills—Grasslands    */
.dch { fill: #FF6600; }    /*    Dartmouth—Cole Harbour    */
.dsrm { fill: #003380; }    /*    Dauphin—Swan River—Marquette    */
.dvp { fill: #FF6600; }    /*    Davenport    */
.dre { fill: #003380; }    /*    Delta—Richmond East    */
.dmcr { fill: #003380; }    /*    Desnethé—Missinippi—Churchill River    */
.dve { fill: #003380; }    /*    Don Valley East    */
.dvw { fill: #003380; }    /*    Don Valley West    */
.dr { fill: #FF6600; }    /*    Drummond    */
.du { fill: #003380; }    /*    Dufferin—Caledon    */
.dm { fill: #003380; }    /*    Durham    */
.ec { fill: #003380; }    /*    Edmonton Centre    */
.ee { fill: #003380; }    /*    Edmonton East    */
.el { fill: #003380; }    /*    Edmonton—Leduc    */
.emwb { fill: #003380; }    /*    Edmonton—Mill Woods—Beaumont    */
.esp { fill: #003380; }    /*    Edmonton—Sherwood Park    */
.esg { fill: #003380; }    /*    Edmonton—Spruce Grove    */
.esa { fill: #003380; }    /*    Edmonton—St. Albert    */
.es { fill: #FF6600; }    /*    Edmonton—Strathcona    */
.egl { fill: #003380; }    /*    Eglinton—Lawrence    */
.eg { fill: #003380; }    /*    Egmont    */
.eml { fill: #003380; }    /*    Elgin—Middlesex—London    */
.et { fill: #003380; }    /*    Elmwood—Transcona    */
.ejdf { fill: #FF6600; }    /*    Esquimalt—Juan de Fuca    */
.ex { fill: #003380; }    /*    Essex    */
.etc { fill: #003380; }    /*    Etobicoke Centre    */
.etn { fill: #AA0000; }    /*    Etobicoke North    */
.etl { fill: #003380; }    /*    Etobicoke—Lakeshore    */
.fpk { fill: #003380; }    /*    Fleetwood—Port Kells    */
.fma { fill: #003380; }    /*    Fort McMurray—Athabasca    */
.fr { fill: #003380; }    /*    Fredericton    */
.fu { fill: #003380; }    /*    Fundy Royal    */
.gim { fill: #FF6600; }    /*    Gaspésie—Îles-de-la-Madeleine    */
.ga { fill: #FF6600; }    /*    Gatineau    */
.gl { fill: #003380; }    /*    Glengarry—Prescott—Russell    */
.gu { fill: #AA0000; }    /*    Guelph    */
.hn { fill: #003380; }    /*    Haldimand—Norfolk    */
.hklb { fill: #003380; }    /*    Haliburton—Kawartha Lakes—Brock    */
.hx { fill: #FF6600; }    /*    Halifax    */
.hxw { fill: #AA0000; }    /*    Halifax West    */
.hl { fill: #003380; }    /*    Halton    */
.hc { fill: #FF6600; }    /*    Hamilton Centre    */
.hesc { fill: #FF6600; }    /*    Hamilton East—Stoney Creek    */
.hm { fill: #FF6600; }    /*    Hamilton Mountain    */
.hmmm { fill: #37C8AB; }    /*    Haute-Gaspésie—La Mitis—Matane—Matapédia    */
.ho { fill: #FF6600; }    /*    Hochelaga    */
.hr { fill: #FF6600; }    /*    Honoré-Mercier    */
.ha { fill: #FF6600; }    /*    Hull—Aylmer    */
.hbbv { fill: #AA0000; }    /*    Humber—St. Barbe—Baie Verte    */
.hb { fill: #003380; }    /*    Huron—Bruce    */
.jlb { fill: #FF6600; }    /*    Jeanne-Le Ber    */
.jo { fill: #FF6600; }    /*    Joliette    */
.ja { fill: #FF6600; }    /*    Jonquière—Alma    */
.ktc { fill: #003380; }    /*    Kamloops—Thompson—Cariboo    */
.klc { fill: #003380; }    /*    Kelowna—Lake Country    */
.ke { fill: #003380; }    /*    Kenora    */
.ksp { fill: #003380; }    /*    Kildonan—St. Paul    */
.kh { fill: #AA0000; }    /*    Kings—Hants    */
.ki { fill: #AA0000; }    /*    Kingston and the Islands    */
.kce { fill: #003380; }    /*    Kitchener Centre    */
.kco { fill: #003380; }    /*    Kitchener—Conestoga    */
.kw { fill: #003380; }    /*    Kitchener—Waterloo    */
.kc { fill: #003380; }    /*    Kootenay—Columbia    */
.lpi { fill: #FF6600; }    /*    La Pointe-de-l'Île    */
.la { fill: #003380; }    /*    Labrador    */
.lsl { fill: #AA0000; }    /*    Lac-Saint-Louis    */
.lkm { fill: #003380; }    /*    Lambton—Kent—Middlesex    */
.lfla { fill: #003380; }    /*    Lanark—Frontenac—Lennox and Addington    */
.lg { fill: #003380; }    /*    Langley    */
.le { fill: #FF6600; }    /*    LaSalle—Émard    */
.ll { fill: #FF6600; }    /*    Laurentides—Labelle    */
.lsm { fill: #FF6600; }    /*    Laurier—Sainte-Marie    */
.lv { fill: #FF6600; }    /*    Laval    */
.lvi { fill: #FF6600; }    /*    Laval—Les Îles    */
.lgr { fill: #003380; }    /*    Leeds—Grenville    */
.lt { fill: #003380; }    /*    Lethbridge    */
.lb { fill: #003380; }    /*    Lévis—Bellechasse    */
.lnc { fill: #003380; }    /*    London North Centre    */
.lw { fill: #003380; }    /*    London West    */
.lf { fill: #FF6600; }    /*    London—Fanshawe    */
.lpb { fill: #FF6600; }    /*    Longueuil—Pierre-Boucher    */
.lcc { fill: #003380; }    /*    Lotbinière—Chutes-de-la-Chaudière    */
.lh { fill: #FF6600; }    /*    Louis-Hébert    */
.losl { fill: #FF6600; }    /*    Louis-Saint-Laurent    */
.mc { fill: #003380; }    /*    Macleod    */
.mr { fill: #003380; }    /*    Madawaska—Restigouche    */
.ml { fill: #AA0000; }    /*    Malpeque    */
.mn { fill: #FF6600; }    /*    Manicouagan    */
.maf { fill: #FF6600; }    /*    Marc-Aurèle-Fortin    */
.mu { fill: #AA0000; }    /*    Markham—Unionville    */
.mh { fill: #003380; }    /*    Medicine Hat    */
.mle { fill: #003380; }    /*    Mégantic—L'Érable    */
.mi { fill: #003380; }    /*    Miramichi    */
.mec { fill: #003380; }    /*    Mississauga East—Cooksville    */
.ms { fill: #003380; }    /*    Mississauga South    */
.mbs { fill: #003380; }    /*    Mississauga—Brampton South    */
.me { fill: #003380; }    /*    Mississauga—Erindale    */
.msv { fill: #003380; }    /*    Mississauga—Streetsville    */
.mrd { fill: #003380; }    /*    Moncton—Riverview—Dieppe    */
.mcm { fill: #FF6600; }    /*    Montcalm    */
.mlkr { fill: #FF6600; }    /*    Montmagny—L'Islet—Kamouraska—Rivière-du-Loup    */
.mchc { fill: #FF6600; }    /*    Montmorency—Charlevoix—Haute-Côte-Nord    */
.mrl { fill: #AA0000; }    /*    Mount Royal    */
.na { fill: #003380; }    /*    Nanaimo—Alberni    */
.nac { fill: #FF6600; }    /*    Nanaimo—Cowichan    */
.nec { fill: #003380; }    /*    Nepean—Carleton    */
.nbs { fill: #003380; }    /*    New Brunswick Southwest    */
.nwc { fill: #FF6600; }    /*    New Westminster—Coquitlam    */
.nma { fill: #003380; }    /*    Newmarket—Aurora    */
.nnd { fill: #FF6600; }    /*    Newton—North Delta    */
.nf { fill: #003380; }    /*    Niagara Falls    */
.nwg { fill: #003380; }    /*    Niagara West—Glanbrook    */
.nb { fill: #FF6600; }    /*    Nickel Belt    */
.nt { fill: #003380; }    /*    Nipissing—Timiskaming    */
.nv { fill: #003380; }    /*    North Vancouver    */
.nqw { fill: #003380; }    /*    Northumberland—Quinte West    */
.ndgl { fill: #FF6600; }    /*    Notre-Dame-de-Grâce—Lachine    */
.nu { fill: #003380; }    /*    Nunavut    */
.orm { fill: #003380; }    /*    Oak Ridges—Markham    */
.oa { fill: #003380; }    /*    Oakville    */
.okc { fill: #003380; }    /*    Okanagan—Coquihalla    */
.oks { fill: #003380; }    /*    Okanagan—Shuswap    */
.os { fill: #003380; }    /*    Oshawa    */
.otc { fill: #FF6600; }    /*    Ottawa Centre    */
.ots { fill: #AA0000; }    /*    Ottawa South    */
.otwn { fill: #003380; }    /*    Ottawa West—Nepean    */
.oto { fill: #003380; }    /*    Ottawa—Orléans    */
.otv { fill: #AA0000; }    /*    Ottawa—Vanier    */
.ou { fill: #FF6600; }    /*    Outremont    */
.ox { fill: #003380; }    /*    Oxford    */
.pa { fill: #003380; }    /*    Palliser    */
.pp { fill: #AA0000; }    /*    Papineau    */
.php { fill: #FF6600; }    /*    Parkdale—High Park    */
.psm { fill: #003380; }    /*    Parry Sound—Muskoka    */
.pr { fill: #003380; }    /*    Peace River    */
.pw { fill: #003380; }    /*    Perth—Wellington    */
.pt { fill: #003380; }    /*    Peterborough    */
.pse { fill: #003380; }    /*    Pickering—Scarborough East    */
.pd { fill: #FF6600; }    /*    Pierrefonds—Dollard    */
.pmrm { fill: #003380; }    /*    Pitt Meadows—Maple Ridge—Mission    */
.po { fill: #FF6600; }    /*    Pontiac    */
.pmwp { fill: #003380; }    /*    Port Moody—Westwood—Port Coquitlam    */
.pl { fill: #003380; }    /*    Portage—Lisgar    */
.pjc { fill: #FF6600; }    /*    Portneuf—Jacques-Cartier    */
.pal { fill: #003380; }    /*    Prince Albert    */
.peh { fill: #003380; }    /*    Prince Edward—Hastings    */
.pgpr { fill: #003380; }    /*    Prince George—Peace River    */
.pvr { fill: #003380; }    /*    Provencher    */
.qc { fill: #FF6600; }    /*    Québec    */
.rbsg { fill: #AA0000; }    /*    Random—Burin—St. George's    */
.rd { fill: #003380; }    /*    Red Deer    */
.rllc { fill: #003380; }    /*    Regina—Lumsden—Lake Centre    */
.rq { fill: #003380; }    /*    Regina—Qu'Appelle    */
.rnp { fill: #003380; }    /*    Renfrew—Nipissing—Pembroke    */
.re { fill: #FF6600; }    /*    Repentigny    */
.ri { fill: #003380; }    /*    Richmond    */
.rih { fill: #003380; }    /*    Richmond Hill    */
.ria { fill: #37C8AB; }    /*    Richmond—Arthabaska    */
.rntlb { fill: #FF6600; }    /*    Rimouski-Neigette—Témiscouata—Les Basques    */
.rdmi { fill: #FF6600; }    /*    Rivière-des-Mille-Îles    */
.rdn { fill: #FF6600; }    /*    Rivière-du-Nord    */
.rlsj { fill: #003380; }    /*    Roberval—Lac-Saint-Jean    */
.rlpp { fill: #FF6600; }    /*    Rosemont—La Petite-Patrie    */
.sgi { fill: #2F873E; }    /*    Saanich—Gulf Islands    */
.ses { fill: #FF6600; }    /*    Sackville—Eastern Shore    */
.sb { fill: #003380; }    /*    Saint Boniface    */
.sj { fill: #003380; }    /*    Saint John    */
.sbsh { fill: #FF6600; }    /*    Saint-Bruno—Saint-Hubert    */
.shb { fill: #FF6600; }    /*    Saint-Hyacinthe—Bagot    */
.sjn { fill: #FF6600; }    /*    Saint-Jean    */
.sl { fill: #FF6600; }    /*    Saint-Lambert    */
.slc { fill: #AA0000; }    /*    Saint-Laurent—Cartierville    */
.slsm { fill: #AA0000; }    /*    Saint-Léonard—Saint-Michel    */
.smc { fill: #FF6600; }    /*    Saint-Maurice—Champlain    */
.sal { fill: #003380; }    /*    Sarnia—Lambton    */
.skh { fill: #003380; }    /*    Saskatoon—Humboldt    */
.skrb { fill: #003380; }    /*    Saskatoon—Rosetown—Biggar    */
.skw { fill: #003380; }    /*    Saskatoon—Wanuskewin    */
.ssm { fill: #003380; }    /*    Sault Ste. Marie    */
.scc { fill: #003380; }    /*    Scarborough Centre    */
.scsw { fill: #FF6600; }    /*    Scarborough Southwest    */
.sca { fill: #AA0000; }    /*    Scarborough—Agincourt    */
.scg { fill: #AA0000; }    /*    Scarborough—Guildwood    */
.scrr { fill: #FF6600; }    /*    Scarborough—Rouge River    */
.si { fill: #003380; }    /*    Selkirk—Interlake    */
.sh { fill: #FF6600; }    /*    Shefford    */
.srb { fill: #FF6600; }    /*    Sherbrooke    */
.sn { fill: #003380; }    /*    Simcoe North    */
.sg { fill: #003380; }    /*    Simcoe—Grey    */
.sbv { fill: #FF6600; }    /*    Skeena—Bulkley Valley    */
.smm { fill: #003380; }    /*    Souris—Moose Mountain    */
.sssm { fill: #003380; }    /*    South Shore—St. Margaret's    */
.sswr { fill: #003380; }    /*    South Surrey—White Rock—Cloverdale    */
.sc { fill: #003380; }    /*    St. Catharines    */
.sje { fill: #FF6600; }    /*    St. John's East    */
.sjsm { fill: #FF6600; }    /*    St. John's South—Mount Pearl    */
.sp { fill: #AA0000; }    /*    St. Paul's    */
.sdsg { fill: #003380; }    /*    Stormont—Dundas—South Glengarry    */
.su { fill: #FF6600; }    /*    Sudbury    */
.sun { fill: #FF6600; }    /*    Surrey North    */
.syv { fill: #AA0000; }    /*    Sydney—Victoria    */
.tb { fill: #FF6600; }    /*    Terrebonne—Blainville    */
.th { fill: #003380; }    /*    Thornhill    */
.tbrr { fill: #FF6600; }    /*    Thunder Bay—Rainy River    */
.tbsn { fill: #FF6600; }    /*    Thunder Bay—Superior North    */
.tjb { fill: #FF6600; }    /*    Timmins—James Bay    */
.tm { fill: #003380; }    /*    Tobique—Mactaquac    */
.tc { fill: #AA0000; }    /*    Toronto Centre    */
.td { fill: #FF6600; }    /*    Toronto—Danforth    */
.ts { fill: #FF6600; }    /*    Trinity—Spadina    */
.tr { fill: #FF6600; }    /*    Trois-Rivières    */
.vc { fill: #AA0000; }    /*    Vancouver Centre    */
.ve { fill: #FF6600; }    /*    Vancouver East    */
.vin { fill: #003380; }    /*    Vancouver Island North    */
.vk { fill: #FF6600; }    /*    Vancouver Kingsway    */
.vq { fill: #AA0000; }    /*    Vancouver Quadra    */
.vs { fill: #003380; }    /*    Vancouver South    */
.vas { fill: #FF6600; }    /*    Vaudreuil-Soulanges    */
.vau { fill: #003380; }    /*    Vaughan    */
.vw { fill: #003380; }    /*    Vegreville—Wainwright    */
.vlp { fill: #FF6600; }    /*    Verchères—Les Patriotes    */
.vi { fill: #FF6600; }    /*    Victoria    */
.wa { fill: #AA0000; }    /*    Wascana    */
.we { fill: #FF6600; }    /*    Welland    */
.whh { fill: #003380; }    /*    Wellington—Halton Hills    */
.wn { fill: #003380; }    /*    West Nova    */
.wvss { fill: #003380; }    /*    West Vancouver—Sunshine Coast—Sea to Sky Country    */
.war { fill: #FF6600; }    /*    Western Arctic    */
.wsp { fill: #003380; }    /*    Westlock—St. Paul    */
.wvm { fill: #AA0000; }    /*    Westmount—Ville-Marie    */
.wet { fill: #003380; }    /*    Wetaskiwin    */
.wo { fill: #003380; }    /*    Whitby—Oshawa    */
.wr { fill: #003380; }    /*    Wild Rose    */
.wil { fill: #003380; }    /*    Willowdale    */
.ww { fill: #FF6600; }    /*    Windsor West    */
.wt { fill: #FF6600; }    /*    Windsor—Tecumseh    */
.wic { fill: #FF6600; }    /*    Winnipeg Centre    */
.win { fill: #AA0000; }    /*    Winnipeg North    */
.wis { fill: #003380; }    /*    Winnipeg South    */
.wsc { fill: #003380; }    /*    Winnipeg South Centre    */
.yh { fill: #003380; }    /*    Yellowhead    */
.yc { fill: #003380; }    /*    York Centre    */
.ysw { fill: #FF6600; }    /*    York South—Weston    */
.yw { fill: #AA0000; }    /*    York West    */
.ys { fill: #003380; }    /*    York—Simcoe    */
.ym { fill: #003380; }    /*    Yorkton—Melville    */
.yk { fill: #003380; }    /*    Yukon    */
.abb { fill: #003380; }    /*    Abbotsford    */
.abne { fill: #FF6600; }    /*    Abitibi—Baie-James—Nunavik—Eeyou    */
.at { fill: #FF6600; }    /*    Abitibi—Témiscamingue    */
.ab { fill: #FF6600; }    /*    Acadie—Bathurst    */
.ah { fill: #37C8AB; }    /*    Ahuntsic    */
.ap { fill: #003380; }    /*    Ajax—Pickering    */
.al { fill: #FF6600; }    /*    Alfred-Pellan    */
.amk { fill: #FF6600; }    /*    Algoma—Manitoulin—Kapuskasing    */
.adfw { fill: #003380; }    /*    Ancaster—Dundas—Flamborough—Westdale    */
.apm { fill: #FF6600; }    /*    Argenteuil—Papineau—Mirabel    */
.av { fill: #AA0000; }    /*    Avalon    */
.ba { fill: #003380; }    /*    Barrie    */
.bnb { fill: #37C8AB; }    /*    Bas-Richelieu—Nicolet—Bécancour    */
.bl { fill: #003380; }    /*    Battlefords—Lloydminster    */
.be { fill: #FF6600; }    /*    Beaches—East York    */
.bu { fill: #003380; }    /*    Beauce    */
.bs { fill: #FF6600; }    /*    Beauharnois—Salaberry    */
.bli { fill: #FF6600; }    /*    Beauport—Limoilou    */
.bj { fill: #AA0000; }    /*    Beauséjour    */
.bm { fill: #FF6600; }    /*    Berthier—Maskinongé    */
.bk { fill: #003380; }    /*    Blackstrap    */
.bggw { fill: #AA0000; }    /*    Bonavista—Gander—Grand Falls—Windsor    */
.bo { fill: #AA0000; }    /*    Bourassa    */
.bgm { fill: #003380; }    /*    Bramalea—Gore—Malton    */
.bw { fill: #003380; }    /*    Brampton West    */
.bsd { fill: #003380; }    /*    Brampton—Springdale    */
.bi { fill: #003380; }    /*    Brandon—Souris    */
.bt { fill: #003380; }    /*    Brant    */
.bcsi { fill: #FF6600; }    /*    British Columbia Southern Interior    */
.brm { fill: #FF6600; }    /*    Brome—Missisquoi    */
.blp { fill: #FF6600; }    /*    Brossard—La Prairie    */
.bgos { fill: #003380; }    /*    Bruce—Grey—Owen Sound    */
.bgt { fill: #003380; }    /*    Burlington    */
.bd { fill: #FF6600; }    /*    Burnaby—Douglas    */
.bnw { fill: #FF6600; }    /*    Burnaby—New Westminster    */
.cc { fill: #003380; }    /*    Calgary Centre    */
.ccn { fill: #003380; }    /*    Calgary Centre-North    */
.ce { fill: #003380; }    /*    Calgary East    */
.cne { fill: #003380; }    /*    Calgary Northeast    */
.cse { fill: #003380; }    /*    Calgary Southeast    */
.csw { fill: #003380; }    /*    Calgary Southwest    */
.cw { fill: #003380; }    /*    Calgary West    */
.cnh { fill: #003380; }    /*    Calgary—Nose Hill    */
.cm { fill: #003380; }    /*    Cambridge    */
.cbc { fill: #AA0000; }    /*    Cape Breton—Canso    */
.cr { fill: #AA0000; }    /*    Cardigan    */
.cpg { fill: #003380; }    /*    Cariboo—Prince George    */
.cmm { fill: #003380; }    /*    Carleton—Mississippi Mills    */
.cn { fill: #003380; }    /*    Central Nova    */
.cb { fill: #FF6600; }    /*    Chambly—Borduas    */
.chsc { fill: #FF6600; }    /*    Charlesbourg—Haute-Saint-Charles    */
.csja { fill: #003380; }    /*    Charleswood—St. James—Assiniboia    */
.ct { fill: #AA0000; }    /*    Charlottetown    */
.csc { fill: #FF6600; }    /*    Châteauguay—Saint-Constant    */
.cke { fill: #003380; }    /*    Chatham-Kent—Essex    */
.clf { fill: #FF6600; }    /*    Chicoutimi—Le Fjord    */
.cfc { fill: #003380; }    /*    Chilliwack—Fraser Canyon    */
.ch { fill: #FF6600; }    /*    Churchill    */
.cs { fill: #FF6600; }    /*    Compton—Stanstead    */
.cf { fill: #003380; }    /*    Crowfoot    */
.ccmv { fill: #003380; }    /*    Cumberland—Colchester—Musquodoboit Valley    */
.chg { fill: #003380; }    /*    Cypress Hills—Grasslands    */
.dch { fill: #FF6600; }    /*    Dartmouth—Cole Harbour    */
.dsrm { fill: #003380; }    /*    Dauphin—Swan River—Marquette    */
.dvp { fill: #FF6600; }    /*    Davenport    */
.dre { fill: #003380; }    /*    Delta—Richmond East    */
.dmcr { fill: #003380; }    /*    Desnethé—Missinippi—Churchill River    */
.dve { fill: #003380; }    /*    Don Valley East    */
.dvw { fill: #003380; }    /*    Don Valley West    */
.dr { fill: #FF6600; }    /*    Drummond    */
.du { fill: #003380; }    /*    Dufferin—Caledon    */
.dm { fill: #003380; }    /*    Durham    */
.ec { fill: #003380; }    /*    Edmonton Centre    */
.ee { fill: #003380; }    /*    Edmonton East    */
.el { fill: #003380; }    /*    Edmonton—Leduc    */
.emwb { fill: #003380; }    /*    Edmonton—Mill Woods—Beaumont    */
.esp { fill: #003380; }    /*    Edmonton—Sherwood Park    */
.esg { fill: #003380; }    /*    Edmonton—Spruce Grove    */
.esa { fill: #003380; }    /*    Edmonton—St. Albert    */
.es { fill: #FF6600; }    /*    Edmonton—Strathcona    */
.egl { fill: #003380; }    /*    Eglinton—Lawrence    */
.eg { fill: #003380; }    /*    Egmont    */
.eml { fill: #003380; }    /*    Elgin—Middlesex—London    */
.et { fill: #003380; }    /*    Elmwood—Transcona    */
.ejdf { fill: #FF6600; }    /*    Esquimalt—Juan de Fuca    */
.ex { fill: #003380; }    /*    Essex    */
.etc { fill: #003380; }    /*    Etobicoke Centre    */
.etn { fill: #AA0000; }    /*    Etobicoke North    */
.etl { fill: #003380; }    /*    Etobicoke—Lakeshore    */
.fpk { fill: #003380; }    /*    Fleetwood—Port Kells    */
.fma { fill: #003380; }    /*    Fort McMurray—Athabasca    */
.fr { fill: #003380; }    /*    Fredericton    */
.fu { fill: #003380; }    /*    Fundy Royal    */
.gim { fill: #FF6600; }    /*    Gaspésie—Îles-de-la-Madeleine    */
.ga { fill: #FF6600; }    /*    Gatineau    */
.gl { fill: #003380; }    /*    Glengarry—Prescott—Russell    */
.gu { fill: #AA0000; }    /*    Guelph    */
.hn { fill: #003380; }    /*    Haldimand—Norfolk    */
.hklb { fill: #003380; }    /*    Haliburton—Kawartha Lakes—Brock    */
.hx { fill: #FF6600; }    /*    Halifax    */
.hxw { fill: #AA0000; }    /*    Halifax West    */
.hl { fill: #003380; }    /*    Halton    */
.hc { fill: #FF6600; }    /*    Hamilton Centre    */
.hesc { fill: #FF6600; }    /*    Hamilton East—Stoney Creek    */
.hm { fill: #FF6600; }    /*    Hamilton Mountain    */
.hmmm { fill: #37C8AB; }    /*    Haute-Gaspésie—La Mitis—Matane—Matapédia    */
.ho { fill: #FF6600; }    /*    Hochelaga    */
.hr { fill: #FF6600; }    /*    Honoré-Mercier    */
.ha { fill: #FF6600; }    /*    Hull—Aylmer    */
.hbbv { fill: #AA0000; }    /*    Humber—St. Barbe—Baie Verte    */
.hb { fill: #003380; }    /*    Huron—Bruce    */
.jlb { fill: #FF6600; }    /*    Jeanne-Le Ber    */
.jo { fill: #FF6600; }    /*    Joliette    */
.ja { fill: #FF6600; }    /*    Jonquière—Alma    */
.ktc { fill: #003380; }    /*    Kamloops—Thompson—Cariboo    */
.klc { fill: #003380; }    /*    Kelowna—Lake Country    */
.ke { fill: #003380; }    /*    Kenora    */
.ksp { fill: #003380; }    /*    Kildonan—St. Paul    */
.kh { fill: #AA0000; }    /*    Kings—Hants    */
.ki { fill: #AA0000; }    /*    Kingston and the Islands    */
.kce { fill: #003380; }    /*    Kitchener Centre    */
.kco { fill: #003380; }    /*    Kitchener—Conestoga    */
.kw { fill: #003380; }    /*    Kitchener—Waterloo    */
.kc { fill: #003380; }    /*    Kootenay—Columbia    */
.lpi { fill: #FF6600; }    /*    La Pointe-de-l'Île    */
.la { fill: #003380; }    /*    Labrador    */
.lsl { fill: #AA0000; }    /*    Lac-Saint-Louis    */
.lkm { fill: #003380; }    /*    Lambton—Kent—Middlesex    */
.lfla { fill: #003380; }    /*    Lanark—Frontenac—Lennox and Addington    */
.lg { fill: #003380; }    /*    Langley    */
.le { fill: #FF6600; }    /*    LaSalle—Émard    */
.ll { fill: #FF6600; }    /*    Laurentides—Labelle    */
.lsm { fill: #FF6600; }    /*    Laurier—Sainte-Marie    */
.lv { fill: #FF6600; }    /*    Laval    */
.lvi { fill: #FF6600; }    /*    Laval—Les Îles    */
.lgr { fill: #003380; }    /*    Leeds—Grenville    */
.lt { fill: #003380; }    /*    Lethbridge    */
.lb { fill: #003380; }    /*    Lévis—Bellechasse    */
.lnc { fill: #003380; }    /*    London North Centre    */
.lw { fill: #003380; }    /*    London West    */
.lf { fill: #FF6600; }    /*    London—Fanshawe    */
.lpb { fill: #FF6600; }    /*    Longueuil—Pierre-Boucher    */
.lcc { fill: #003380; }    /*    Lotbinière—Chutes-de-la-Chaudière    */
.lh { fill: #FF6600; }    /*    Louis-Hébert    */
.losl { fill: #FF6600; }    /*    Louis-Saint-Laurent    */
.mc { fill: #003380; }    /*    Macleod    */
.mr { fill: #003380; }    /*    Madawaska—Restigouche    */
.ml { fill: #AA0000; }    /*    Malpeque    */
.mn { fill: #FF6600; }    /*    Manicouagan    */
.maf { fill: #FF6600; }    /*    Marc-Aurèle-Fortin    */
.mu { fill: #AA0000; }    /*    Markham—Unionville    */
.mh { fill: #003380; }    /*    Medicine Hat    */
.mle { fill: #003380; }    /*    Mégantic—L'Érable    */
.mi { fill: #003380; }    /*    Miramichi    */
.mec { fill: #003380; }    /*    Mississauga East—Cooksville    */
.ms { fill: #003380; }    /*    Mississauga South    */
.mbs { fill: #003380; }    /*    Mississauga—Brampton South    */
.me { fill: #003380; }    /*    Mississauga—Erindale    */
.msv { fill: #003380; }    /*    Mississauga—Streetsville    */
.mrd { fill: #003380; }    /*    Moncton—Riverview—Dieppe    */
.mcm { fill: #FF6600; }    /*    Montcalm    */
.mlkr { fill: #FF6600; }    /*    Montmagny—L'Islet—Kamouraska—Rivière-du-Loup    */
.mchc { fill: #FF6600; }    /*    Montmorency—Charlevoix—Haute-Côte-Nord    */
.mrl { fill: #AA0000; }    /*    Mount Royal    */
.na { fill: #003380; }    /*    Nanaimo—Alberni    */
.nac { fill: #FF6600; }    /*    Nanaimo—Cowichan    */
.nec { fill: #003380; }    /*    Nepean—Carleton    */
.nbs { fill: #003380; }    /*    New Brunswick Southwest    */
.nwc { fill: #FF6600; }    /*    New Westminster—Coquitlam    */
.nma { fill: #003380; }    /*    Newmarket—Aurora    */
.nnd { fill: #FF6600; }    /*    Newton—North Delta    */
.nf { fill: #003380; }    /*    Niagara Falls    */
.nwg { fill: #003380; }    /*    Niagara West—Glanbrook    */
.nb { fill: #FF6600; }    /*    Nickel Belt    */
.nt { fill: #003380; }    /*    Nipissing—Timiskaming    */
.nv { fill: #003380; }    /*    North Vancouver    */
.nqw { fill: #003380; }    /*    Northumberland—Quinte West    */
.ndgl { fill: #FF6600; }    /*    Notre-Dame-de-Grâce—Lachine    */
.nu { fill: #003380; }    /*    Nunavut    */
.orm { fill: #003380; }    /*    Oak Ridges—Markham    */
.oa { fill: #003380; }    /*    Oakville    */
.okc { fill: #003380; }    /*    Okanagan—Coquihalla    */
.oks { fill: #003380; }    /*    Okanagan—Shuswap    */
.os { fill: #003380; }    /*    Oshawa    */
.otc { fill: #FF6600; }    /*    Ottawa Centre    */
.ots { fill: #AA0000; }    /*    Ottawa South    */
.otwn { fill: #003380; }    /*    Ottawa West—Nepean    */
.oto { fill: #003380; }    /*    Ottawa—Orléans    */
.otv { fill: #AA0000; }    /*    Ottawa—Vanier    */
.ou { fill: #FF6600; }    /*    Outremont    */
.ox { fill: #003380; }    /*    Oxford    */
.pa { fill: #003380; }    /*    Palliser    */
.pp { fill: #AA0000; }    /*    Papineau    */
.php { fill: #FF6600; }    /*    Parkdale—High Park    */
.psm { fill: #003380; }    /*    Parry Sound—Muskoka    */
.pr { fill: #003380; }    /*    Peace River    */
.pw { fill: #003380; }    /*    Perth—Wellington    */
.pt { fill: #003380; }    /*    Peterborough    */
.pse { fill: #003380; }    /*    Pickering—Scarborough East    */
.pd { fill: #FF6600; }    /*    Pierrefonds—Dollard    */
.pmrm { fill: #003380; }    /*    Pitt Meadows—Maple Ridge—Mission    */
.po { fill: #FF6600; }    /*    Pontiac    */
.pmwp { fill: #003380; }    /*    Port Moody—Westwood—Port Coquitlam    */
.pl { fill: #003380; }    /*    Portage—Lisgar    */
.pjc { fill: #FF6600; }    /*    Portneuf—Jacques-Cartier    */
.pal { fill: #003380; }    /*    Prince Albert    */
.peh { fill: #003380; }    /*    Prince Edward—Hastings    */
.pgpr { fill: #003380; }    /*    Prince George—Peace River    */
.pvr { fill: #003380; }    /*    Provencher    */
.qc { fill: #FF6600; }    /*    Québec    */
.rbsg { fill: #AA0000; }    /*    Random—Burin—St. George's    */
.rd { fill: #003380; }    /*    Red Deer    */
.rllc { fill: #003380; }    /*    Regina—Lumsden—Lake Centre    */
.rq { fill: #003380; }    /*    Regina—Qu'Appelle    */
.rnp { fill: #003380; }    /*    Renfrew—Nipissing—Pembroke    */
.re { fill: #FF6600; }    /*    Repentigny    */
.ri { fill: #003380; }    /*    Richmond    */
.rih { fill: #003380; }    /*    Richmond Hill    */
.ria { fill: #37C8AB; }    /*    Richmond—Arthabaska    */
.rntlb { fill: #FF6600; }    /*    Rimouski-Neigette—Témiscouata—Les Basques    */
.rdmi { fill: #FF6600; }    /*    Rivière-des-Mille-Îles    */
.rdn { fill: #FF6600; }    /*    Rivière-du-Nord    */
.rlsj { fill: #003380; }    /*    Roberval—Lac-Saint-Jean    */
.rlpp { fill: #FF6600; }    /*    Rosemont—La Petite-Patrie    */
.sgi { fill: #2F873E; }    /*    Saanich—Gulf Islands    */
.ses { fill: #FF6600; }    /*    Sackville—Eastern Shore    */
.sb { fill: #003380; }    /*    Saint Boniface    */
.sj { fill: #003380; }    /*    Saint John    */
.sbsh { fill: #FF6600; }    /*    Saint-Bruno—Saint-Hubert    */
.shb { fill: #FF6600; }    /*    Saint-Hyacinthe—Bagot    */
.sjn { fill: #FF6600; }    /*    Saint-Jean    */
.sl { fill: #FF6600; }    /*    Saint-Lambert    */
.slc { fill: #AA0000; }    /*    Saint-Laurent—Cartierville    */
.slsm { fill: #AA0000; }    /*    Saint-Léonard—Saint-Michel    */
.smc { fill: #FF6600; }    /*    Saint-Maurice—Champlain    */
.sal { fill: #003380; }    /*    Sarnia—Lambton    */
.skh { fill: #003380; }    /*    Saskatoon—Humboldt    */
.skrb { fill: #003380; }    /*    Saskatoon—Rosetown—Biggar    */
.skw { fill: #003380; }    /*    Saskatoon—Wanuskewin    */
.ssm { fill: #003380; }    /*    Sault Ste. Marie    */
.scc { fill: #003380; }    /*    Scarborough Centre    */
.scsw { fill: #FF6600; }    /*    Scarborough Southwest    */
.sca { fill: #AA0000; }    /*    Scarborough—Agincourt    */
.scg { fill: #AA0000; }    /*    Scarborough—Guildwood    */
.scrr { fill: #FF6600; }    /*    Scarborough—Rouge River    */
.si { fill: #003380; }    /*    Selkirk—Interlake    */
.sh { fill: #FF6600; }    /*    Shefford    */
.srb { fill: #FF6600; }    /*    Sherbrooke    */
.sn { fill: #003380; }    /*    Simcoe North    */
.sg { fill: #003380; }    /*    Simcoe—Grey    */
.sbv { fill: #FF6600; }    /*    Skeena—Bulkley Valley    */
.smm { fill: #003380; }    /*    Souris—Moose Mountain    */
.sssm { fill: #003380; }    /*    South Shore—St. Margaret's    */
.sswr { fill: #003380; }    /*    South Surrey—White Rock—Cloverdale    */
.sc { fill: #003380; }    /*    St. Catharines    */
.sje { fill: #FF6600; }    /*    St. John's East    */
.sjsm { fill: #FF6600; }    /*    St. John's South—Mount Pearl    */
.sp { fill: #AA0000; }    /*    St. Paul's    */
.sdsg { fill: #003380; }    /*    Stormont—Dundas—South Glengarry    */
.su { fill: #FF6600; }    /*    Sudbury    */
.sun { fill: #FF6600; }    /*    Surrey North    */
.syv { fill: #AA0000; }    /*    Sydney—Victoria    */
.tb { fill: #FF6600; }    /*    Terrebonne—Blainville    */
.th { fill: #003380; }    /*    Thornhill    */
.tbrr { fill: #FF6600; }    /*    Thunder Bay—Rainy River    */
.tbsn { fill: #FF6600; }    /*    Thunder Bay—Superior North    */
.tjb { fill: #FF6600; }    /*    Timmins—James Bay    */
.tm { fill: #003380; }    /*    Tobique—Mactaquac    */
.tc { fill: #AA0000; }    /*    Toronto Centre    */
.td { fill: #FF6600; }    /*    Toronto—Danforth    */
.ts { fill: #FF6600; }    /*    Trinity—Spadina    */
.tr { fill: #FF6600; }    /*    Trois-Rivières    */
.vc { fill: #AA0000; }    /*    Vancouver Centre    */
.ve { fill: #FF6600; }    /*    Vancouver East    */
.vin { fill: #003380; }    /*    Vancouver Island North    */
.vk { fill: #FF6600; }    /*    Vancouver Kingsway    */
.vq { fill: #AA0000; }    /*    Vancouver Quadra    */
.vs { fill: #003380; }    /*    Vancouver South    */
.vas { fill: #FF6600; }    /*    Vaudreuil-Soulanges    */
.vau { fill: #003380; }    /*    Vaughan    */
.vw { fill: #003380; }    /*    Vegreville—Wainwright    */
.vlp { fill: #FF6600; }    /*    Verchères—Les Patriotes    */
.vi { fill: #FF6600; }    /*    Victoria    */
.wa { fill: #AA0000; }    /*    Wascana    */
.we { fill: #FF6600; }    /*    Welland    */
.whh { fill: #003380; }    /*    Wellington—Halton Hills    */
.wn { fill: #003380; }    /*    West Nova    */
.wvss { fill: #003380; }    /*    West Vancouver—Sunshine Coast—Sea to Sky Country    */
.war { fill: #FF6600; }    /*    Western Arctic    */
.wsp { fill: #003380; }    /*    Westlock—St. Paul    */
.wvm { fill: #AA0000; }    /*    Westmount—Ville-Marie    */
.wet { fill: #003380; }    /*    Wetaskiwin    */
.wo { fill: #003380; }    /*    Whitby—Oshawa    */
.wr { fill: #003380; }    /*    Wild Rose    */
.wil { fill: #003380; }    /*    Willowdale    */
.ww { fill: #FF6600; }    /*    Windsor West    */
.wt { fill: #FF6600; }    /*    Windsor—Tecumseh    */
.wic { fill: #FF6600; }    /*    Winnipeg Centre    */
.win { fill: #AA0000; }    /*    Winnipeg North    */
.wis { fill: #003380; }    /*    Winnipeg South    */
.wsc { fill: #003380; }    /*    Winnipeg South Centre    */
.yh { fill: #003380; }    /*    Yellowhead    */
.yc { fill: #003380; }    /*    York Centre    */
.ysw { fill: #FF6600; }    /*    York South—Weston    */
.yw { fill: #AA0000; }    /*    York West    */
.ys { fill: #003380; }    /*    York—Simcoe    */
.ym { fill: #003380; }    /*    Yorkton—Melville    */
.yk { fill: #003380; }    /*    Yukon    */

</style>

GIF Animation[edit]

I have not made maps for years prior to 2004, since some electoral districts have changed since then. Please use one of these files for animations.

Political shift in Canada in the first decade of the 21st century

Work Required[edit]

If you have experience working with SVG files, you may want to edit the SVG map of Ontario's Electoral Districts