Quebec Major Junior Hockey League

The Quebec Major Junior Hockey League (French: la Ligue de hockey junior majeur du Québec, shortened as QMJHL in English, LHJMQ in French) is one of the three major junior ice hockey leagues which make up the Canadian Hockey League. Because the name of the league is so long, it is sometimes called the "Q".

Quebec Major Junior Hockey League
Ligue de hockey junior majeur du Québec
Current season or competition:
2020–21 QMJHL season
SportIce hockey
Founded1969
No. of teams18
Country(ies)Canada
Most recent champion(s)Rouyn-Noranda Huskies (2)
Most championshipsGatineau Olympiques (7)
TV partner(s)Sportsnet
Sportsnet One
EastLink TV
TVA Sports
Official websitetheqmjhl.ca

There are 18 teams in the QMJHL that are in Quebec, New Brunswick, Nova Scotia, and Prince Edward Island in Canada. The winner of the QMJHL plays against the winners of the Western Hockey League and Ontario Hockey League for the Memorial Cup. Many good players go from the QMJHL to the National Hockey League, and nine players from the QMJHL are in the Hockey Hall of Fame.

History

The QMJHL was created in 1969 from two different junior leagues in Quebec, the Quebec Junior Hockey League and the Metropolitan Montreal Junior Hockey League. These two teams wanted to make a better junior league for the province, so combined teams from their leagues. Eight teams were from the QJHL and two from the MMJHL and another team came from a town in Ontario on the Ontario-Quebec border. Nearly every team was within a close distance of Montreal, the largest city in Quebec, though no team played in Montreal.

In 1972 the QMJHL finally wanted a team in Montreal, and tried to get the Montreal Junior Canadiens, who played in the Ontario Hockey Association, to join. The OHA made a deal with the QMJHL and gave them the Junior Canadiens while creating a new team in a different city to keep an OHA team with the same name.

Member teams

2020–21 Quebec Major Junior Hockey League
<graph>

{

 //
 // ATTENTION: This code is maintained at https://www.mediawiki.org/wiki/Template:Graph:Street_map_with_marks
 //            Please do not modify it anywhere else, as it may get copied and override your changes.
 //            Suggestions can be made at https://www.mediawiki.org/wiki/Template_talk:Graph:Street_map_with_marks
 //
 // Template translation is in https://commons.wikimedia.org/wiki/Data:Original/Template:Graphs.tab
 //
 "version": 2, "width":, "height": , "padding": 0,
 "signals":[
   // These signals allow us to quickly move the map within the image, e.g. to leave space for the legend

{"name":"legendWidth", "init": {"expr": "0"} },

   {"name":"legendHeight", "init": {"expr": "height"} },
   {"name":"imgWidth", "init": {"expr": "width-legendWidth"} },
   {"name":"imgHeight", "init": {"expr": "height"} },
   {"name":"imgXC", "init": {"expr": "imgWidth/2"} },
   {"name":"imgYC", "init": {"expr": "imgHeight/2"} },
   {"name":"imgTileSize", "init": {"expr": "256"} },
   {"name":"imgLat", "init": {"expr": "46.80"} },
   {"name":"imgLon", "init": {"expr": "-70.0"} },
   {"name":"imgZoom", "init": {"expr": ""} },
   {"name":"picWidth", "init": {"expr": "180"} },
   {"name":"picHeight", "init": {"expr": "picWidth/2"} },
   {"name":"picXC", "init": {"expr": "imgWidth-(picWidth/2)"} },
   {"name":"picYC", "init": {"expr": "imgHeight-(picHeight/2)"} },
   {"name":"showMiniMap", "init": {"expr": "0"} }
 ],
 "data": [
   {
     "name": "data",

// Otherwise use the first unnamed argument for source values

     "values": [  { "lat": 46.80, 
    "lon": -70.0, 
    "img": "wikirawupload:https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Mapscaleline.svg/120px-Mapscaleline.svg.png", 
    "width": 50, 
    "height": 8, 
    "offsetX": Expression error: Unexpected / operator., 
    "offsetY": Expression error: Unexpected / operator., 
    "textAlign": "right", 
    "textDx": 22, 
    "textDy": -2, 
    "textColor": "grey", 
    "textFont": "Tahoma", 
    "textFontSize": 9, 
    "text":  "10 000km" }

, { "lat": 45.6314, "lon": -73.8586, Expression error: Unexpected = operator. "text": "", "textAlign": "right", "textBaseline": "middle", "textDx": 0, "textDy": 1, "textFontSize": , "textColor": "#FF0000" }, { "lat": 45.6314, "lon": -73.8586,

"shape": "circle", 
"size": "0", 
"text": "Blainville-", 

"textAlign": "right", "textBaseline": "middle", "textDx": 0, "textDy": 1, "textFontSize": , "textColor": "#FF0000" }, { "lat": 45.6314, "lon": -73.8586,

"shape": "circle", 
"size": "0", 
"text": "Boisbriand", 

"textAlign": "right", "textBaseline": "middle", "textDx": 0, "textDy": 1, "textFontSize": , "textColor": "#FF0000"

}


, { "lat": 45.8836, "lon": -72.4931, Expression error: Unexpected = operator. "text": "Drummondville", "textAlign": "right", "textBaseline": "middle", "textDx": 0, "textDy": 1, "textFontSize": , "textColor": "#FF0000"


} , { "lat": 45.4342, "lon": -75.7247, Expression error: Unexpected = operator. "text": "Gatineau", "textAlign": "right", "textBaseline": "middle", "textDx": 0, "textDy": 1, "textFontSize": , "textColor": "#FF0000"


} , { "lat": 48.2467, "lon": -79.0189, Expression error: Unexpected = operator. "text": "Rouyn-Noranda", "textAlign": "right", "textBaseline": "middle", "textDx": 0, "textDy": 1, "textFontSize": , "textColor": "#FF0000"


} , { "lat": 45.4106, "lon": -71.8833, Expression error: Unexpected = operator. "text": "Sherbrooke", "textAlign": "right", "textBaseline": "middle", "textDx": 0, "textDy": 1, "textFontSize": , "textColor": "#FF0000"


} , { "lat": 48.1053, "lon": -77.7853, Expression error: Unexpected = operator. "text": "Val-d'Or", "textAlign": "right", "textBaseline": "middle", "textDx": 0, "textDy": 1, "textFontSize": , "textColor": "#FF0000"


} , { "lat": 49.2103, "lon": -68.1628, Expression error: Unexpected = operator. "text": "Baie-Comeau", "textAlign": "right", "textBaseline": "middle", "textDx": 0, "textDy": 1, "textFontSize": , "textColor": "#0000FF"


} , { "lat": 48.4197, "lon": -71.0600, Expression error: Unexpected = operator. "text": "Chicoutimi", "textAlign": "right", "textBaseline": "middle", "textDx": 0, "textDy": 1, "textFontSize": , "textColor": "#0000FF"


} , { "lat": 46.8290, "lon": -71.2480, Expression error: Unexpected = operator. "text": "Quebec", "textAlign": "right", "textBaseline": "middle", "textDx": 0, "textDy": 1, "textFontSize": , "textColor": "#0000FF"


} , { "lat": 48.4417, "lon": -68.5203, Expression error: Unexpected = operator. "text": "Rimouski", "textAlign": "right", "textBaseline": "middle", "textDx": 0, "textDy": 1, "textFontSize": , "textColor": "#0000FF"


} , { "lat": 46.5418, "lon": -72.7455, Expression error: Unexpected = operator. "text": "Shawinigan", "textAlign": "right", "textBaseline": "middle", "textDx": 0, "textDy": 1, "textFontSize": , "textColor": "#0000FF"


} , { "lat": 46.0569, "lon": -71.9447, Expression error: Unexpected = operator. "text": "Victoriaville", "textAlign": "right", "textBaseline": "middle", "textDx": 0, "textDy": 1, "textFontSize": , "textColor": "#0000FF"


} , { "lat": 47.6286, "lon": -65.6809, Expression error: Unexpected = operator. "text": "Acadie–Bathurst", "textAlign": "right", "textBaseline": "middle", "textDx": 0, "textDy": 1, "textFontSize": , "textColor": "#008000"


} , { "lat": 46.1375, "lon": -60.1903, Expression error: Unexpected = operator. "text": "Cape Breton", "textAlign": "right", "textBaseline": "middle", "textDx": 0, "textDy": 1, "textFontSize": , "textColor": "#008000"


} , { "lat": 46.2456, "lon": -63.1172, Expression error: Unexpected = operator. "text": "Charlottetown", "textAlign": "right", "textBaseline": "middle", "textDx": 0, "textDy": 1, "textFontSize": , "textColor": "#008000"


} , { "lat": 44.6483, "lon": -63.5767, Expression error: Unexpected = operator. "text": "Halifax", "textAlign": "right", "textBaseline": "middle", "textDx": 0, "textDy": 1, "textFontSize": , "textColor": "#008000"


} , { "lat": 46.0962, "lon": -64.8289, Expression error: Unexpected = operator. "text": "Moncton", "textAlign": "right", "textBaseline": "middle", "textDx": 0, "textDy": 1, "textFontSize": , "textColor": "#008000"


} , { "lat": 45.2761, "lon": -66.0642, Expression error: Unexpected = operator. "text": "Saint John", "textAlign": "right", "textBaseline": "middle", "textDx": 0, "textDy": 1, "textFontSize": , "textColor": "#008000"


}








     ],
     "transform": [
       {
         "type": "geo",
         "projection": "mercator",
         "scale": {"expr": "imgTileSize/PI/2*pow(2,imgZoom)"},
         "translate": [{"expr": "imgXC"}, {"expr": "imgYC"}],
         "center": [{"expr": "imgLon"}, {"expr": "imgLat"}],
         "lon": "lon", "lat": "lat"
       },
       { "type": "formula", "field":"layout_x", "expr": "datum.layout_x + (datum.offsetX || 0)" },
       { "type": "formula", "field":"layout_y", "expr": "datum.layout_y + (datum.offsetY || 0)" },
       { "type": "formula", "field":"color", "expr": "datum.color || '#c33'" },
       { "type": "formula", "field":"textColor", "expr": "datum.textColor || datum.color" },
       { "type": "formula", "field":"strokeColor", "expr": "datum.strokeColor || '#ffe7e6'" }
     ]
   },
   {
     // Hack: single value data source for drawing/hiding images and other non-series elements
     "name": "dummyData",
     "values": [{}]
   }
 ],

// Legend only works if showLegend and colorScaleField are set

 "marks": [
   {
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "formula", "field":"url", "expr": "'mapsnapshot:///?width='+imgWidth+'&height='+imgHeight+'&zoom='+imgZoom+'&lat='+imgLat+'&lon='+imgLon" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"field": "url"},
         "xc": {"signal": "imgXC"}, "yc": {"signal": "imgYC"},
         "width": {"signal": "imgWidth"}, "height": {"signal": "imgHeight"}
       }
     }
   },
   {
     // Places an image of a given name and size at the [lan,lon] location
     "type": "image",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.img" },
         { "type": "formula", "field":"iconWidth", "expr": "datum.width || 0" },
         { "type": "formula", "field":"iconHeight", "expr": "datum.height || 0" },
         { "type": "formula", "field":"img",
           "expr": "if(!test(/^[a-z]+:\\/\\//, datum.img), 'wikifile:///'+datum.img, datum.img)" },
         // Ensure that either width or height parameter is passed to wikifile:// request
         { "type": "formula", "field":"img",
           "expr": "if((datum.iconWidth || datum.iconHeight) && !test(/[?&](width|height)=\\d/, datum.img),if(datum.iconWidth,datum.img+'?width='+datum.iconWidth,datum.img+'?height='+datum.iconHeight), datum.img)" }
     ]},
     "properties": {
       "enter": {
         "url": {"field": "img"},
         "xc": {"field": "layout_x"}, "yc": {"field": "layout_y"},
         "width": {"field": "iconWidth"}, "height": {"field": "iconHeight"}
       }
     }
   },
   {
     // Draw marks of a given color, shape, and size at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "data",
       "transform": [{ "type": "filter", "test": "!datum.img" }]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"},
         "y": {"field": "layout_y"},
         // If colorScaleField is set, use color scaling, otherwise use the preset color value
         "fill": { "field": "color" },
         "size": {"field": "size"},
         "shape": {"field": "shape"},
         "stroke": {"field": "strokeColor"}
       }
     }
   },
   {
     // Draw text with the given color and size at the [lan,lon] location
     // See https://github.com/vega/vega/wiki/Marks#text for all parameter description (prepend "text" and capitalize them)
     "type": "text",
     "from": {
       "data": "data",
       "transform": [
         { "type": "filter", "test": "datum.text" },
         // Figure out if this is an LTR or RTL page. For LTR, show label to the right of the icon, left-aligned. For RTL, reverse.
         { "type": "formula", "field":"isLTR", "expr": "'‎' == '\\u200E'" },
         // If these values are not defined ("undefined" is not allowed, so test for truthiness and not 0)
         { "type": "formula", "field":"textDx", "expr": "if(!datum.textDx && datum.textDx != 0, if(datum.isLTR,8,-8), datum.textDx)" },
         { "type": "formula", "field":"textAlign", "expr": "if(!datum.textAlign, if(datum.isLTR,'left','right'), datum.textAlign)" },
         { "type": "formula", "field":"textBaseline", "expr": "datum.textBaseline || 'middle'" }
     ]},
     "properties": {
       "enter": {
         "text": {"field": "text"},
         "x": {"field": "layout_x" },
         "y": {"field": "layout_y"},
         "dx": {"field": "textDx" },
         "dy": {"field": "textDy"},
         "fill": {"field": "textColor"},
         "align": {"field": "textAlign"},
         "baseline": {"field": "textBaseline"},
         "radius": {"field": "textRadius"},
         "theta": {"field": "textTheta"},
         "angle": {"field": "textAngle"},
         "font": {"field": "textFont"},
         "fontSize": {"field": "textFontSize"},
         "fontWeight": {"field": "textFontWeight"},
         "fontStyle": {"field": "textFontStyle"}
       }
     }
   },
   {
     // Draw a low-zoom locator map frame
     "type": "rect",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" }
       ]
     },
     "properties": {
       "enter": {
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth", "offset":2}, "height": {"signal": "picHeight"},
         "stroke": {"value":"#fff"},"strokeWidth": {"value":6}
       }
     }
   },
   {
     // Draw a low-zoom locator map by using a premade world map image
     "type": "image",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"url", "expr": "1" }
       ]
     },
     "properties": {
       "enter": {
         "url": {"value": "wikirawupload:"},
         "xc": {"signal": "picXC"}, "yc": {"signal": "picYC"},
         "width": {"signal": "picWidth"}, "height": {"signal": "picHeight"}
       }
     }
   },
   {
     // Draw a zoom-out mark at the [lan,lon] location
     "type": "symbol",
     "from": {
       "data": "dummyData",
       "transform": [
         { "type": "filter", "test": "showMiniMap" },
         { "type": "formula", "field":"lat", "expr": "imgLat" },
         { "type": "formula", "field":"lon", "expr": "imgLon" },
         {
           "type": "geo",
           "projection": "equirectangular",
           "scale": {"expr": "180/2/PI"},
           "translate": [{"expr": "picXC"}, {"expr": "picYC"}],
           "center": [{"expr": "0"}, {"expr": "0"}],
           "lon": "lon", "lat": "lat"
         }
       ]
     },
     "properties": {
       "enter": {
         "x": {"field": "layout_x"}, "y": {"field": "layout_y"},
         "fill": {"value": "#c33"},
         "stroke": {"value": "#ffe7e6"},
         "size": {"value": 40}
       }
     }
   }
 ]

} </graph>

Location of teams for the 2019–20 QMJHL season.
  West Division   East Division   Maritimes Division
Division Team City Arena
West Blainville-Boisbriand Armada Boisbriand, Quebec Centre d'Excellence Sports Rousseau
Drummondville Voltigeurs Drummondville, Quebec Centre Marcel Dionne
Gatineau Olympiques Gatineau, Quebec Centre Robert Guertin
Rouyn-Noranda Huskies Rouyn-Noranda, Quebec Aréna Iamgold
Sherbrooke Phoenix Sherbrooke, Quebec Palais des Sports
Val-d'Or Foreurs Val-d'Or, Quebec Centre Air Creebec
East Baie-Comeau Drakkar Baie-Comeau, Quebec Centre Henry-Leonard
Chicoutimi Saguenéens Saguenay, Quebec Centre Georges-Vézina
Quebec Remparts Quebec City, Quebec Centre Vidéotron
Rimouski Océanic Rimouski, Quebec Colisée de Rimouski
Shawinigan Cataractes Shawinigan, Quebec Centre Gervais Auto
Victoriaville Tigres Victoriaville, Quebec Colisée Desjardins
Maritimes Acadie–Bathurst Titan Bathurst, New Brunswick K.C. Irving Regional Centre
Cape Breton Eagles Sydney, Nova Scotia Centre 200
Charlottetown Islanders Charlottetown, Prince Edward Island Eastlink Centre
Halifax Mooseheads Halifax, Nova Scotia Scotiabank Centre
Moncton Wildcats Moncton, New Brunswick Avenir Centre
Saint John Sea Dogs Saint John, New Brunswick TD Station

Other websites