Skip to content

Instantly share code, notes, and snippets.

@micahstubbs micahstubbs/.block
Last active Apr 17, 2019

Embed
What would you like to do?
Foreign players connected to Chinese Super League teams V2
license: mit
height: 720
Country Player Star_Player Year Club_Name_1 Club_Name_2
Argentina José Luis Díaz 2004 Tianjin Teda
Argentina Javier Martin Musa 2006 Beijing Guoan
Argentina Roberto Demus 2006 Wuhan Guanggu
Argentina Matías Marchesini 2008 Shanghai Shenhua
Argentina César La Paglia 2008 Wuhan Guanggu
Argentina Hernán Barcos 2009 Shanghai Shenhua
Argentina Hernán Barcos 2009 Shenzhen FC
Argentina Hernán Barcos 2015 Tianjin Teda
Argentina Sebastián Setti 2010 Changchun Yatai
Argentina Matías Villavicencio 2010 Shanghai Shenhua
Argentina Luciano Olguín 2010–2011 Tianjin Teda
Argentina Luis Salmerón 2011 Shanghai Shenhua
Argentina Facundo Pérez Castro 2011 Shanghai Shenhua
Argentina Marcos Flores 2011–2012 Henan Jianye
Argentina Darío Conca 2011–2013 Guangzhou Evergrande
Argentina Darío Conca 2015–2016 Shanghai SIPG
Argentina Gustavo Rodas 2012 Guizhou HFZC
Argentina Pablo Brandán 2012–2013 Liaoning Whowin
Argentina Leonardo Pisculichi 2012–2013 Shandong Luneng
Argentina Rolando Schiavi 2013 Shanghai Shenhua
Argentina Patricio Toranzo 2013 Shanghai Shenhua
Argentina Pablo Nicolás Caballero 2013 Qingdao Jonoon
Argentina Walter Montillo 2014–2016 Shandong Luneng
Argentina Pablo Batalla 2014–2015 Beijing Guoan
Argentina Walter Iglesias 2014 Changchun Yatai
Argentina Lucas Viatri 2014 Shanghai Shenhua
Argentina Esteban Solari 2014 Dalian Yifang
Argentina Emanuel Gigliotti 2015–2016 Chongqing Lifan
Argentina Ezequiel Lavezzi Star 2016–2019 Hebei China Fortune
Argentina Carlos Tevez Star 2017 Shanghai Shenhua
Argentina Javier Mascherano Star 2018-2019 Hebei China Fortune
Argentina Augusto Fernández 2018–2019 Beijing Renhe
Argentina Nicolás Aguirre 2018 Chongqing Lifan
Argentina Nicolás Gaitán 2018 Dalian Yifang
Australia Ryan Griffiths 2007–2008 Liaoning Whowin
Australia Ryan Griffiths 2009–2010 Beijing Guoan
Australia Joel Griffiths 2009–2011 Beijing Guoan
Australia Joel Griffiths 2012 Shanghai Shenhua
Australia Joel Griffiths 2013 Qingdao Jonoon
Australia Matt McKay 2009 Changchun Yatai
Australia Matt McKay 2013 Changchun Yatai
Australia Mark Milligan 2009 Shanghai Shenhua
Australia Mark Bridge 2009 Tianjin Teda
Australia Jonas Salley 2009–2010 Shaanxi Chanba
Australia Jonas Salley 2011 Chengdu Blades
Australia Jonas Salley 2012 Shanghai Shenxin
Australia Jonas Salley 2013–2014 Guizhou HFZC
Australia Brendon Šantalab 2009 Chengdu Blades
Australia Brendon Šantalab 2011 Chengdu Blades
Australia Chris Coyne 2010 Liaoning Whowin
Australia Adam Griffiths 2010–2011 Hangzhou Greentown
Australia Adam Kwasnik 2011 Chengdu Blades
Australia Alex Wilkinson 2011 Jiangsu Suning
Australia Bruce Djite 2011 Jiangsu Suning
Australia Dean Heffernan 2011 Liaoning Whowin
Australia Dino Djulbic 2011–2012 Guizhou HFZC
Australia Mile Sterjovski 2012 Dalian Yifang
Australia Rostyn Griffiths 2012–2013 Guangzhou RF
Australia Milan Susak 2012 Tianjin Teda
Australia Daniel Mullen 2012–2013 Dalian Yifang
Australia Ryan McGowan 2013–2014 Shandong Luneng
Australia Ryan McGowan 2016 Henan Jianye
Australia Ryan McGowan 2017 Guizhou HFZC
Australia Michael Marrone 2013 Shanghai Shenxin
Australia Erik Paartalu 2013 Tianjin Teda
Australia Bernie Ibini-Isei 2013 Shanghai SIPG
Australia Daniel McBreen 2013–2014 Shanghai SIPG
Australia Eddy Bosnar 2013 Guangzhou RF
Australia Adam Hughes 2014 Harbin Yiteng
Australia Billy Celeski 2014 Liaoning Whowin
Australia Josh Mitchell 2014–2015 Liaoning Whowin
Australia Tim Cahill 2015 Shanghai Shenhua
Australia Tim Cahill 2016 Hangzhou Greentown
Australia Adrian Leijer 2015 Chongqing Lifan
Australia Matthew Spiranovic 2015–2016 Hangzhou Greentown
Australia Michael Thwaite 2016 Liaoning Whowin
Australia Trent Sainsbury 2016-2017 Jiangsu Suning
Australia James Troisi 2016 Liaoning Whowin
Australia Aleksandar Jovanović 2016 Tianjin Teda
Australia Apostolos Giannou 2016–2017 Guangzhou RF
Australia Dario Vidošić 2016 Liaoning Whowin
Australia James Holland 2017 Liaoning Whowin
Australia Robbie Kruse 2017 Liaoning Whowin
Belgium Kevin Oris 2014 Liaoning Whowin
Belgium Axel Witsel 2017–2018 Tianjin Tianhai
Belgium Yannick Carrasco Star 2018–2019 Dalian Yifang
Belgium Mousa Dembélé 2019 Guangzhou RF
Belgium Marouane Fellaini 2019 Shandong Luneng
Brazil Ivo 2015–2016 Henan Jianye
Brazil Tiago Honorio 2007–2008 Beijing Guoan
Brazil Aderaldo Ferreira André 2007 Beijing Guoan
Brazil Alysson Marendaz Marins 2007 Beijing Guoan
Brazil Valdo 2010 Beijing Guoan
Brazil Davi 2011 Beijing Guoan
Brazil Roberto Calmon Félix 2011 Beijing Guoan
Brazil Reinaldo 2012 Beijing Guoan
Brazil André Lima 2013 Beijing Guoan
Brazil Ivo 2017 Beijing Renhe
Brazil Kléber 2015–2016 Beijing Guoan
Brazil Ralf 2016–2017 Beijing Guoan
Brazil Renato Augusto Star 2016–2019 Beijing Guoan
Brazil Nei 2010–2011 Changchun Yatai
Brazil Dori 2011 Changchun Yatai
Brazil Cássio 2012 Changchun Yatai
Brazil Weldon 2012 Changchun Yatai
Brazil Rafael Coelho 2014 Changchun Yatai
Brazil Bruno Meneghel 2016–2017 Changchun Yatai
Brazil Éder Baiano 2013 Changchun Yatai
Brazil Zé Carlos 2013 Changchun Yatai
Brazil Isac 2013 Changchun Yatai
Brazil Eninho 2013–2014 Changchun Yatai
Brazil Marinho 2017–2018 Changchun Yatai
Brazil Sandro Cardoso dos Santos 2007–2008 Changsha Ginde
Brazil Sandro Cardoso dos Santos 2010 Changsha Ginde
Brazil Tales Rejane Cabeceira 2008 Changsha Ginde
Brazil Jefferson Feijão 2009 Changsha Ginde
Brazil Auricelio Neres Rodrigues 2008–2009 Chengdu Blades
Brazil Denílson Souza 2008 Chengdu Blades
Brazil Agnaldo Novaes dos Santos 2009 Chengdu Blades
Brazil Hugo Henrique 2004 Chongqing Lifan
Brazil José Filho Duarte 2009–2010 Chongqing Lifan
Brazil Aílton Gonçalves da Silva 2009 Chongqing Lifan
Brazil Hyuri 2017 Chongqing Lifan
Brazil Guto 2015 Chongqing Lifan
Brazil Jajá 2015 Chongqing Lifan
Brazil Jael Ferreira 2015–2016 Chongqing Lifan
Brazil Fernandinho Henrique 2015–2019 Chongqing Lifan
Brazil Alan Kardec 2016–2019 Chongqing Lifan
Brazil Luiz Fernandinho 2018–2019 Chongqing Lifan
Brazil Sebá 2018 Chongqing Lifan
Brazil Adilson dos Santos 2004–2005 Dalian Shide
Brazil Márcio Senna 2010 Dalian Shide
Brazil Adriano 2011–2012 Dalian Shide
Brazil Fábio Rochemback 2012–2013 Dalian Yifang
Brazil Bruno Meneghel 2014 Dalian Yifang
Brazil Diego de Lima Barcelos 2008–2009 Guangzhou Evergrande
Brazil José Filho Duarte 2008 Guangzhou Evergrande
Brazil Diogo de Lima Barcelos 2009 Guangzhou Evergrande
Brazil Muriqui 2011–2014 Guangzhou Evergrande
Brazil Muriqui 2017 Guangzhou Evergrande
Brazil Cléo 2011–2012 Guangzhou Evergrande
Brazil Paulão 2011–2012 Guangzhou Evergrande
Brazil Renato Cajá 2011 Guangzhou Evergrande
Brazil Davi Rodrigues de Jesus 2012–2014 Guangzhou RF
Brazil Jumar José da Costa Júnior 2012–2013 Guangzhou RF
Brazil Leonardo Gonçalves Silva 2012 Guangzhou RF
Brazil Rafael Coelho 2012–2013 Guangzhou RF
Brazil Elkeson 2013–2015 Guangzhou Evergrande
Brazil Renê Júnior 2014–2015 Guangzhou Evergrande
Brazil Junior Urso 2017–2018 Guangzhou RF
Brazil Ricardo Goulart 2015–2018 Guangzhou Evergrande
Brazil Alan Carvalho 2015–2018 Guangzhou Evergrande
Brazil Paulinho Star 2015–2019 Guangzhou Evergrande
Brazil Renatinho 2015–2018 Guangzhou RF
Brazil Robinho 2015 Guangzhou Evergrande
Brazil Bruninho 2016 Guangzhou RF
Brazil Talisca 2018–2019 Guangzhou Evergrande
Brazil Hyuri 2014–2015 Guizhou HFZC
Brazil Ricardo Santos 2015 Guizhou HFZC
Brazil André Francisco Williams Rocha da Silva 2009 Hangzhou Greentown
Brazil Fabrício 2012 Hangzhou Greentown
Brazil Renatinho 2012 Hangzhou Greentown
Brazil Mazola 2012–2013 Hangzhou Greentown
Brazil Gilberto Macena 2014 Hangzhou Greentown
Brazil Anselmo Ramon 2014–2016 Hangzhou Greentown
Brazil Denílson Gabionetta 2016 Hangzhou Greentown
Brazil Dori 2014 Harbin Yiteng
Brazil Rodrigo Paixão Mesquita 2014 Harbin Yiteng
Brazil Aloísio 2016–2017 Hebei China Fortune
Brazil Hernanes 2017-2018 Hebei China Fortune
Brazil Marcão 2019 Hebei China Fortune
Brazil Gílsinho 2008 Henan Jianye
Brazil Douglas Roberto dos Santos 2008 Henan Jianye
Brazil Netto 2009–2012 Henan Jianye
Brazil Fabão 2011 Henan Jianye
Brazil Thiago Potiguar 2011 Henan Jianye
Brazil Rômulo 2011 Henan Jianye
Brazil Adaílton 2012 Henan Jianye
Brazil Rafael Marques Mariano 2014 Henan Jianye
Brazil Ivo 2018 Henan Jianye
Brazil Fernando Karanga 2018–2019 Henan Jianye
Brazil Henrique Dourado 2019 Henan Jianye
Brazil Zé Alcino 2004–2005 Inter Shanghai
Brazil Éber Luís Cucchi 2010 Jiangsu Suning
Brazil Carlos Mario Ceballos Agualimpia 2009 Jiangsu Suning
Brazil Eleílson Farias de Moura 2009–2015 Jiangsu Suning
Brazil Geninho 2009–2010 Jiangsu Suning
Brazil Rodolfo Kumbrevicius Andorno de Oliveira 2009 Jiangsu Suning
Brazil Pedro Henrique Martins 2010 Jiangsu Suning
Brazil Elias 2014 Jiangsu Suning
Brazil Ramires Star 2016–2019 Jiangsu Suning
Brazil Alex Teixeira 2016–2019 Jiangsu Suning
Brazil 2016 Jiangsu Suning
Brazil Valdo 2011 Liaoning Whowin
Brazil Jefferson Feijão 2008 Liaoning Whowin
Brazil José Roberto Lucini 2008 Liaoning Whowin
Brazil Andrezinho 2010 Liaoning Whowin
Brazil Felipe de Oliveira Conceição 2010 Liaoning Whowin
Brazil Gilcimar 2010 Liaoning Whowin
Brazil Edu 2013 Liaoning Whowin
Brazil Paulo Henrique 2015 Liaoning Whowin
Brazil Beto 2010 Nanchang Hengyuan
Brazil Francisco Alex Moraes 2010 Nanchang Hengyuan
Brazil Alexsandro da Silva 2010 Nanchang Hengyuan
Brazil di Carmo 2011 Nanchang Hengyuan
Brazil Camilo 2011 Nanchang Hengyuan
Brazil Paulo Roberto 2011 Nanchang Hengyuan
Brazil Fabiano Cezar Viegas 2006 Qingdao Jonoon
Brazil Éber Luís Cucchi 2011 Qingdao Jonoon
Brazil Léo San 2011–2012 Qingdao Jonoon
Brazil Bruno Meneghel 2012–2013 Qingdao Jonoon
Brazil Gustavo 2013 Qingdao Jonoon
Brazil Vicente de Paula Neto 2008–2009 Shaanxi Chanba
Brazil Ronny Carlos da Silva 2007–2009 Shaanxi Chanba
Brazil Rafael Scheidt 2007–2008 Shaanxi Chanba
Brazil Sergio Júnior 2007 Shaanxi Chanba
Brazil Estevao Alvarenga Toniato 2009 Shaanxi Chanba
Brazil Célio Ferreira dos Santos 2010 Shaanxi Chanba
Brazil Wilson 2011 Shaanxi Chanba
Brazil Sandro Cardoso dos Santos 2009 Shandong Luneng
Brazil Luciano Ratinho 2008 Shandong Luneng
Brazil Carlos Santos 2010 Shandong Luneng
Brazil Renato Silva 2011 Shandong Luneng
Brazil Obina 2011–2012 Shandong Luneng
Brazil Fabiano 2011–2012 Shandong Luneng
Brazil Gilberto Macena 2012–2013 Shandong Luneng
Brazil Vágner Love 2013–2014 Shandong Luneng
Brazil Aloísio 2014–2016 Shandong Luneng
Brazil Junior Urso 2014–2015 Shandong Luneng
Brazil Diego Tardelli 2015–2018 Shandong Luneng
Brazil Jucilei 2015–2016 Shandong Luneng
Brazil Gil 2016–2019 Shandong Luneng
Brazil Róger Guedes 2018–2019 Shandong Luneng
Brazil Vicente de Paula Neto 2010 Shanghai Shenhua
Brazil Tiago Honorio 2006 Shanghai United
Brazil Aderaldo Ferreira André 2006 Shanghai United
Brazil Aderaldo Ferreira André 2010 Shanghai Shenhua
Brazil Jonas Ciciliato Massaranduba 2006 Shanghai United
Brazil Renato Ribas 2006 Shanghai United
Brazil Johnny Osório 2010–2015 Shanghai Shenxin
Brazil Davi Rodrigues de Jesus 2015 Shanghai SIPG
Brazil Moisés 2012 Shanghai Shenhua
Brazil Anselmo 2012 Shanghai Shenxin
Brazil Antônio Flávio 2012–2013 Shanghai Shenxin
Brazil Jaílton Paraíba 2012–2014 Shanghai Shenxin
Brazil Elkeson 2016–2019 Shanghai SIPG
Brazil Kieza 2013–2014 Shanghai Shenxin
Brazil Paulo André 2014 Shanghai Shenhua
Brazil Paulo Henrique 2014–2015 Shanghai Shenhua
Brazil Everton 2014–2015 Shanghai Shenxin
Brazil Zé Eduardo 2015 Shanghai Shenxin
Brazil Hulk Star 2016–2019 Shanghai SIPG
Brazil Oscar Star 2017–2019 Shanghai SIPG
Brazil José Ilson dos Santos 2006 Shenyang Ginde
Brazil Alex Alves 2006 Shenyang Ginde
Brazil Ozeias Fernando Graciano 2004 Shenzhen FC
Brazil Tiago Honorio 2010 Shenzhen FC
Brazil Milson Ferreira dos Santos 2007 Shenzhen FC
Brazil Edson Ferreira da Silva 2008 Shenzhen FC
Brazil Felipe Arruda Menegon 2008 Shenzhen FC
Brazil Adonis Soares Pavani 2009 Shenzhen FC
Brazil Renan Augustinho Marques 2009 Shenzhen FC
Brazil Rodrigo Defendi 2015 Shijiazhuang Ever Bright
Brazil Diego Maurício 2016 Shijiazhuang Ever Bright
Brazil Matheus 2016 Shijiazhuang Ever Bright
Brazil Aurélio 2006 Tianjin Teda
Brazil Taila de Souza Charles 2007 Tianjin Teda
Brazil Márcio Santos 2007 Tianjin Teda
Brazil Jonhes Elias Pinto Dos Santos 2008 Tianjin Teda
Brazil Éber Luís Cucchi 2008–2009 Tianjin Teda
Brazil Éder Lima 2013–2014 Tianjin Teda
Brazil Dinélson 2013 Tianjin Teda
Brazil Andrezinho 2013–2015 Tianjin Teda
Brazil Baré 2013–2014 Tianjin Teda
Brazil Alan Carvalho 2019 Tianjin Tianhai
Brazil Lucas Fonseca 2015 Tianjin Teda
Brazil Wágner 2015–2016 Tianjin Teda
Brazil Renatinho 2019 Tianjin Tianhai
Brazil Geuvânio 2017 Tianjin Tianhai
Brazil Alexandre Pato Star 2017–2018 Tianjin Tianhai
Brazil Júnior Moraes 2017 Tianjin Tianhai
Brazil Johnathan 2018–2019 Tianjin Teda
Brazil Vicente de Paula Neto 2005 Wuhan Guanggu
Brazil Vicente de Paula Neto 2007 Wuhan Guanggu
Brazil Gílsinho 2005–2007 Wuhan Guanggu
Brazil Anderson Martins Pedro 2005 Wuhan Guanggu
Brazil Rafael Pereira Pinto 2005 Wuhan Guanggu
Brazil Rafael Jaques 2006 Wuhan Guanggu
Brazil Carlos Eduardo 2006 Wuhan Guanggu
Brazil Bruno Lança Andrade 2007 Wuhan Guanggu
Brazil Roberto Aleixo 2007 Wuhan Guanggu
Brazil Danilo Moreira Serrano 2008 Wuhan Guanggu
Brazil Gustavo Saibt Martins 2008 Wuhan Guanggu
Brazil Emerson Roberto Conceicao Aleixo 2008 Wuhan Guanggu
Brazil Santos 2013 Wuhan Zall
Brazil Rafael Silva 2019 Wuhan Zall
Brazil Léo Baptistão 2019 Wuhan Zall
Brazil Vicente de Paula Neto 2006 Xi'an Chanba
Brazil Argélico Fucks 2007 Zhejiang Greentown
Brazil Eduardo Marques 2007 Zhejiang Greentown
Brazil Wagner da Silva Santos 2007 Zhejiang Greentown
Brazil Marcelo Rosa da Silva 2007 Zhejiang Greentown
Brazil Alex Chandre de Oliveira 2007 Zhejiang Greentown
Brazil Valdo 2008–2009 Zhejiang Greentown
Colombia Hamilton Ricard 2007–2008 Shanghai Shenhua
Colombia Ricardo Steer 2009–2010 Changchun Yatai
Colombia Ricardo Steer 2014 Harbin Yiteng
Colombia Carlos Ceballos 2009 Jiangsu Suning
Colombia Leiner Gomez Viafara 2009 Jiangsu Suning
Colombia Duvier Riascos 2010–2011 Shanghai Shenhua
Colombia Duvier Riascos 2018 Dalian Yifang
Colombia Juan Camilo Angulo 2011 Shanghai Shenhua
Colombia Yovanny Arrechea 2011 Changchun Yatai
Colombia Javier Andres Estupinan Romero 2011 Chengdu Blades
Colombia Eisner Iván Loboa 2011 Shanghai Shenhua
Colombia John Mosquera 2012 Changchun Yatai
Colombia Edixon Perea 2012 Changchun Yatai
Colombia Giovanni Moreno 2012–2019 Shanghai Shenhua
Colombia Luis Carlos Cabezas 2013 Shanghai SIPG
Colombia Carmelo Valencia 2013–2014 Tianjin Teda
Colombia Luis Carlos Ruiz 2014 Shanghai Shenhua
Colombia Edison Toloza 2014 Jiangsu Suning
Colombia Wilmar Jordán 2015 Tianjin Teda
Colombia Fredy Guarín 2016–2019 Shanghai Shenhua
Colombia Jackson Martínez 2016 Guangzhou Evergrande
Colombia Fredy Montero 2016 Tianjin Teda
Colombia Roger Martínez 2016–2017 Jiangsu Suning
Colombia Harold Preciado 2019 Shenzhen FC
Costa Rica Erick Scott 2008 Shanghai Shenhua
Costa Rica Johnny Woodly Lambert 2009 Chongqing Lifan
Costa Rica Johnny Woodly Lambert 2010 Changchun Yatai
Costa Rica Johnny Woodly Lambert 2010 Chongqing Lifan
Costa Rica Rodolfo Rodríguez 2010 Tianjin Teda
Costa Rica Porfirio López Meza 2010 Dalian Shide
Costa Rica José Luis López 2010 Dalian Shide
Costa Rica Michael Barrantes 2015 Shanghai Shenxin
Croatia Josip Bulat 2004 Qingdao Jonoon
Croatia Ivan Bulat 2004 Chongqing Lifan
Croatia Ivan Bulat 2005–2007 Inter Shanghai
Croatia Velibor Kopunović 2006 Chongqing Lifan
Croatia Velibor Kopunović 2006 Qingdao Jonoon
Croatia Darko Čordaš 2006 Chongqing Lifan
Croatia Jurica Vučko 2007 Tianjin Teda
Croatia Darko Matić 2007–2008 Tianjin Teda
Croatia Darko Matić 2009–2015 Beijing Guoan
Croatia Darko Matić 2016 Changchun Yatai
Croatia Igor Budiša 2007 Qingdao Jonoon
Croatia Igor Tkalčević 2008 Chengdu Blades
Croatia Vedran Celiščak 2008 Dalian Shide
Croatia Stjepan Jukić 2010 Qingdao Jonoon
Croatia Frane Čačić 2010 Changsha Ginde
Croatia Bruno Šiklić 2010 Chongqing Lifan
Croatia Ivan Brečević 2010 Shaanxi Chanba
Croatia Krunoslav Lovrek 2012 Qingdao Jonoon
Croatia Leon Benko 2014 Dalian Yifang
Croatia Sammir 2015–2016 Jiangsu Suning
Croatia Sammir 2016 Hangzhou Greentown
Croatia Goran Milović 2016–2017 Chongqing Lifan
Croatia Mislav Oršić 2016 Changchun Yatai
Croatia Nikica Jelavić 2017–2018 Guizhou HFZC
Denmark Ken Ilsø 2014 Guangzhou RF
Denmark Lasse Vibe 2018 Changchun Yatai
Egypt Mohamed Abougrisha 2008 Zhejiang Greentown
Egypt Ahmed Salah Hosny 2008 Zhejiang Greentown
Egypt Ali Ghazal 2017 Guizhou HFZC
England Akpo Sodje 2012 Tianjin Teda
England Tyias Browning 2019 Guangzhou Evergrande
France Nicolas Ouédec 2004 Shandong Luneng
France Jean-Philippe Caillet 2009 Tianjin Teda
France Cédric Sabin 2010 Shaanxi Chanba
France Michaël Murcy 2010 Shandong Luneng
France Nicolas Anelka 2012 Shanghai Shenhua
France Mathieu Manset 2012 Shanghai Shenhua
France Guillaume Hoarau 2013 Dalian Yifang
France Julien Gorius 2016 Changchun Yatai
France Jean-Philippe Mendy 2016 Shijiazhuang Ever Bright
France Anthony Modeste 2017–2018 Tianjin Tianhai
Germany Jörg Albertz 2004 Shanghai Shenhua
Germany Carsten Jancker 2006 Shanghai Shenhua
Germany Mike Hanke 2014 Guizhou HFZC
Germany Felix Bastians 2018–2019 Tianjin Teda
Germany Sandro Wagner 2019 Tianjin Teda
Iceland Viðar Kjartansson 2015 Jiangsu Suning
Iceland Sölvi Ottesen 2015 Jiangsu Suning
Iceland Sölvi Ottesen 2017 Guangzhou RF
Iceland Eiður Guðjohnsen 2015 Shijiazhuang Ever Bright
Iran Morteza Pouraliganji 2015 Tianjin Teda
Japan Takashi Rakuyama 2011 Shenzhen FC
Japan Seiichiro Maki 2011 Shenzhen FC
Japan Masashi Oguro 2013 Hangzhou Greentown
Japan Sergio Escudero 2015 Jiangsu Suning
Morocco Nabil Baha 2013 Dalian Yifang
Morocco Abderrazak Hamdallah 2014–2015 Guangzhou RF
Morocco Issam El Adoua 2015 Chongqing Lifan
Morocco Ayoub El Kaabi 2018–2019 Hebei China Fortune
Nigeria Admas Kola 2004–2005 Inter Shanghai
Nigeria Samuel Ayorinde 2004 Shenyang Ginde
Nigeria Prince Ikpe Ekong 2004 Shenyang Ginde
Nigeria Benedict Akwuegbu 2006 Tianjin Teda
Nigeria Benedict Akwuegbu 2007 Qingdao Jonoon
Nigeria Henry Makinwa 2006 Tianjin Teda
Nigeria Gabriel Melkam 2006–2007 Xiamen Lanshi
Nigeria Gabriel Melkam 2008–2009 Changchun Yatai
Nigeria Gabriel Melkam 2011–2013 Qingdao Jonoon
Nigeria Deniran Ortega 2006 Chongqing Lifan
Nigeria Garba Lawal 2007 Changsha Ginde
Nigeria Obi Moneke 2008–2010 Henan Jianye
Nigeria Edison Joseph 2009 Shaanxi Chanba
Nigeria Pascal Kondaponi 2009 Qingdao Jonoon
Nigeria Ernest Jeremiah Chukwuma 2009 Hangzhou Greentown
Nigeria Alfred Emuejeraye 2010 Tianjin Teda
Nigeria Akanni-Sunday Wasiu 2010 Changsha Ginde
Nigeria Victor Agali 2010 Jiangsu Suning
Nigeria Obiora Odita 2011 Tianjin Teda
Nigeria Peter Utaka 2012–2013 Dalian Yifang
Nigeria Peter Utaka 2013–2014 Beijing Guoan
Nigeria Peter Utaka 2014 Shanghai Shenxin
Nigeria Yakubu 2012–2013 Guangzhou RF
Nigeria Bentley 2013 Wuhan Zall
Nigeria Aaron Samuel Olanare 2014–2015 Guangzhou RF
Nigeria Derick Ogbu 2014–2015 Liaoning Whowin
Nigeria Daniel Chima 2015 Shanghai Shenxin
Nigeria Obafemi Martins 2016–2018 Shanghai Shenhua
Nigeria Anthony Ujah 2016–2017 Liaoning Whowin
Nigeria John Obi Mikel Star 2017–2018 Tianjin Teda
Nigeria Odion Ighalo 2017–2018 Changchun Yatai
Nigeria Odion Ighalo 2019 Shanghai Shenhua
Nigeria Brown Ideye 2017 Tianjin Teda
Nigeria Sone Aluko 2019 Beijing Renhe
Peru Aldo Olcese 2005 Shenyang Ginde
Peru Ismael Enrique Alvarado 2008–2009 Guangzhou Evergrande
Peru Paolo de la Haza 2011 Jiangsu Suning
Poland Marek Zając 2004–2008 Shenzhen FC
Poland Bogdan Zając 2006–2007 Shenzhen FC
Poland Emmanuel Olisadebe 2008–2010 Henan Jianye
Poland Krzysztof Mączyński 2014–2015 Guizhou HFZC
Poland Mateusz Zachara 2015 Henan Jianye
Poland Adrian Mierzejewski 2018 Changchun Yatai
Poland Adrian Mierzejewski 2019 Chongqing Lifan
Portugal Joaquim Ferraz 2004 Qingdao Jonoon
Portugal Hugo Carreira 2009 Qingdao Jonoon
Portugal Manú 2012 Beijing Guoan
Portugal Ricardo Esteves 2012 Dalian Shide
Portugal Rúben Micael 2015–2016 Shijiazhuang Ever Bright
Portugal Ricardo Carvalho 2017 Shanghai SIPG
Portugal Ricardo Vaz Tê 2017–2018 Henan Jianye
Portugal José Fonte 2018 Dalian Yifang
Portugal Orlando Sá 2018 Henan Jianye
Senegal Mouchid Iyane Ly 2009 Shenzhen FC
Senegal Amado Diallo 2010 Henan Jianye
Senegal Adama François Sene 2011–2012 Beijing Guoan
Senegal Ladji Keita 2011 Beijing Guoan
Senegal Jacques Faty 2013 Wuhan Zall
Senegal Demba Ba 2015–2016 Shanghai Shenhua
Senegal Demba Ba 2018 Shanghai Shenhua
Senegal Ibrahima Touré 2016 Liaoning Whowin
Senegal Mbaye Diagne 2016–2017 Tianjin Teda
Senegal Papiss Cissé 2016–2018 Shandong Luneng
Senegal Makhete Diop 2018–2019 Beijing Renhe
Senegal Cheikh M'Bengue 2019 Shenzhen FC
Serbia Miodrag Pantelić 2004 Sichuan Guancheng
Serbia Miodrag Pantelić 2005–2006 Dalian Shide
Serbia Miodrag Pantelić 2007 Beijing Guoan
Serbia Branko Jelić 2004–2005 Beijing Guoan
Serbia Branko Jelić 2006–2007 Xiamen Lanshi
Serbia Vladimir Matijašević 2004 Shandong Luneng
Serbia Darko Anić 2004 Shandong Luneng
Serbia Branko Savić 2004 Liaoning Whowin
Serbia Branimir Petrović 2005 Shandong Luneng
Serbia Marko Zorić 2005–2006 Tianjin Teda
Serbia Marko Zorić 2009 Shenzhen FC
Serbia Marko Zorić 2010–2011 Tianjin Teda
Serbia Aleksandar Živković 2006–2009 Shandong Luneng
Serbia Aleksandar Živković 2010 Shenzhen FC
Serbia Ivan Jovanović 2006 Shanghai Shenhua
Serbia Despot Visković 2006 Qingdao Jonoon
Serbia Saša Zimonjić 2006 Xiamen Lanshi
Serbia Pavle Delibašić 2006 Chongqing Lifan
Serbia Saša Zorić 2007 Changsha Ginde
Serbia Saša Zorić 2007 Xiamen Lanshi
Serbia Nikola Malbaša 2007 Shandong Luneng
Serbia Branko Baković 2007 Shandong Luneng
Serbia Miodrag Anđelković 2007 Dalian Shide
Serbia Darko Drinić 2007 Dalian Shide
Serbia Vidak Bratić 2007 Tianjin Teda
Serbia Miljan Mrdaković 2008–2009 Shandong Luneng
Serbia Miljan Mrdaković 2012 Jiangsu Suning
Serbia Dragan Stančić 2008–2009 Qingdao Jonoon
Serbia Marko Sočanac 2008–2009 Qingdao Jonoon
Serbia Milan Nikolić 2008 Changsha Ginde
Serbia Dragan Vukmir 2008 Dalian Shide
Serbia Miloš Bajalica 2010 Henan Jianye
Serbia Miloš Bajalica 2010–2011 Shaanxi Chanba
Serbia Goran Gavrančić 2010 Henan Jianye
Serbia Siniša Radanović 2010 Shandong Luneng
Serbia Borko Veselinović 2010 Dalian Shide
Serbia Ivan Vukomanović 2010 Qingdao Jonoon
Serbia Dušan Đokić 2010 Chongqing Lifan
Serbia Miloš Mihajlov 2010 Changchun Yatai
Serbia Radomir Koković 2011 Changchun Yatai
Serbia Vladimir Bogdanović 2011 Liaoning Whowin
Serbia Aleksandar Jevtić 2011–2013 Jiangsu Suning
Serbia Aleksandar Jevtić 2014 Liaoning Whowin
Serbia Andrija Kaluđerović 2012 Beijing Guoan
Serbia Marko Ljubinković 2012 Changchun Yatai
Serbia Miloš Trifunović 2012–2013 Liaoning Whowin
Serbia Vladimir Jovančić 2012-2013 Tianjin Teda
Serbia Novak Martinović 2013 Wuhan Zall
Serbia Miloš Stojanović 2013 Wuhan Zall
Serbia Miloš Bosančić 2015 Hangzhou Greentown
Serbia Nikola Petković 2016–2017 Yanbian Funde
Serbia Ognjen Ožegović 2016 Changchun Yatai
Serbia Nemanja Gudelj 2017 Tianjin Teda
Serbia Nemanja Gudelj 2018 Guangzhou Evergrande
Serbia Marko Perović 2018 Guangzhou RF
Serbia Duško Tošić 2018–2019 Guangzhou RF
Serbia Nemanja Pejčinović 2018 Changchun Yatai
South Korea Lee Kyung-Soo 2004 Sichuan Guancheng
South Korea Song Tae-Lim 2009–2010 Henan Jianye
South Korea Jeon Woo-Keun 2009 Dalian Shide
South Korea Ahn Jung-Hwan 2009–2011 Dalian Shide
South Korea Lee Tae-Young 2009 Qingdao Jonoon
South Korea Sim Jae-Won 2009 Changsha Ginde
South Korea Kim Eun-Jung 2009 Changsha Ginde
South Korea Lee Sang-Il 2009 Changsha Ginde
South Korea Lee Se-In 2010 Changchun Yatai
South Korea Park Jae-hong 2010 Jiangsu Suning
South Korea Lee Jon-Ming 2010 Qingdao Jonoon
South Korea Woo Choo-Young 2010 Changsha Ginde
South Korea Cho Se-Kwon 2010 Chongqing Lifan
South Korea Lee Yoon-Sup 2010 Qingdao Jonoon
South Korea Jeon Kwang-Jin 2011 Dalian Shide
South Korea Kim Jin-Kyu 2011 Dalian Shide
South Korea Cho Won-Hee 2011–2012 Guangzhou Evergrande
South Korea Cho Won-Hee 2013 Wuhan Zall
South Korea Lee Joon-Yeop 2011 Henan Jianye
South Korea Kim Yoo-Jin 2011–2012 Liaoning Whowin
South Korea Kim Yoo-Jin 2015 Liaoning Whowin
South Korea Ko Jae-Sung 2011 Nanchang Hengyuan
South Korea Kwon Jip 2011 Tianjin Teda
South Korea Song Chong-Gug 2011 Tianjin Teda
South Korea Park Dong-Hyuk 2012 Dalian Shide
South Korea Jeong Dong-Ho 2012 Hangzhou Greentown
South Korea Kim Dong-Jin 2012–2013 Hangzhou Greentown
South Korea Son Seung-Joon 2012 Henan Jianye
South Korea Kim Young-Gwon 2012–2018 Guangzhou Evergrande
South Korea Ha Dae-Sung 2014–2015 Beijing Guoan
South Korea Jang Hyun-Soo 2014–2017 Guangzhou RF
South Korea Park Jong-Woo 2014–2015 Guangzhou RF
South Korea Son Dae-Ho 2014 Hangzhou Greentown
South Korea Lee Ji-Nam 2014 Henan Jianye
South Korea Yoon Sin-Young 2014 Jiangsu Suning
South Korea Cho Byung-Kuk 2014 Shanghai Shenhua
South Korea Lim You-Hwan 2014–2015 Shanghai Shenxin
South Korea Noh Hyung-Goo 2014 Harbin Yiteng
South Korea Choi Hyun-Yeon 2014 Harbin Yiteng
South Korea Park Ju-Sung 2015 Guizhou HFZC
South Korea Kim Ju-Young 2015–2016 Shanghai SIPG
South Korea Kim Ju-Young 2017 Hebei China Fortune
South Korea Cho Yong-Hyung 2015–2016 Shijiazhuang Ever Bright
South Korea Jung In-Whan 2015 Henan Jianye
South Korea Ha Tae-Goon 2016 Yanbian Funde
South Korea Yoon Bit-Garam 2016–2017 Yanbian Funde
South Korea Kim Seung-Dae 2016–2017 Yanbian Funde
South Korea Oh Beom-Seok 2016 Hangzhou Greentown
South Korea Jung Woo-Young 2016–2017 Chongqing Lifan
South Korea Kim Kee-Hee 2016–2017 Shanghai Shenhua
South Korea Hong Jeong-Ho 2016–2017 Jiangsu Suning
South Korea Kim Hyung-il 2017 Guangzhou Evergrande
South Korea Kwon Kyung-Won 2017– Tianjin Tianhai
South Korea Hwang Seok-Ho 2017 Tianjin Teda
South Korea Hwang Il-Su 2017 Yanbian Funde
South Korea Kim Min-jae 2019– Beijing Guoan
South Korea Park Ji-soo 2019– Guangzhou Evergrande
Spain Nano 2012–2013 Guizhou HFZC
Spain Rafa Jordà 2012–2013 Guizhou HFZC
Spain Rubén Suárez 2012 Guizhou HFZC
Spain Ibán Cuadrado 2013–2014 Shanghai East Asia
Spain Miguel Alfonso Herrero 2015 Guangzhou RF
Spain Jonathan Soriano 2017–2018 Beijing Guoan
Spain Mario Suárez 2017–2018 Guizhou HFZC
Spain Rubén Castro 2017 Guizhou HFZC
Spain Jonathan Viera 2018–2019 Beijing Guoan
Spain Juan Cala 2018 Henan Jianye
Sweden Daniel Nannskog 2004 Sichuan Guancheng
Sweden Tobias Hysén 2014–2015 Shanghai SIPG
Sweden Niklas Backman 2014 Dalian Yifang
Sweden Imad Khalili 2014 Shanghai SIPG
Sweden Magnus Eriksson 2015 Guizhou HFZC
Sweden Gustav Svensson 2016 Guangzhou RF
Sweden Osman Sow 2016 Henan Jianye
Switzerland Oumar Kondé 2009 Chengdu Blades
Tunisia Imed Ben Younes 2007 Henan Jianye
Tunisia Enis Hajri 2012 Henan Jianye
Tunisia Bassem Boulaabi 2015 Hangzhou Greentown
Tunisia Imed Louati 2015 Hangzhou Greentown
Uruguay Peter Vera 2004 Shanghai Shenhua
Uruguay Fernando Correa 2007 Shanghai Shenhua
Uruguay Diego Alonso 2007 Shanghai Shenhua
Uruguay Sergio Blanco 2007 Shanghai Shenhua
Uruguay Juan Manuel Olivera 2007 Shaanxi Chanba
Uruguay Pablo Munhoz 2008 Wuhan Guanggu
Uruguay Edgar Martínez 2009 Chongqing Lifan
Uruguay Matías Masiero 2011 Hangzhou Greentown
Uruguay Paulo Pezzolano 2011 Hangzhou Greentown
Uruguay Sebastián Vázquez 2011 Hangzhou Greentown
Uruguay Jonathan Ramis 2011 Nanchang Hengyuan
Uruguay Diego Vera 2011 Nanchang Hengyuan
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<script src="https://d3js.org/d3.v4.min.js"></script>
<style>
body { margin:0;position:fixed;top:0;right:0;bottom:0;left:0; }
</style>
</head>
<body>
<script>
d3.csv("csl_foreign_players.csv", function(csv) {
var player, circle, path, text
var radius = 320
var margin = {top: 20, right: 20, bottom: 20, left: 20}
var width = 1000 - margin.left - margin.right
var height = 700 - margin.top - margin.bottom
var svg = d3.select("body").append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
var data = csv.map(function(d) {
return {
country: d.Country,
player: d.Player,
star: d.Star_Player,
club: d.Club_Name_1 + " " + d.Club_Name_2
}
})
//var countries = ['Germany', 'Brazil', 'Belgium', 'Portugal', 'Argentina', 'Switzerland','France', 'Poland', 'Spain', 'Peru', 'Denmark', 'England', 'Uruguay', 'Colombia', 'Croatia', 'Tunisia', 'Iceland', 'Costa Rica', 'Sweden', 'Senegal', 'Serbia', 'Australia', 'Iran', 'Morocco', 'Egypt', 'Nigeria', 'South Korea', 'Japan']
var countries = ['Germany', 'Brazil', 'Belgium', 'Portugal', 'England', 'Poland','France', 'Argentina', 'Spain', 'Peru', 'South Korea', 'Switzerland', 'Uruguay', 'Colombia', 'Croatia', 'Costa Rica', 'Nigeria', 'Iceland', 'Sweden', 'Serbia', 'Senegal', 'Iran', 'Australia', 'Morocco', 'Egypt', 'Tunisia', 'Denmark', 'Japan']
var country_stats = d3.nest()
.key(function(d) { return d.country }).sortKeys(function(a,b) { return countries.indexOf(a) - countries.indexOf(b); })
.entries(data);
var countryNodes = []
country_stats.map(function(d,i) {
var radian = (2 * Math.PI) / countries.length * i - (Math.PI / 2);
countryNodes.push({
id: d.key,
size: 6,
fill: 'none', // standardize empty black circle for each team
stroke: 'black',
type: 'country',
fx: radius * Math.cos(radian) + (width / 2),
fy: radius * Math.sin(radian) + (height / 2)
})
})
var team_stats = d3.nest()
.key(function(d) { return d.club })
.key(function(d) { return d.country })
.rollup(function(leaves) { return leaves.length })
.entries(data)
var countryNodes_nested = d3.nest()
.key(function(d) { return d.id })
.entries(countryNodes)
var teamNodes = []
var links = []
team_stats.map(function(d,i) {
var node = {
id: d.key,
size: d.values.length*2,
fill: '#F4B95F', // standardize empty black circle for each team
stroke: '#F4B95F',
type: 'team',
x: width/2,
y: height/2
}
teamNodes.push(node)
})
var team_stats1 = d3.nest()
.key(function(d) { return d.country })
.entries(data)
var linkStrengths = []
team_stats1.map(function(d,i) {
linkStrengths.push(d.values.length)
})
var strengthScale = d3.scaleLinear()
.domain([d3.min(linkStrengths), d3.max(linkStrengths)])
.range([0, 1])
var playerNodes = []
var playerLinks = []
team_stats1.map(function(d,i) {
var radian = (2 * Math.PI) / countries.length * i - (Math.PI / 2);
d.values.map(x => {
var node = {
text: x.player,
id: x.player.replace(/[^A-Z0-9]+/ig, "_") + "/" + x.club.replace(/[^A-Z0-9]+/ig, "_"),
size: 2,
fill: 'grey',
stroke: 'none',
type: 'player',
x: radius-50 * Math.cos(radian) + (width / 2),
y: radius-50 * Math.sin(radian) + (height / 2)
}
playerNodes.push(node)
links.push({
source: countryNodes_nested.find(n=>n.key == x.country).values[0],
target: node,
size: 0.5,
strength: 0.6,
stroke: 'grey',
type: 'country_player',
// remove spaces because they cannot be contained in class/id names
id: x.country.replace(/[^A-Z0-9]+/ig, "_") + "/" + x.player.replace(/[^A-Z0-9]+/ig, "_") + x.club.replace(/[^A-Z0-9]+/ig, "_")
})
links.push({
source: node,
target: teamNodes.find(n=>n.id == x.club),
size: 0.5,
strength: strengthScale(d.values.length),
stroke: '#F4B95F',
type: 'player_team',
id: x.player.replace(/[^A-Z0-9]+/ig, "_") + "/" + x.club.replace(/[^A-Z0-9]+/ig, "_")
})
})
})
var nodes = countryNodes.concat(teamNodes)
nodes = nodes.concat(playerNodes)
console.log(nodes)
enter()
// Initialize force simulation
var simulation = d3.forceSimulation()
.force("link", d3.forceLink()
.id(function(d) { return d.id; })
.strength(function(d) {return d.strength})
.distance(40)
)
.force("collide", d3.forceCollide().radius(function(d) { return d.size * 1.3 }))
//.force("collide", d3.forceCollide().radius(function(d) { return d.type == 'player' ? d.size * 1.8 : d.size * 1.3 }))
simulation
.nodes(nodes)
.on("tick", update)
simulation.force("link")
.links(links)
function enter() {
path = svg.selectAll('line')
.data(links).enter().append('line')
.attr('stroke-linecap', 'round')
circle = svg.selectAll('circle')
.data(nodes)
.enter().append('circle')
.attr('stroke-width', 2)
text_country = svg.selectAll('.text_country')
.data(nodes.filter(d=>d.type=='country'))
.enter().append('text')
.attr('class', 'text_country')
.attr('text-anchor', 'middle')
.attr('dy', '.35em')
.attr('fill', '#555')
.style('font-size', '12px')
.style('font-family', 'Helvetica')
.style('font-weight', 'bold')
.style('pointer-events', 'none')
text_team = svg.selectAll('text_team')
.data(nodes.filter(d=>(d.type=='team') & (d.size>10)))
.enter().append('text')
.attr('class', 'text_text')
.attr('text-anchor', 'middle')
.attr('dy', '.35em')
.attr('fill', '#555')
.style('font-size', '12px')
.style('font-family', 'Helvetica')
.style('font-weight', 'normal')
.style('pointer-events', 'none')
text_player = svg.selectAll('text_player')
.data(nodes.filter(d=>d.type=='player'))
.enter().append('text')
.attr('class', 'text_player')
.attr('text-anchor', 'middle')
.attr('dy', '.35em')
.attr('fill', '#555')
.style('font-size', '10px')
.style('font-family', 'Helvetica')
.style('font-weight', 'normal')
.style('pointer-events', 'none')
.style('opacity', 0)
text1 = text_team.append('tspan')
text2 = text_team.append('tspan')
}
function update() {
path.attr('stroke-width', function(d) {return d.size})
.attr('stroke', function(d) {return d.stroke})
.attr('fill', function(d) {return d.stroke})
.attr('x1', function(d) {return d.source.x})
.attr('y1', function(d) {return d.source.y})
.attr('x2', function(d) {return d.target.x})
.attr('y2', function(d) {return d.target.y})
.attr('class', function(d) {return d.type})
.attr('id', function(d) {return d.id})
circle.attr('r', function(d) {return d.size})
.attr('fill', function(d) {return d.fill || '#fff'})
.attr('stroke', function(d) {return d.stroke || 'none'})
.attr('cx', function(d) {return d.x})
.attr('cy', function(d) {return d.y})
.attr('class', function(d) {return d.type})
.attr('id', function(d) {return d.id})
text_country.attr('x', function(d) {return d.x})
.attr('y', function(d) {return d.y + 15})
.attr('id', function(d) {return d.id})
.text(function(d) {return d.id})
text1.attr('x', function(d) {return d.x})
.attr('y', function(d) {return d.y-8})
.attr('id', function(d) {return d.id.replace(/[^A-Z0-9]+/ig, "_")})
.text(function(d) {return d.id.split(' ')[0]})
text2.attr('x', function(d) {return d.x})
.attr('y', function(d) {return d.y+8})
.attr('id', function(d) {return d.id.replace(/[^A-Z0-9]+/ig, "_")})
.text(function(d) {return d.id.split(' ')[1]})
text_player.attr('x', function(d) {return d.x})
.attr('y', function(d) {return d.y})
.attr('id', function(d) {return d.id})
.text(function(d) {return d.text})
interactive()
}
function interactive() {
d3.selectAll('.team').on('mouseover', function (l) {
d3.selectAll(".country_player").style('opacity', 0) // make all country-player links invisible
d3.selectAll(".player_team").style('opacity', 0) // make all player-team links invisible
d3.selectAll('.team').style('opacity', 0) // make all team nodes invisible
d3.selectAll('.player').style('opacity', 0) // make all player nodes invisible
text1.style('opacity', 0) // make all team node labels invisible
text2.style('opacity', 0) // make all team node labels invisible
// only select links and nodes connected to specific team node hovered upon visible
d3.selectAll("line[id*='" + l.id.replace(/[^A-Z0-9]+/ig, "_") + "']")
.each(function(d,i) {
var player = d3.select(this).attr('id')
d3.selectAll("line[id*='" + player + "']")
.style('opacity', 1)
d3.selectAll("text[id*='" + player + "']")
.style('opacity', 1)
d3.selectAll("circle[id*='" + player + "']")
.style('opacity', 1)
})
// only select node labels for the specific team node hovered upon visible
d3.selectAll("#" + l.id.replace(/[^A-Z0-9]+/ig, "_")).style('opacity', 1)
d3.selectAll("circle[id*='" + l.id + "']").style('opacity', 1)
})
.on('mouseout', function (l) {
d3.selectAll(".country_player").style('opacity', 1)
d3.selectAll(".player_team").style('opacity', 1)
d3.selectAll('.team').style('opacity', 1)
d3.selectAll('.player').style('opacity', 1)
text1.style('opacity', 1)
text2.style('opacity', 1)
text_player.style('opacity', 0)
})
}
})
</script>
</body>
This file has been truncated, but you can view the full file.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.