Building up from the 2020 map, the 2016 legislative election:
In 2016, Park Geun-hye was still president but the legislative election removed her legislative majority despite the divisions of the opposition. That was an unexpected outcome, to say the least, especially for the incumbent, right-wing
Saenuri Party (Saenuri meaning '
new world'), the latest incarnation of the Grand National Party.
Indeed, the opposition Democratic Party was divided between rump
Democratic Party, led Kim Chong-in, and the
People's Party, led by Ahn Cheol-soo. The People's Party came about after Ahn Cheol-soo bolted from the party, taking with him a good chunk of the party's regional elites in the traditional heartland in Jeolla when Ahn's faction lost an internal power struggle to now-President Moon Jae-in. The PP was, it seems, to the right of the main DPK.
Then there was the
Justice Party, led by Sim Sang-jung, a left-wing political party founded in 2012 by defectors from the Unified Progressive Party that took in voters from the Unified Progressive Party after it was banned in 2016 for alleged pro-North Korean views, as well as left-wing DPK voters.
Another change, besides the disunity of the opposition, was the changes to the electoral system. The South Korean Constitutional Court mandated in 2014 that the seats be reapportioned due to the gross disparities of voters per district. Even so, compared to British or American standards, the new rules for these constituencies were lax, quoting Wikipedia, constituencies "must not differ from each other by more than 2:1, and that the number of constituents in any given constituency must not differ from the average number of constituents by more than one third". Redistricting especially benefitted the Seoul metropolitan area, which gained 10 seats.
The results were unexpected, as polling had suggested a Saenuri majority owing to the opposition's divisions and the dominating national security theme during the election. But, instead, the DPK and the PP did particularly well in the constituency vote. Indeed, the DPK emerged as the largest party by a single seat, with the People's Party becoming a central kingmaker in the National Assembly thanks to its 38 seats (above party expectations). President Park would become a lame-duck president until her impeachment and removal in 2017.
Numbers:
Democratic Party: 37.0% (FPTP) & 25.5% (PR), 123 seats (110 FPTP, 13 PR)
Saenuri Party: 38.3% (FPTP) & 33.5% (PR), 122 seats (105 FPTP, 17 PR)
People's Party: 14.9% (FPTP) & 26.7% (PR), 38 seats (25 FPTP, 13 PR)
Justice Party: 1.6% (FPTP) & 7.2% (PR), 6 seats (2 FPTP, 4 PR)
Independents: 7.0% (FPTP), 11 seats (all FPTP)
The Democratic Party carried most of Seoul's and Gyeonggi's seats as well as in various other urban areas outside Jeolla (where it was a consistent second) and the conservative heartland of south-east Korea. The People's Party's strength was located mostly in the two Jeollan regions as well as the city of Gwangju, all traditional left-wing strongholds. Saenuri did best in rural seats, its south-eastern heartland and in the affluent areas of Seoul and its suburbs. The majority of independents were de-selected Saenuri candidates who defeated the party-endorsed candidates. There was one uncontested seat in this election, Tongyeong-Goseong.
On a personal note, this map was more fun to make than 2020, especially the FPTP constituencies, as it is more varied and not an endless sea of monocolourism for much of the country.