U
    9vfX                     @   s<   d Z ddlZddddgZdd Zdd Zd	d Zd
d ZdS )z
Famous social networks.
    Nkarate_club_graphdavis_southern_women_graphflorentine_families_graphles_miserables_graphc            
      C   s   t td} dddddddd	d
ddddddddh}t }||  d|_d}t|dD ]D\}}dd | D }t|D ] \}}|dkr~|j|||d q~q\|D ]}	|	|krdnd|j	|	 d< q|S )a  Returns Zachary's Karate Club graph.

    Each node in the returned graph has a node attribute 'club' that
    indicates the name of the club to which the member represented by that node
    belongs, either 'Mr. Hi' or 'Officer'. Each edge has a weight based on the
    number of contexts in which that edge's incident node members interacted.

    Examples
    --------
    To get the name of the club to which a node belongs::

        >>> G = nx.karate_club_graph()
        >>> G.nodes[5]["club"]
        'Mr. Hi'
        >>> G.nodes[9]["club"]
        'Officer'

    References
    ----------
    .. [1] Zachary, Wayne W.
       "An Information Flow Model for Conflict and Fission in Small Groups."
       *Journal of Anthropological Research*, 33, 452--473, (1977).
    "   r                           
                        zZachary's Karate Cluba	  0 4 5 3 3 3 3 2 2 0 2 3 2 3 0 0 0 2 0 2 0 2 0 0 0 0 0 0 0 0 0 2 0 0
4 0 6 3 0 0 0 4 0 0 0 0 0 5 0 0 0 1 0 2 0 2 0 0 0 0 0 0 0 0 2 0 0 0
5 6 0 3 0 0 0 4 5 1 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 3 0
3 3 3 0 0 0 0 3 0 0 0 0 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 0 0 0 0 0 2 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 0 0 0 0 0 5 0 0 0 3 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 0 0 0 2 5 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 4 4 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 4 3
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2
2 0 0 0 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 5 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 2
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 4
0 0 0 0 0 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2
2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 1
2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 4 0 2 0 0 5 4
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 3 0 0 0 2 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 2 0 0 0 0 0 0 7 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 2
0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 3 0 0 0 0 0 0 0 0 4
0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 4 0 0 0 0 0 3 2
0 2 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3
2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 7 0 0 2 0 0 0 4 4
0 0 2 0 0 0 0 0 3 0 0 0 0 0 3 3 0 0 1 0 3 0 2 5 0 0 0 0 0 4 3 4 0 5
0 0 0 0 0 0 0 0 4 2 0 0 0 3 2 4 0 0 2 1 1 0 3 4 0 0 2 4 2 2 3 4 5 0
c                 S   s   g | ]}t |qS  )int).0br   r   >/tmp/pip-unpacked-wheel-_lngutwb/networkx/generators/social.py
<listcomp>T   s     z%karate_club_graph.<locals>.<listcomp>ZweightzMr. HiZOfficerZclub)
setrangenxGraphadd_nodes_fromname	enumeratesplitadd_edgeZnodes)
Zall_membersZclub1GZ
zacharydatrowlineZthisrowcolentryvr   r   r   r      s    &
$c               [   C   s@  t  } ddddddddd	d
ddddddddg}| j|dd dddddddddddd d!d"g}| j|d#d | d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|gY || jd}< || jd~< | S )zReturns Davis Southern women social network.

    This is a bipartite graph.

    References
    ----------
    .. [1] A. Davis, Gardner, B. B., Gardner, M. R., 1941. Deep South.
        University of Chicago Press, Chicago, IL.
    Evelyn JeffersonLaura MandevilleTheresa AndersonBrenda RogersCharlotte McDowdFrances AndersonEleanor NyePearl OglethorpeRuth DeSandVerne SandersonMyra LiddelKatherina RogersSylvia AvondaleNora FayetteHelen LloydDorothy MurchisonOlivia CarletonFlora Pricer   )Z	bipartiteE1E2E3E4E5E6E7E8E9E10E11E12E13E14r   )r.   r@   )r.   rA   )r.   rB   )r.   rC   )r.   rD   )r.   rE   )r.   rG   )r.   rH   )r/   r@   )r/   rA   )r/   rB   )r/   rD   )r/   rE   )r/   rF   )r/   rG   )r0   rA   )r0   rB   )r0   rC   )r0   rD   )r0   rE   )r0   rF   )r0   rG   )r0   rH   )r1   r@   )r1   rB   )r1   rC   )r1   rD   )r1   rE   )r1   rF   )r1   rG   )r2   rB   )r2   rC   )r2   rD   )r2   rF   )r3   rB   )r3   rD   )r3   rE   )r3   rG   )r4   rD   )r4   rE   )r4   rF   )r4   rG   )r5   rE   )r5   rG   )r5   rH   )r6   rD   )r6   rF   )r6   rG   )r6   rH   )r7   rF   )r7   rG   )r7   rH   )r7   rK   )r8   rG   )r8   rH   )r8   rI   )r8   rK   )r9   rG   )r9   rH   )r9   rI   )r9   rK   )r9   rL   )r9   rM   )r:   rF   )r:   rG   )r:   rH   )r:   rI   )r:   rK   )r:   rL   )r:   rM   )r;   rE   )r;   rF   )r;   rH   )r;   rI   )r;   rJ   )r;   rK   )r;   rL   )r;   rM   )r<   rF   )r<   rG   )r<   rI   )r<   rJ   )r<   rK   )r=   rG   )r=   rH   )r>   rH   )r>   rJ   )r?   rH   )r?   rJ   topZbottom)r!   r"   r#   Zadd_edges_fromgraph)r(   Zwomeneventsr   r   r   r   _   s   
]

c                  C   s   t  } | dd | dd | dd | dd | dd | dd | dd | dd	 | dd
 | d
d | dd | dd | dd | dd | dd | dd | d	d | d	d | dd | dd | S )a  Returns Florentine families graph.

    References
    ----------
    .. [1] Ronald L. Breiger and Philippa E. Pattison
       Cumulated social roles: The duality of persons and their algebras,1
       Social Networks, Volume 8, Issue 3, September 1986, Pages 215-256
    Z
AcciaiuoliZMediciZ
CastellaniZPeruzziZStrozziZ	BarbadoriZRidolfiZ
TornabuoniZAlbizziZSalviatiZPazziZBischeriZGuadagniZGinoriZLamberteschir!   r"   r'   r(   r   r   r   r      s,    	c                  C   s  t  } | jdddd | jdddd | jdddd | jddd	d | jd
ddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jdddd | jd ddd | jd ddd | jd ddd | jd ddd | jd ddd | jd ddd | jd!ddd | jd!ddd | jd!ddd | jd!ddd | jd!ddd | jd!ddd | jd!d dd | jd!ddd | jd!dd"d | jd#d!dd | jd#dd$d | jd%d#d&d | jd%d!dd | jd%dd'd | jd(d#dd | jd(dd)d | jd(ddd | jd(d%dd | jd*dd+d | jd*d!dd | jd*d%dd | jd*d#dd | jd*d(dd | jd,ddd | jd,d*dd | jd-d!dd | jd-d*dd | jd-ddd | jd.d!dd | jd/d.dd | jd/ddd | jd/d!dd | jd/d*dd | jd0ddd | jd1ddd | jd1d*dd | jd2ddd | jd2d-dd | jd3ddd | jd3d2dd | jd3d-dd | jd4d2dd | jd4d3dd | jd4ddd | jd4d-dd | jd5d2dd | jd5d3dd | jd5d4dd | jd5ddd | jd5d-dd | jd6d2dd | jd6d3dd | jd6d4dd | jd6d5dd | jd6ddd | jd6d-dd | jd7d%dd | jd8d%dd | jd9d#dd | jd9d%dd | jd:d9dd | jd:d%dd | jd:d#dd | jd;ddd | jd;d(dd | jd;d*dd | jd<d,dd | jd<ddd | jd=d,dd | jd>d?dd | jd@d>dd | jd@d%dd | jd@d*dd | jd@ddd | jdAd(dd | jdAddd | jdBdAdd | jdBd#dd | jdCdAd"d | jdCd(dd | jdCddd | jdDdCdd | jdDd7dd | jdEdCdd | jdFdCdd | jdFdAdd | jdFd(dd | jdGdCd	d | jdGdAd'd | jdGd7dd | jdGdFdd | jdGd(dHd | jdGddId | jdGddd | jdGd%dd | jdGd9dd | jdGd@dd | jdJdAdd | jdJdGdd | jdKdGdd | jdKd9dd | jdKd@dd | jdLdGd$d | jdLd@d$d | jdLd*d	d | jdLdKdd | jdLddd | jdMdLdNd | jdMdGdd | jdMd@d	d | jdMdKdd | jdOd@dd | jdOdLdd | jdOdMdd | jdPd@dd | jdPdLd	d | jdPdOdd | jdPdMdd | jdPdKdd | jdPdGdd | jdQdGd"d | jdQdLd+d | jdQdMd&d | jdQd@d$d | jdQdKdd | jdQd9dd | jdQdPd	d | jdQdOdd | jdRdMdd | jdRd@dd | jdRdQd	d | jdRdKdd | jdRdLdd | jdRdPdd | jdRdOdd | jdRdGdd | jdSdGdd | jdSdQd'd | jdSd@dd | jdSdRdd | jdSdLdd | jdSdPd	d | jdSdOdd | jdSdMd"d | jdSdKdd | jdSddd | jdTdRdd | jdTdSd$d | jdTd@dd | jdTdQdd | jdTdLdd | jdTdPdd | jdTdOdd | jdTdMdd | jdTdKdd | jdTdGdd | jdUdSdd | jdUdLdd | jdUdMdd | jdUdQdd | jdUdTdd | jdUd@dd | jdUdRdd | jdUdPdd | jdUdOdd | jdVdKdd | jdWd%dd | jdWddd | jdWd#dd | jdWd*dd | jdWd@dd | jdWd9dd | jdXd%d	d | jdXdWd	d | jdXddd | jdXd#dd | jdXd*dd | jdXd@dd | jdXd9dd | jdYd%dd | jdYdXdd | jdYdWdd | jdYddd | jdYd#dd | jdYd*dd | jdYd9dd | jdYdLdd | jdZd*dd | jdZdXdd | jdZdWdd | jdZdYdd | jdZddd | jdZd@dd | jdZd9dd | jdZd%dd | jd[d(dd | jd[d*dd | jd[ddd | jd\d@dd | jd]d@dd | jd]d\dd | jd^dXdd | jd^dWdd | jd^d%dd | jd^d@dd | jd^d9dd | jd^dYdd | jd^dZdd | jd_dSdd | jd_dTdd | jd_dUdd | jd_dRdd | jd_dQdd | jd_d@dd | jd_dLdd | S )`zReturns coappearance network of characters in the novel Les Miserables.

    References
    ----------
    .. [1] D. E. Knuth, 1993.
       The Stanford GraphBase: a platform for combinatorial computing,
       pp. 74-87. New York: AcM Press.
    ZNapoleonZMyrielr   r   ZMlleBaptistiner   ZMmeMagloirer   r   ZCountessDeLoZGeborandZChamptercierZCravatteZCountr   ZOldManZValjeanZLabarrer	   r   Z
MargueriteZMmeDeRZIsabeauZGervaisZ	ListolierZ	Tholomyesr
   ZFameuilZBlachevilleZ	FavouriteZDahliaZZephineZFantine	   ZMmeThenardierr   Z
Thenardierr   r   ZCosette   ZJavertr   ZFaucheleventZ
BamataboisZPerpetueZSimpliceZScaufflaireZWoman1ZJudgeZChampmathieuZBrevetZ
ChenildieuZCochepailleZ	PontmercyZBoulatruelleZEponineZAnzelmaZWoman2ZMotherInnocentZGribierZ	MmeBurgonZ	JondretteZGavrocheZGillenormandZMagnonZMlleGillenormandZMmePontmercyZMlleVauboisZLtGillenormandZMariusr   r   Z	BaronessTZMabeufZEnjolrasZ
Combeferre   Z	ProuvaireZFeuillyZ
CourfeyracZBahorelZBossuetZJolyZ	GrantaireZMotherPlutarchZ	GueulemerZBabetZ
ClaquesousZMontparnasseZ	ToussaintZChild1ZChild2ZBrujonZMmeHuchelouprQ   rR   r   r   r   r     s    	)__doc__Znetworkxr!   __all__r   r   r   r   r   r   r   r   <module>   s   Q !