Compare commits
696 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 01b9cc92fd | |||
| 7a650d918b | |||
| b6fa4bcda4 | |||
| 73af635be6 | |||
| c1c97a5fc1 | |||
| 6a97dc8825 | |||
| d832f34733 | |||
| 859a600b92 | |||
| 6b3cf50f38 | |||
| 3ccd1bc368 | |||
| 624d33b96f | |||
| 156f61f526 | |||
| fd3a04fce3 | |||
| 62be4e1274 | |||
| db096196c9 | |||
| a0ac70be3c | |||
| 1f0f89f83c | |||
| ee706ad8c7 | |||
| ce31ea8bf3 | |||
| dcab8e3ac2 | |||
| 1ad9a7e176 | |||
| f1bd7ab1dc | |||
| 79399913d7 | |||
| 4a2e88a81c | |||
| 8d5b748b09 | |||
| b2dba8af73 | |||
| c258bc49c3 | |||
| e3e2a354e7 | |||
| 32c1c31139 | |||
| b8b5a33833 | |||
| 5407fa73f8 | |||
| 1cb0c0071b | |||
| a456ac4c90 | |||
| 71b48427c5 | |||
| ec06a01b6c | |||
| e3ccc34a2c | |||
| 396721568f | |||
| e53ab85745 | |||
| 4d99b37def | |||
| 2e24da3dcd | |||
| 0cc1bd2dc6 | |||
| aec162c50e | |||
| d5e9340f8f | |||
| 6fe87c4c69 | |||
| 85f0a87213 | |||
| 853f85be2e | |||
| a7448e3a1d | |||
| 521e753183 | |||
| 9193941fd0 | |||
| f56c6effe4 | |||
| 4cfcb239c1 | |||
| a4be274718 | |||
| 120f861a27 | |||
| 7e56d85b83 | |||
| 20af495581 | |||
| bf94c48225 | |||
| 27a68333b1 | |||
| 63f18dd26a | |||
| 4ea787743e | |||
| 3a4b881576 | |||
| f087594331 | |||
| 5491e40fd1 | |||
| 4b690ec9ad | |||
| 9fecb03b5f | |||
| de6e3d46ec | |||
| 3006a26500 | |||
| 6ffed9387c | |||
| 558627e7a9 | |||
| 4b276f977c | |||
| 99fe4f615d | |||
| 928c306803 | |||
| a3eddf8ba7 | |||
| 78e0ae31af | |||
| 1a90ce0950 | |||
| 2465b3eb5a | |||
| 16a2e34e95 | |||
| 5c52d68091 | |||
| 1a2e180f4f | |||
| 9048053669 | |||
| 69b69714cb | |||
| 1ecd9f9e19 | |||
| 2bca9ca9ec | |||
| d66028ed0d | |||
| 1cf33044bc | |||
| 2c138c8355 | |||
| 73ffcb9bc1 | |||
| 730025e144 | |||
| 91aa1d718a | |||
| f881bfc4fc | |||
| e76c3fff69 | |||
| 9f168071ff | |||
| b6652b7619 | |||
| f6d501f69e | |||
| 4c052cb3b3 | |||
| ea8ccf38db | |||
| cf12ff8070 | |||
| b7a95244db | |||
| 4c884651a8 | |||
| e9eca577aa | |||
| cff78b477c | |||
| b232410d25 | |||
| 5ff338d4ac | |||
| a5ceea153d | |||
| f3544dc826 | |||
| b0bc68ae8a | |||
| c38e947dc6 | |||
| ec826fc8ce | |||
| e5c4f782a5 | |||
| a5ddebf44d | |||
| 38804898c5 | |||
| 2bd67f3519 | |||
| c8ed611c9c | |||
| 3d7d8caa82 | |||
| f64108523c | |||
| a7493504ed | |||
| bc5293b5a4 | |||
| c4bdc5b856 | |||
| b5b4023056 | |||
| 0e598cc51d | |||
| 9fd09924eb | |||
| 10d218089f | |||
| 1ba0d198a7 | |||
| c44132d29d | |||
| a018a2c07a | |||
| 266d2efde5 | |||
| 3b33b054d3 | |||
| 1140b51e91 | |||
| 9d25c8fcd4 | |||
| e8ade18d47 | |||
| ed243f4e3e | |||
| e0af4b7925 | |||
| 80e53adbd8 | |||
| 36a29357a3 | |||
| 5bb9aceaac | |||
| 02d893b316 | |||
| b1850e58f4 | |||
| f1e566dddc | |||
| 2f60da33b7 | |||
| b0456d155a | |||
| 5f57a48996 | |||
| bc9d137001 | |||
| 483946787a | |||
| b165f233a8 | |||
| 3b325b2482 | |||
| 2dd480a3a6 | |||
| df33ed40d6 | |||
| cf4d78c87c | |||
| 8007d0dd6a | |||
| d7098f77c2 | |||
| 514284e784 | |||
| 2a3029edb4 | |||
| 45a1ed69d4 | |||
| 7248d8d7ce | |||
| fa84401866 | |||
| 910b94c5fd | |||
| 40cbddab29 | |||
| 853cda4b80 | |||
| 91ec0ad077 | |||
| 4be2304ec1 | |||
| d0ee402939 | |||
| 2d095daddc | |||
| cf4fcf3351 | |||
| 42d57fb8c2 | |||
| ba13c1528f | |||
| 857fb3342a | |||
| 17189e3125 | |||
| d0209d945d | |||
| 1b6bfa1259 | |||
| 4ea813c983 | |||
| 71d2af07da | |||
| b36f8c701e | |||
| d64d3ef101 | |||
| 05fa4a92de | |||
| 990314cefc | |||
| 60d97ad9c9 | |||
| 6bfa31a89f | |||
| 8d8ac10429 | |||
| 56f398fb55 | |||
| cf5aed00e2 | |||
| de616dfdf0 | |||
| 3cf428d7ea | |||
| 29d93ba33e | |||
| 76c84c7615 | |||
| e129c29e2f | |||
| 52d325b446 | |||
| 74efd98699 | |||
| 28effaea36 | |||
| 6256549f44 | |||
| 2adec2fa7b | |||
| 32e816b713 | |||
| 6c7b113de5 | |||
| 1d5cce61ac | |||
| 85f91b9075 | |||
| aa64a0d3ce | |||
| e9d95a85b7 | |||
| 625c92a985 | |||
| 3cc9425219 | |||
| 0a86ccb142 | |||
| ce82e07dc9 | |||
| 048c60614c | |||
| 148fa6d151 | |||
| 088543176f | |||
| 536746d47e | |||
| c15cbad396 | |||
| d3baa58c7e | |||
| 7c885de6c7 | |||
| 010b8a382e | |||
| 314053af54 | |||
| 34a7f8a99c | |||
| 87031984d9 | |||
| 83687f96a5 | |||
| f33905ed80 | |||
| f91c4d586c | |||
| 77ec4adcad | |||
| b5a8186d99 | |||
| ed25e554e1 | |||
| a388ec71e3 | |||
| bde3c2e19d | |||
| d1d8d196ba | |||
| 7be5aebbc9 | |||
| d15fcb6b24 | |||
| b3ac38a6f1 | |||
| dae9dad2f7 | |||
| 603dc30bb1 | |||
| 71070da13e | |||
| 8fa1d4eb9b | |||
| 41f91f9cfb | |||
| 5699f3c6bc | |||
| 300babd6b1 | |||
| c1baca181c | |||
| 851fe9f72c | |||
| cf635cbdd9 | |||
| abbd8635dd | |||
| 2c2218bcb9 | |||
| bb6c06d3f7 | |||
| 90e22f179e | |||
| 0a00d1fbf3 | |||
| 6f0b8d1d7b | |||
| ef0d99340a | |||
| d4d388a94b | |||
| 7022ce7553 | |||
| 4a96122067 | |||
| 862ac3af8a | |||
| 333c2765fe | |||
| 89feb68b7c | |||
| 1b901673fc | |||
| fb60c244f6 | |||
| 3cea2df459 | |||
| 1cf514d1e6 | |||
| 65e18a8669 | |||
| 3e8f325ddc | |||
| 0d96c49f4a | |||
| bfc3fc1dec | |||
| 327f235af9 | |||
| df7fc0c4df | |||
| 33d9664df5 | |||
| 0d237028e7 | |||
| 80b9115393 | |||
| 606229a08f | |||
| 2ac17afe30 | |||
| 70f23e695b | |||
| 3084b0c41c | |||
| b75db9e473 | |||
| c89e9c5f73 | |||
| 61107b8577 | |||
| 35ff449dc3 | |||
| ae1f5b8b06 | |||
| c5bcae1e34 | |||
| e9ab6e7301 | |||
| a6ce2e691d | |||
| bfe04bdd15 | |||
| 2d0f9f01d5 | |||
| 87a967ad9c | |||
| 290b17a5f9 | |||
| 76572b990b | |||
| 54efb48d62 | |||
| 83bd780f2a | |||
| 2ba4ac6d20 | |||
| 98dc52f124 | |||
| fbb2f30f3f | |||
| 8ec3d18339 | |||
| 26779cbf4a | |||
| 4f429fb536 | |||
| 7e1706f700 | |||
| d491b29037 | |||
| cf9b60660d | |||
| a5e9ad9f19 | |||
| 6049a9fa0a | |||
| 5196ce5263 | |||
| 9231da4610 | |||
| 89f8030ba1 | |||
| 534f57b227 | |||
| 4d3ebf31d4 | |||
| d778c7922d | |||
| 5109c6f72b | |||
| 5005d32afd | |||
| 88be655dca | |||
| fe5789d747 | |||
| 00201b5f9c | |||
| 85f7acf9d5 | |||
| 44d1cdc2b2 | |||
| 90c2202f6e | |||
| d30574de24 | |||
| dec3748fe5 | |||
| e8cdff2310 | |||
| a0ca9d675f | |||
| baf410c712 | |||
| a81af2b449 | |||
| 678dde710b | |||
| 93a35d8fdc | |||
| 0878f44b09 | |||
| b89ae245ec | |||
| 536da01714 | |||
| a1b991aaeb | |||
| 7bee9a5829 | |||
| 17a90e3b00 | |||
| 43ba9b1172 | |||
| fdb01046e6 | |||
| 09421c9189 | |||
| c563204b0a | |||
| 33b3ee89f3 | |||
| 008b61c9f6 | |||
| 7546db4d42 | |||
| 925243969c | |||
| 7bce4a963e | |||
| 42d09a6d80 | |||
| b6334176e4 | |||
| 42a175bd53 | |||
| b4fb9af8e4 | |||
| ed6c9fe432 | |||
| 7e04aa438f | |||
| f1679f82c1 | |||
| 1808b81d59 | |||
| cd25c7acb2 | |||
| cf03779c5b | |||
| d3439f0d7e | |||
| 2df7f84939 | |||
| 74c76c48d5 | |||
| cdc0d22b01 | |||
| 5a520aadc0 | |||
| ec87489dd4 | |||
| e30affdfc2 | |||
| 66bd2559b9 | |||
| c8d6b1fab0 | |||
| 548c59719b | |||
| 59c1e24371 | |||
| 3c09921cbd | |||
| 00f3d450f9 | |||
| e676387c16 | |||
| 2e2e8a2230 | |||
| 8c8ede361e | |||
| 672bf05856 | |||
| 67ec31c75a | |||
| 59d13a7810 | |||
| 010a25f4cb | |||
| a0ac7b4a1e | |||
| ab7eb89466 | |||
| 649d362b85 | |||
| cb80860d6f | |||
| a8ef9e66fc | |||
| d27212e0b7 | |||
| 65650a7ae5 | |||
| 6ab5b8eb68 | |||
| c618e0577a | |||
| 0e84c91451 | |||
| 005ce11313 | |||
| db118d4f5a | |||
| c92b30a741 | |||
| d67aec6fec | |||
| ce58f25488 | |||
| e8d77a3c61 | |||
| d6d7fc1edd | |||
| 7ce7f8bfce | |||
| f0f46e5272 | |||
| f9473cc8bc | |||
| 5c7d31157b | |||
| 982a512ebd | |||
| 5dfd3d2f5d | |||
| 8d6974f67d | |||
| 8b569e3cd8 | |||
| b9d20142a2 | |||
| 6c9e818abd | |||
| d2a287d43c | |||
| d6ce2e364f | |||
| 36ca485a74 | |||
| b3230c5671 | |||
| ebf490838c | |||
| 7921cf18b6 | |||
| 0e0450ced5 | |||
| 096064ac09 | |||
| 77c2d7d846 | |||
| 40a121198d | |||
| 44079a7bf7 | |||
| 50fa013801 | |||
| d4ccf0ec62 | |||
| 04842974e7 | |||
| 6161b08f82 | |||
| b9818a4480 | |||
| e2ae22421b | |||
| b64677e14a | |||
| c910445634 | |||
| c4683a754e | |||
| 1da8fdb588 | |||
| 4bf8e342dc | |||
| 18fc50fcbf | |||
| 2fb10b7076 | |||
| 967291c2ef | |||
| 392ae871d5 | |||
| 27b3070480 | |||
| 325f59e03d | |||
| 217ffb36e6 | |||
| 4afad93ff6 | |||
| e8858cb1b7 | |||
| 52de31c9a6 | |||
| 60660a1f1a | |||
| a2ea9db90e | |||
| 236a7dadc6 | |||
| 82d2cc943d | |||
| d70f462899 | |||
| 0a636b5899 | |||
| e0b2749188 | |||
| 2fc973245d | |||
| 9bfcb64542 | |||
| 61e34b7ef8 | |||
| 3c3078875a | |||
| 5293e2c13d | |||
| fdf3b3f581 | |||
| f3f29fb54f | |||
| e8ed79a6bb | |||
| cca730d927 | |||
| 0693cb7840 | |||
| 3f1958cce1 | |||
| fb708bed90 | |||
| 1636587a82 | |||
| 1f1ccd81bb | |||
| 5efb0eb582 | |||
| be5f71c123 | |||
| a0df6bfc12 | |||
| 2ab0dc20d7 | |||
| 175ce3613a | |||
| eecb5c3754 | |||
| b34360901f | |||
| 21bbd21ae9 | |||
| 0b403a4c5d | |||
| 1d1e1beca5 | |||
| 3d4d844e72 | |||
| 1f9aa72bdb | |||
| c29f68e35d | |||
| c7c10e769d | |||
| 7264c01b85 | |||
| 97faa7413f | |||
| 7531c48e38 | |||
| 16799d8b75 | |||
| 901115ed10 | |||
| 596ca08446 | |||
| 4d864d8cad | |||
| c458a35670 | |||
| c203bfe5ad | |||
| 8b2a838388 | |||
| b08212e2f9 | |||
| b5f08838b3 | |||
| 5501605a1f | |||
| 7a5197df63 | |||
| 09d45aa64b | |||
| 552810359e | |||
| a68a6885d0 | |||
| b32589f7e7 | |||
| 2e6b8a067d | |||
| 581fdfdfe0 | |||
| 8e4ff39738 | |||
| f568803af2 | |||
| 6db06857ba | |||
| fd4dd13270 | |||
| ded9f332f6 | |||
| d09ca46141 | |||
| b28cd7f8bd | |||
| a4054aa500 | |||
| 3332bfcee1 | |||
| cc798a0c0a | |||
| fe2030b7e3 | |||
| ed1cce86ef | |||
| 9a544b0ff3 | |||
| 82f7b29836 | |||
| 076acfb242 | |||
| ed336bc0ff | |||
| 5699446d69 | |||
| a43d32949e | |||
| 02a1e648bc | |||
| 9d3e0651e2 | |||
| cdff5a9039 | |||
| ba0b5500ca | |||
| 1439a7e289 | |||
| 9761ede5c4 | |||
| e342805752 | |||
| d08672aa71 | |||
| a3d4e05b0e | |||
| 51eeed3d50 | |||
| 51c45456c3 | |||
| 074ba63bf5 | |||
| f3d552d8a0 | |||
| c5fb4a9228 | |||
| 55d7e910e4 | |||
| ea29af8d3d | |||
| 88b9d71bd7 | |||
| 165c84c246 | |||
| 347820867d | |||
| 26d0dfbf3d | |||
| 6aa4849266 | |||
| 335b3802b8 | |||
| 73bd3fa60c | |||
| 6b61c5900c | |||
| 9da4083096 | |||
| 86fe244d95 | |||
| 732f2846de | |||
| 4f238caf5c | |||
| c9388e9f56 | |||
| 2a9fa9539f | |||
| b8d136588c | |||
| 92c9e82dee | |||
| 0fdb48bda3 | |||
| e8d4fd7aac | |||
| 6a4a78a26a | |||
| 6c6769ca98 | |||
| 3e49af9093 | |||
| 5f8ecfa3fa | |||
| aca03d2609 | |||
| 5db9493d2b | |||
| ac3c041d6d | |||
| a319c0c94a | |||
| f74d619748 | |||
| eef1981f20 | |||
| ade9d86696 | |||
| 935c1cfeab | |||
| 5706770a11 | |||
| 2643417c0b | |||
| d388036601 | |||
| 96df75cc05 | |||
| c62d8d6753 | |||
| 1562c96d4c | |||
| 94c87d436f | |||
| b9c8ffb5cf | |||
| a37a23bcfc | |||
| 863ad22b48 | |||
| bce865ff9f | |||
| 1963fe208e | |||
| 5c4526725b | |||
| 3f42e9c5bd | |||
| b1c9d0a0af | |||
| adcbfb4b9e | |||
| b3ebccab36 | |||
| d5797054fb | |||
| aab0ec22b9 | |||
| f7babcc1d2 | |||
| d077307721 | |||
| 72e8e10bd6 | |||
| 5ea9e8a0d7 | |||
| 87b050fad2 | |||
| 0c8cd74e28 | |||
| 445d970784 | |||
| 125a1eb9fc | |||
| a2a578d04d | |||
| 11e5c0aa9d | |||
| 14b856b0cf | |||
| 2e8dd73822 | |||
| da9fdb356c | |||
| 054a99ca38 | |||
| baf33609af | |||
| b4eb0b6b41 | |||
| 3e9a47a683 | |||
| d71c3ecd86 | |||
| e5a864a760 | |||
| 81b59f9bc9 | |||
| 2c2a36ce34 | |||
| cb0020c629 | |||
| 003d39c8cd | |||
| ca866183f1 | |||
| b6e627369b | |||
| da96cfc158 | |||
| 0abbd53e07 | |||
| 6fc0f858c7 | |||
| b3613b68cd | |||
| 2b6619b3c4 | |||
| a33161aa9c | |||
| 5c3c5b999f | |||
| 7acca18313 | |||
| 7b71d9a448 | |||
| 64ffa3e70f | |||
| fd88972380 | |||
| dd7b09552a | |||
| 0b23aa9e7e | |||
| 0caa31bd6b | |||
| cafac135a0 | |||
| 6ac312bd49 | |||
| 489877d6bf | |||
| b0b2e695e1 | |||
| c3808c0c5b | |||
| c09545de64 | |||
| 7566b0159c | |||
| ed7cc9b89e | |||
| 55501e68fb | |||
| eabe670ae8 | |||
| 9fffef6f53 | |||
| 368429b757 | |||
| 49f774eb0d | |||
| 0487d7a058 | |||
| 5943e77563 | |||
| b10f0fb945 | |||
| c299891fb0 | |||
| fe0f22dfc0 | |||
| 002603c388 | |||
| 30ef8456c3 | |||
| bee1ce401a | |||
| e18c4a370a | |||
| 2a60a929f1 | |||
| 939295ab04 | |||
| f6a0ef6a61 | |||
| b3bce314e9 | |||
| e28b85d8b6 | |||
| a0af2fc997 | |||
| 7f7f5c6f12 | |||
| d21fbfc9be | |||
| 366dc1cca9 | |||
| e9e3913bb7 | |||
| 5491f6eff7 | |||
| 32e36ba324 | |||
| 9d4c456461 | |||
| cdc7920dff | |||
| cdb4901d91 | |||
| c7f3520ea8 | |||
| f0e728c316 | |||
| 4b1f127eaf | |||
| 1db2d8d8d8 | |||
| 87bb45d01b | |||
| 6beadcece8 | |||
| fc6f0f3a86 | |||
| ef7370f56d | |||
| 52ba7cdbff | |||
| b0c9dd44e9 | |||
| 92ec093ed9 | |||
| 6d2a1aafd2 | |||
| f3a7734584 | |||
| 9cf92f37f5 | |||
| 34831d42a4 | |||
| 607d5d7841 | |||
| 75adfd2e9d | |||
| e92b5b2d35 | |||
| a8c40a5493 | |||
| be5c3fb55c | |||
| e6e4a63022 | |||
| 1cdc8928ba | |||
| ad111a0163 | |||
| 7091a4899c | |||
| 3bd9e70fa9 | |||
| 54bd2c620e | |||
| 121640b1b3 | |||
| 55e388513c | |||
| b153dcbd63 | |||
| 242cbe5ecb | |||
| f1cca13796 | |||
| 918ba72107 | |||
| e596f27666 | |||
| a40d0000c5 | |||
| fb82da74a1 | |||
| b0991a0624 | |||
| 6236acea02 | |||
| 391c7e8570 | |||
| 58041cc64e | |||
| 8c7d3a6e92 | |||
| ae1982369c | |||
| 5f85ac01f7 | |||
| cca263fb2b | |||
| 809ed02b85 | |||
| 9eab1083ab | |||
| 60523bef80 | |||
| 46b959ff3c | |||
| 42c3827ded | |||
| 26e4b4efda | |||
| 2169ab3bb8 | |||
| 85dad8db88 | |||
| 8120c34064 | |||
| 1f1d1f70a1 | |||
| 373d868a17 | |||
| 834ba9bc61 | |||
| 3ffec5aed9 | |||
| ef20c1d684 | |||
| 697a59568c | |||
| e58fb935b0 | |||
| 044d23f8a5 | |||
| 1604d867c3 | |||
| 011db481c3 | |||
| c404cdc38a | |||
| 20689af7dd | |||
| 9ea0585d71 | |||
| 614c5f694b | |||
| fa36aae068 | |||
| 3e85232310 |
@@ -1 +0,0 @@
|
||||
*.gif filter=lfs diff=lfs merge=lfs -text
|
||||
@@ -4,3 +4,4 @@
|
||||
.DS_Store
|
||||
examples/.ipynb_checkpoints/*
|
||||
examples/meetup/.ipynb_checkpoints/*
|
||||
deps/plotly-latest.min.js
|
||||
|
||||
@@ -4,18 +4,57 @@ os:
|
||||
- linux
|
||||
- osx
|
||||
julia:
|
||||
- 0.3
|
||||
- 0.4
|
||||
#- nightly
|
||||
- release
|
||||
- nightly
|
||||
matrix:
|
||||
allow_failures:
|
||||
- julia: nightly
|
||||
|
||||
# # before install:
|
||||
# # - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
|
||||
# # - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install wkhtmltopdf; fi
|
||||
|
||||
# ref: http://askubuntu.com/a/556672 for the wkhtmltopdf apt repository info
|
||||
|
||||
sudo: required
|
||||
before_install:
|
||||
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then pwd ; fi
|
||||
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./test/install_wkhtmltoimage.sh ; fi
|
||||
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo add-apt-repository -y ppa:pov/wkhtmltopdf ; fi
|
||||
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get -qq update ; fi
|
||||
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install -y wkhtmltopdf ; fi
|
||||
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then wkhtmltopdf -V ; fi
|
||||
# - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then wkhtmltoimage -V ; fi
|
||||
# echo 'exec xvfb-run -a -s "-screen 0 640x480x16" wkhtmltopdf "$@"' | sudo tee /usr/local/bin/wkhtmltopdf.sh >/dev/null
|
||||
# sudo chmod a+x /usr/local/bin/wkhtmltopdf.sh
|
||||
|
||||
# # borrowed from Blink.jl's travis file
|
||||
# matrix:
|
||||
# include:
|
||||
# - os: linux
|
||||
# julia: 0.4
|
||||
# env: TESTCMD="xvfb-run julia"
|
||||
# - os: osx
|
||||
# julia: 0.4
|
||||
# env: TESTCMD="julia"
|
||||
|
||||
|
||||
|
||||
notifications:
|
||||
email: true
|
||||
# uncomment the following lines to override the default test script
|
||||
script:
|
||||
- if [[ -a .git/shallow ]]; then git fetch --unshallow; fi
|
||||
- julia -e 'Pkg.clone("https://github.com/tbreloff/Images.jl.git"); Pkg.checkout("Images","tom_imgcompare");'
|
||||
- julia -e 'Pkg.clone("ImageMagick"); Pkg.build("ImageMagick")'
|
||||
- julia -e 'Pkg.clone("Cairo"); Pkg.build("Cairo")'
|
||||
- julia -e 'ENV["PYTHON"] = ""; Pkg.clone("PyPlot"); Pkg.build("PyPlot")'
|
||||
- julia -e 'Pkg.clone(pwd()); Pkg.build("Plots")'
|
||||
- julia -e 'Pkg.test("Plots"; coverage=true)'
|
||||
# - julia -e 'cd(Pkg.dir("Plots")); Pkg.add("Coverage"); using Coverage; Coveralls.submit(process_folder()); Codecov.submit(process_folder())'
|
||||
- julia test/travis_commands.jl
|
||||
# - julia -e 'Pkg.clone("ImageMagick"); Pkg.build("ImageMagick")'
|
||||
# - julia -e 'Pkg.clone("GR"); Pkg.build("GR")'
|
||||
# # - julia -e 'Pkg.clone("https://github.com/tbreloff/ImageMagick.jl.git"); Pkg.checkout("ImageMagick","tb_write"); Pkg.build("ImageMagick")'
|
||||
# - julia -e 'Pkg.clone("https://github.com/tbreloff/ExamplePlots.jl.git");'
|
||||
# # - julia -e 'Pkg.clone("https://github.com/JunoLab/Blink.jl.git"); Pkg.build("Blink"); import Blink; Blink.AtomShell.install()'
|
||||
# # - julia -e 'Pkg.clone("https://github.com/spencerlyon2/PlotlyJS.jl.git")'
|
||||
# - julia -e 'ENV["PYTHON"] = ""; Pkg.add("PyPlot"); Pkg.build("PyPlot")'
|
||||
#
|
||||
# # - $TESTCMD -e 'Pkg.test("Plots"; coverage=false)'
|
||||
# - julia -e 'Pkg.test("Plots"; coverage=false)'
|
||||
# # - julia -e 'cd(Pkg.dir("Plots")); Pkg.add("Coverage"); using Coverage; Coveralls.submit(process_folder()); Codecov.submit(process_folder())'
|
||||
|
||||
@@ -0,0 +1,279 @@
|
||||
|
||||
# Plots.jl NEWS
|
||||
|
||||
#### notes on release changes, ongoing development, and future planned work
|
||||
|
||||
- All new development should target 0.7!
|
||||
|
||||
---
|
||||
|
||||
## 0.8 (current master/dev)
|
||||
|
||||
#### 0.8.0
|
||||
|
||||
- added dependency on PlotUtils
|
||||
- BREAKING: removed DataFrames support (now in StatPlots.jl)
|
||||
- BREAKING: removed boxplot/violin/density recipes (now in StatPlots.jl)
|
||||
- GR:
|
||||
- inline iterm2 support
|
||||
- trisurface support
|
||||
- heatmap fix
|
||||
- PyPlot:
|
||||
- ijulia display fix
|
||||
- GLVisualize:
|
||||
- first try with shapes
|
||||
- iter_segments improvements
|
||||
- bar_width support
|
||||
- horizontal bars
|
||||
- improve tick display
|
||||
- better shape handling in pyplot, plotly
|
||||
- improved padding calcs
|
||||
- internal reorg of _plots method, add pipeline.jl
|
||||
|
||||
---
|
||||
|
||||
## 0.7
|
||||
|
||||
#### 0.7.5
|
||||
|
||||
- GR: LaTeX support
|
||||
- Changed docs url to juliaplots.github.io
|
||||
- added `contourf` seriestype
|
||||
- allow `plt[1]` to return first Subplot
|
||||
- allow `sp[1]` to return the first Series of the Subplot
|
||||
- `series[k]` now passes through to `series.d[k]`
|
||||
- allow calling `plot!(sp, ...)` to update a target Subplot
|
||||
- PyPlot: zorder fix
|
||||
- new DataFrames logic/recipe: more flexible/robust and allow Symbols for:
|
||||
- `(:fillrange, :line_z, :marker_z, :markersize, :ribbon, :weights, :xerror, :yerror)`
|
||||
- new `display_type` and `extra_kwargs` plot attributes
|
||||
- surface fix
|
||||
|
||||
#### 0.7.4
|
||||
|
||||
- added snooped precompiles, but left commented out
|
||||
- GR fixes: markersize, shapes, legends
|
||||
- fixes to recipes
|
||||
- turned on Appveyor
|
||||
|
||||
#### 0.7.3
|
||||
|
||||
- rebuild violin and boxplot recipes
|
||||
- "plot recipes"
|
||||
- `cgrad` method for easy color gradient creation
|
||||
- improvements to inset subplots
|
||||
- Segments and iter_segments for NaN-separated vectors
|
||||
- `bar` recipe now creates a `shape` series
|
||||
- writemime fix for Interact.jl
|
||||
- `link = :square` option
|
||||
- !!! set `shape` attributes with line/fill, NOT marker/markerstroke !!!
|
||||
- basic DPI support
|
||||
- moved chorddiagram to PlotRecipes
|
||||
- GR:
|
||||
- use temp files for img output
|
||||
- basic support for marker strokes and other marker fixes
|
||||
- PyPlot:
|
||||
- Switch to recipes for bar, histogram, histogram2d
|
||||
- GLVisualize
|
||||
- subplots
|
||||
- path/scatter and path3d/scatter3d
|
||||
- initial drawing of axes
|
||||
- many smaller fixes and improvements
|
||||
|
||||
#### 0.7.2
|
||||
|
||||
- line_z arg for multicolored line segments
|
||||
- pyplot
|
||||
- line_z (2d and 3d)
|
||||
- pushed all fig updates into display pipeline
|
||||
- remove native sticks/hline/vline in favor of recipes
|
||||
- unicodeplots cleanup, ijulia fixes, ascii canvas
|
||||
- `curves` series type
|
||||
- `iter_segments` iterator
|
||||
- moved arcdiagram out and into PlotRecipes (thanks @diegozea)
|
||||
- several other fixes/checks
|
||||
|
||||
#### 0.7.1
|
||||
|
||||
- inset (floating) subplots
|
||||
- change: when setting subplot/axis args from user recipes, they should apply only to their own subplot
|
||||
- trim for violin/boxplot
|
||||
- scatter3d recipe
|
||||
- removed plotly.js in favor of build.jl download
|
||||
- improvements/fixes to pgfplots backend
|
||||
- improvements/fixes to plotly/plotlyjs backends
|
||||
- titles are annotations and properly placed with title_position
|
||||
- hover attribute
|
||||
- shapes (almost)
|
||||
- scattergl
|
||||
- minimum perimeter logic in layout calc... fixed misaligned subplots
|
||||
- new clims attribute
|
||||
- more options for test_examples
|
||||
- GR refactor
|
||||
- added transparency
|
||||
- moved axis/grid logic out of series loop
|
||||
- generalized 3d and polar projections
|
||||
- renamed get_mod to Base.cycle
|
||||
- pyplot log scale fixes
|
||||
- PLOTS_DEFAULTS environment var processing
|
||||
- rename :ellipse to :circle, :ellipse is now an alias
|
||||
- supported args/types cleanup
|
||||
- seriestype dependency methods and `@deps` macro
|
||||
- bbox `h_anchor`/`v_anchor`
|
||||
- new axis arg: `:link` is a list of subplots to link axes with
|
||||
- cleanup/simplification of glvisualize backend
|
||||
|
||||
|
||||
#### 0.7.0
|
||||
|
||||
- Check out [the summary](http://juliaplots.github.io/plots_v0.7/)
|
||||
- Revamped and simplified internals
|
||||
- [Recipes, recipes, recipes](https://github.com/JuliaPlots/RecipesBase.jl/issues/6)
|
||||
- [Layouts and Subplots](https://github.com/tbreloff/Plots.jl/issues/60)
|
||||
- DataFrames is loaded automatically when installed
|
||||
- Overhaul to GroupBy mechanic (now offloads to a recipe)
|
||||
- Replaced much of the argument processing with recipes
|
||||
- Added series recipes, and began to strip down un-needed backend code. Some recipes:
|
||||
- line, step, sticks, bar, histogram, histogram2d, boxplot, violin, quiver, errorbars, density, ohlc
|
||||
- Added `@shorthands` and `@userplot` macros for recipe convenience
|
||||
- Better handling of errorbars and ribbons
|
||||
- New Axis type
|
||||
- Tracks extrema and discrete values
|
||||
- New `link_axes` functionality
|
||||
- `linetype` has been renamed `seriestype` (the alias is reversed)
|
||||
- Many fixes and huge cleanup in GR
|
||||
- Brand new subplot layout mechanics:
|
||||
- `@layout` macro
|
||||
- AbstractLayout, Subplot, GridLayout, and everything related
|
||||
- Added dependency on Measures.jl
|
||||
- Computations of axis/guide sizes and precise positioning
|
||||
- Refactored and compartmentalized default dictionaries for attributes
|
||||
- Deprecated Gadfly and Immerse backends
|
||||
- Added `series_annotations` attribute (previously that functionality was merged with `annotations`, which are not series-specific)
|
||||
- Removed `axis` attribute... currently not supporting twin (right) y axes
|
||||
- Check for `ENV["PLOTS_USE_ATOM_PLOTPANE"]` and default to false
|
||||
- Improved backend interface to reduce redundant code. Template updated.
|
||||
- Added `html_output_format`, primarily for choosing between png and svg output in IJulia.
|
||||
- Partial support of Julia v0.5
|
||||
- Switched testing to dump reference images to JuliaPlots/PlotReferenceImages.jl
|
||||
- Moved docs-specific code to new JuliaPlots/PlotDocs.jl
|
||||
- Moved example list from ExamplePlots into Plots.
|
||||
- Added several examples and improved others.
|
||||
- Many other smaller changes and bug fixes.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Version 0.6
|
||||
|
||||
#### 0.6.2
|
||||
|
||||
- `linewidth` fixes
|
||||
- `markershape` fix
|
||||
- converted center calc to centroid for shapes
|
||||
- new dependency on [RecipesBase](https://github.com/JuliaPlots/RecipesBase.jl)
|
||||
- REQUIRE upper limit for RecipesBase: 0.0.1
|
||||
- GR fixes/improvements (@jheinen)
|
||||
- support `zlims`, `bins`
|
||||
- allow Plots colormaps
|
||||
- other bug fixes
|
||||
- native image support
|
||||
- PGFPlots fixes/improvements (@pkofod)
|
||||
- DataFrames are handled by recipes
|
||||
- Plotly: zaxis, tick rotation, 3d axis fix
|
||||
- Improvements in handling discrete data
|
||||
- Support for image display
|
||||
- `arrow` keyword and support for adding arrows to paths
|
||||
- changed quiver recipe to use arrows
|
||||
- Bug fixes for boxplots, heatmaps, and more
|
||||
|
||||
#### 0.6.1
|
||||
|
||||
- `rotation` keyword
|
||||
- improved supported graphs
|
||||
- subplot bug fix
|
||||
|
||||
#### 0.6.0
|
||||
|
||||
- `apply_series_recipe` framework for built-in recipes
|
||||
- [boxplot/violin recipes](https://github.com/tbreloff/ExamplePlots.jl/blob/master/notebooks/boxplot.ipynb)
|
||||
- [errorbar/ribbon recipes](https://github.com/tbreloff/ExamplePlots.jl/blob/master/notebooks/errorbars.ipynb)
|
||||
- [quiver recipe](https://github.com/tbreloff/ExamplePlots.jl/blob/master/notebooks/quiver.ipynb)
|
||||
- `polar` coordinates
|
||||
- better support for shapes and custom polygons (see [batman](https://github.com/tbreloff/ExamplePlots.jl/blob/master/notebooks/batman.ipynb))
|
||||
- z-axis keywords
|
||||
- 3D indexing overhaul: `push!`, `append!` support
|
||||
- matplotlib colormap constants (`:inferno` is the new default colormap for Plots)
|
||||
- `typealias KW Dict{Symbol,Any}` used in place of splatting in many places
|
||||
- png generation for plotly backend using wkhtmltoimage
|
||||
- `normalize` and `weights` keywords
|
||||
- background/foreground subcategories for fine-tuning of looks
|
||||
- `add_theme`/`set_theme` and ggplot2 theme (see [this issue](https://github.com/tbreloff/Plots.jl/issues/201))
|
||||
- `PLOTS_DEFAULT_BACKEND` environment variable
|
||||
- `barh` linetype
|
||||
- support for non-gridded surfaces with pyplot's trisurface
|
||||
- pyplot surface zcolor
|
||||
- internal refactor of supported.jl
|
||||
- `wrap` method to bypass input processing
|
||||
- `translate`, `scale` and `rotate` methods for coordinates and shapes
|
||||
- and many more minor fixes and improvements
|
||||
|
||||
---
|
||||
|
||||
## Version 0.5
|
||||
|
||||
#### 0.5.4
|
||||
|
||||
- old heatmaps have been renamed to hist2d, and true heatmaps implemented (see https://github.com/tbreloff/Plots.jl/issues/147)
|
||||
- lots of reorganization and redesign of the internals
|
||||
- lots of renaming to keep to conventions: AbstractPlot, AbstractBackend, etc
|
||||
- initial redesign of layouts
|
||||
- integration with Atom PlotPane
|
||||
- arc diagram and chord diagram (thanks to @diegozea: see https://github.com/tbreloff/Plots.jl/issues/163)
|
||||
- work on GR, GLVisualize, and PGFPlots backends (thanks @jheinen @dlfivefifty @pkofod)
|
||||
- improvements to Plotly setup (thanks @spencerlyon2)
|
||||
- overhaul to series creation logic and groupby mechanic
|
||||
- replace Dict with `typealias KW Dict{Symbol,Any}` in many places, also replacing keyword arg splatting
|
||||
- new `shape` linetype for plotting polygons in plot-coordinates (see https://github.com/tbreloff/ExamplePlots.jl/blob/master/notebooks/batman.ipynb)
|
||||
- many other fixes
|
||||
|
||||
#### 0.5.3
|
||||
|
||||
- `@gif` macro with `every`/`when` syntax
|
||||
- bezier curves and other graph drawing helpers
|
||||
- added FixedSizeArrays dependency with relevant functionality
|
||||
- merged lots of improvements to GR (thanks @jheinen)
|
||||
- `overwrite_figure`/`reuse` arg for reusing the same figure window
|
||||
- deprecated Qwt, Winston, and Bokeh backends
|
||||
- improved handling of 3D inputs (call `z=rand(10,10); surface(z)` for example)
|
||||
- fix IJulia display issue
|
||||
- lots of progress on PlotlyJS backend
|
||||
- and many other changes and fixes...
|
||||
|
||||
#### 0.5.2
|
||||
|
||||
- Added [GR.jl](https://github.com/jheinen/GR.jl) as a backend (unfinished but functional) All credit to @jheinen
|
||||
- Set defaults within backend calls (i.e. `gadfly(legend=false)`)
|
||||
- `abline!`; also extrema allows plotting functions without giving x (i.e. `plot(cos, 0, 10); plot!(sin)`) @pkofod @joshday
|
||||
- Integration with [PlotlyJS.jl](https://github.com/spencerlyon2/PlotlyJS.jl) for using Plotly inside a Blink window @spencerlyon2
|
||||
- The Plotly backend has been split into my built-in version (`plotly()`) and @spencerlyon2's backend (`plotlyjs()`)
|
||||
- Revamped backend setup code for easily adding new backends
|
||||
- New docs (WIP) at http://juliaplots.github.io/
|
||||
- Overhaul to `:legend` keyword (see https://github.com/tbreloff/Plots.jl/issues/135)
|
||||
- New dependency on Requires, allows auto-loading of DataFrames support
|
||||
- Support for plotting lists of Tuples and FixedSizeArrays
|
||||
- new `@animate` macro for super simple animations (see https://github.com/tbreloff/Plots.jl/issues/111#issuecomment-181515616)
|
||||
- allow Function for `:fillrange` and `zcolor` arguments (for example: `scatter(sin, 0:10, marker=15, fill=(cos,0.4), zcolor=sin)`)
|
||||
- allow vectors of PlotText without x/y coords (for example: `scatter(rand(10), m=20, ann=map(text, 1:10))`)
|
||||
- Lots and lots of fixes
|
||||
|
||||
#### 0.5.1
|
||||
|
||||
#### 0.5.0
|
||||
|
||||
- `with` function for temporary defaults
|
||||
- contours
|
||||
- basic 3D plotting
|
||||
- preliminary support for Bokeh
|
||||
- `stroke` and `brush` for more fine-tuned control over visuals
|
||||
- smarter "magic" arguments: `line`, `marker`
|
||||
@@ -1,8 +1,9 @@
|
||||
# Plots
|
||||
|
||||
[](https://travis-ci.org/tbreloff/Plots.jl)
|
||||
[](http://pkg.julialang.org/?pkg=Plots&ver=0.3)
|
||||
[](http://pkg.julialang.org/?pkg=Plots&ver=0.4)
|
||||
[](https://gitter.im/tbreloff/Plots.jl?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
<!-- [](http://pkg.julialang.org/?pkg=Plots&ver=0.3) -->
|
||||
<!-- [](http://pkg.julialang.org/?pkg=Plots&ver=0.4) -->
|
||||
<!-- [](https://coveralls.io/r/tbreloff/Plots.jl?branch=master) -->
|
||||
<!-- [](http://codecov.io/github/tbreloff/Plots.jl?branch=master) -->
|
||||
|
||||
@@ -10,397 +11,12 @@
|
||||
|
||||
Plots is a plotting API and toolset. My goals with the package are:
|
||||
|
||||
- **Intuitive**. Start generating complex plots without reading volumes of documentation. Commands should "just work".
|
||||
- **Powerful**. Do more with less. Complex visualizations become easy.
|
||||
- **Intuitive**. Stop reading so much documentation. Commands should "just work".
|
||||
- **Concise**. Less code means fewer mistakes and more efficient development/analysis.
|
||||
- **Flexible**. Produce your favorite plots from your favorite package, but quicker and simpler.
|
||||
- **Consistent**. Don't commit to one graphics package. Use the same code and access the strengths of all backends.
|
||||
- **Lightweight**. Very few dependencies, since backends are loaded and initialized dynamically.
|
||||
|
||||
Use the preprocessing pipeline in Plots to fully describe your visualization before it calls the backend code. This maintains modularity and allows for efficient separation of front end code, algorithms, and backend graphics. New graphical backends can be added with minimal effort.
|
||||
|
||||
Check out the [summary graphs](img/supported/supported.md) for the features that each backend supports.
|
||||
|
||||
Please add wishlist items, bugs, or any other comments/questions to the issues list.
|
||||
|
||||
## Examples for each implemented backend:
|
||||
|
||||
- [Gadfly.jl/Immerse.jl](docs/gadfly_examples.md)
|
||||
- [PyPlot.jl](docs/pyplot_examples.md)
|
||||
- [UnicodePlots.jl](docs/unicodeplots_examples.md)
|
||||
- [Qwt.jl](docs/qwt_examples.md)
|
||||
|
||||
Also check out the many [IJulia notebooks](http://nbviewer.ipython.org/github/tbreloff/Plots.jl/tree/master/examples/) with many examples.
|
||||
|
||||
## Installation
|
||||
|
||||
First, add the package
|
||||
|
||||
```julia
|
||||
Pkg.add("Plots")
|
||||
|
||||
# if you want the latest features:
|
||||
Pkg.checkout("Plots")
|
||||
|
||||
# or for the bleeding edge:
|
||||
Pkg.checkout("Plots", "dev")
|
||||
```
|
||||
|
||||
then get any plotting packages you need (obviously, you should get at least one backend).
|
||||
|
||||
```julia
|
||||
Pkg.add("Gadfly")
|
||||
Pkg.add("Immerse")
|
||||
Pkg.add("PyPlot")
|
||||
Pkg.add("UnicodePlots")
|
||||
Pkg.clone("https://github.com/tbreloff/Qwt.jl.git")
|
||||
```
|
||||
|
||||
## Use
|
||||
|
||||
Load it in. The underlying plotting backends are not imported until `backend()` is called (which happens
|
||||
on your first call to `plot` or `subplot`). This means that you don't need any backends to be installed when you call `using Plots`.
|
||||
|
||||
Plots will try to figure out a good default backend for you automatically based on what backends are installed.
|
||||
|
||||
```julia
|
||||
using Plots
|
||||
```
|
||||
|
||||
Do a plot in Gadfly (inspired by [this example](http://gadflyjl.org/geom_point.html)), then save a png:
|
||||
|
||||
```julia
|
||||
gadfly() # switch to Gadfly as a backend
|
||||
dataframes() # turn on support for DataFrames inputs
|
||||
|
||||
# load some data
|
||||
using RDatasets
|
||||
iris = dataset("datasets", "iris");
|
||||
|
||||
# This will bring up a browser window with the plot. Add a semicolon at the end to skip display.
|
||||
scatter(iris, :SepalLength, :SepalWidth, group=:Species, m=([:+ :d :s], 12), smooth=0.99, bg=:black)
|
||||
|
||||
# save a png (equivalent to png("gadfly1.png") and savefig("gadfly1.png"))
|
||||
png("gadfly1")
|
||||
```
|
||||
|
||||

|
||||
|
||||
## API
|
||||
|
||||
Call `backend(backend::Symbol)` or the shorthands (`gadfly()`, `qwt()`, `unicodeplots()`, etc) to set the current plotting backend.
|
||||
Subsequent commands are converted into the relevant plotting commands for that package:
|
||||
|
||||
```julia
|
||||
gadfly()
|
||||
plot(1:10) # this effectively calls `y = 1:10; Gadfly.plot(x=1:length(y), y=y)`
|
||||
qwt()
|
||||
plot(1:10) # this effectively calls `Qwt.plot(1:10)`
|
||||
```
|
||||
|
||||
Use `plot` to create a new plot object, and `plot!` to add to an existing one:
|
||||
|
||||
```julia
|
||||
plot(args...; kw...) # creates a new plot window, and sets it to be the `current`
|
||||
plot!(args...; kw...) # adds to the `current`
|
||||
plot!(plotobj, args...; kw...) # adds to the plot `plotobj`
|
||||
```
|
||||
|
||||
Now that you know which plot object you're updating (new, current, or other), I'll leave it off for simplicity.
|
||||
There are many ways to pass in data to the plot functions... some examples:
|
||||
|
||||
- Vector-like (subtypes of AbstractArray{T,1})
|
||||
- Matrix-like (subtypes of AbstractArray{T,2})
|
||||
- Vectors of Vectors
|
||||
- Functions
|
||||
- Vectors of Functions
|
||||
- DataFrames with column symbols (initialize with `dataframes()`)
|
||||
|
||||
In general, you can pass in a `y` only, or an `x` and `y`, both of whatever type(s) you want, and Plots will slice up the data as needed.
|
||||
For matrices, data is split by columns. For functions, data is mapped. For DataFrames, a Symbol/Symbols in place of x/y will map to
|
||||
the relevant column(s).
|
||||
|
||||
Here are some example usages... remember you can always use `plot!` to update an existing plot, and that, unless specified, you will update the `current()`.
|
||||
|
||||
```julia
|
||||
plot() # empty plot object
|
||||
plot(4) # initialize with 4 empty series
|
||||
plot(rand(10)) # plot 1 series... x = 1:10
|
||||
plot(rand(10,5)) # plot 5 series... x = 1:10
|
||||
plot(rand(10), rand(10)) # plot 1 series
|
||||
plot(rand(10,5), rand(10)) # plot 5 series... y is the same for all
|
||||
plot(sin, rand(10)) # y = sin(x)
|
||||
plot(rand(10), sin) # same... y = sin(x)
|
||||
plot([sin,cos], 0:0.1:π) # plot 2 series, sin(x) and cos(x)
|
||||
plot([sin,cos], 0, π) # plot sin and cos on the range [0, π]
|
||||
plot(1:10, Any[rand(10), sin]) # plot 2 series, y = rand(10) for the first, y = sin(x) for the second... x = 1:10 for both
|
||||
plot(dataset("Ecdat", "Airline"), :Cost) # plot from a DataFrame (call `dataframes()` first to import DataFrames and initialize)
|
||||
```
|
||||
|
||||
All plot methods accept a number of keyword arguments (see the tables below), which follow some rules:
|
||||
- Many arguments have aliases which are replaced during preprocessing. `c` is the same as `color`, `m` is the same as `marker`, etc. You can choose how verbose you'd like to be. (see the tables below)
|
||||
- There are some special arguments (`xaxis`, `yaxis`, `line`, `marker`, `fill` and the aliases `l`, `m`, `f`) which magically set many related things at once. (see the __Tip__ below)
|
||||
- If the argument is a "matrix-type", then each column will map to a series, cycling through columns if there are fewer columns than series. Anything else will apply the argument value to every series.
|
||||
- Many arguments accept many different types... for example the `color` (also `markercolor`, `fillcolor`, etc) argument will accept strings or symbols with a color name, or any `Colors.Colorant`, or a `ColorScheme`, or a symbol representing a `ColorGradient`, or an AbstractVector of colors/symbols/etc...
|
||||
|
||||
You can update certain plot settings after plot creation (not supported on all backends):
|
||||
|
||||
```julia
|
||||
plot!(title = "New Title", xlabel = "New xlabel", ylabel = "New ylabel")
|
||||
plot!(xlims = (0, 5.5), ylims = (-2.2, 6), xticks = 0:0.5:10, yticks = [0,1,5,10])
|
||||
|
||||
# using shorthands:
|
||||
xaxis!("mylabel", :log10, :flip)
|
||||
```
|
||||
|
||||
With `subplot`, create multiple plots at once, with flexible layout options:
|
||||
|
||||
```julia
|
||||
y = rand(100,3)
|
||||
subplot(y; n = 3) # create an automatic grid, and let it figure out the shape
|
||||
subplot(y; n = 3, nr = 1) # create an automatic grid, but fix the number of rows
|
||||
subplot(y; n = 3, nc = 1) # create an automatic grid, but fix the number of columns
|
||||
subplot(y; layout = [1, 2]) # explicit layout. Lists the number of plots in each row
|
||||
```
|
||||
|
||||
__Tip__: You can call `subplot!(args...; kw...)` to add to an existing subplot.
|
||||
|
||||
__Tip__: Calling `subplot!` on a `Plot` object, or `plot!` on a `Subplot` object will throw an error.
|
||||
|
||||
Shorthands:
|
||||
|
||||
```julia
|
||||
scatter(args...; kw...) = plot(args...; kw..., linetype = :scatter)
|
||||
scatter!(args...; kw...) = plot!(args...; kw..., linetype = :scatter)
|
||||
bar(args...; kw...) = plot(args...; kw..., linetype = :bar)
|
||||
bar!(args...; kw...) = plot!(args...; kw..., linetype = :bar)
|
||||
histogram(args...; kw...) = plot(args...; kw..., linetype = :hist)
|
||||
histogram!(args...; kw...) = plot!(args...; kw..., linetype = :hist)
|
||||
heatmap(args...; kw...) = plot(args...; kw..., linetype = :heatmap)
|
||||
heatmap!(args...; kw...) = plot!(args...; kw..., linetype = :heatmap)
|
||||
sticks(args...; kw...) = plot(args...; kw..., linetype = :sticks, marker = :ellipse)
|
||||
sticks!(args...; kw...) = plot!(args...; kw..., linetype = :sticks, marker = :ellipse)
|
||||
hline(args...; kw...) = plot(args...; kw..., linetype = :hline)
|
||||
hline!(args...; kw...) = plot!(args...; kw..., linetype = :hline)
|
||||
vline(args...; kw...) = plot(args...; kw..., linetype = :vline)
|
||||
vline!(args...; kw...) = plot!(args...; kw..., linetype = :vline)
|
||||
ohlc(args...; kw...) = plot(args...; kw..., linetype = :ohlc)
|
||||
ohlc!(args...; kw...) = plot!(args...; kw..., linetype = :ohlc)
|
||||
|
||||
title!(s::AbstractString) = plot!(title = s)
|
||||
xlabel!(s::AbstractString) = plot!(xlabel = s)
|
||||
ylabel!(s::AbstractString) = plot!(ylabel = s)
|
||||
xlims!{T<:Real,S<:Real}(lims::Tuple{T,S}) = plot!(xlims = lims)
|
||||
ylims!{T<:Real,S<:Real}(lims::Tuple{T,S}) = plot!(ylims = lims)
|
||||
xticks!{T<:Real}(v::AVec{T}) = plot!(xticks = v)
|
||||
yticks!{T<:Real}(v::AVec{T}) = plot!(yticks = v)
|
||||
xflip!(flip::Bool = true) = plot!(xflip = flip)
|
||||
yflip!(flip::Bool = true) = plot!(yflip = flip)
|
||||
xaxis!(args...) = plot!(xaxis = args)
|
||||
yaxis!(args...) = plot!(yaxis = args)
|
||||
annotate!(anns) = plot!(annotation = anns)
|
||||
```
|
||||
|
||||
### Keyword arguments:
|
||||
|
||||
Keyword | Default | Type | Aliases
|
||||
---- | ---- | ---- | ----
|
||||
`:annotation` | `nothing` | Series | `:ann`, `:annotate`, `:annotations`, `:anns`
|
||||
`:axis` | `left` | Series | `:axiss`
|
||||
`:background_color` | `RGB{U8}(1.0,1.0,1.0)` | Plot | `:background`, `:bg`, `:bg_color`, `:bgcolor`
|
||||
`:color` | `auto` | Series | `:c`, `:colors`
|
||||
`:color_palette` | `auto` | Plot | `:palette`
|
||||
`:fill` | `nothing` | Series | `:area`, `:f`
|
||||
`:fillcolor` | `match` | Series | `:fc`, `:fcolor`, `:fillcolors`
|
||||
`:fillopacity` | `nothing` | Series | `:fillopacitys`, `:fo`
|
||||
`:fillrange` | `nothing` | Series | `:fillranges`, `:fillrng`
|
||||
`:foreground_color` | `auto` | Plot | `:fg`, `:fg_color`, `:fgcolor`, `:foreground`
|
||||
`:grid` | `true` | Plot |
|
||||
`:group` | `nothing` | Series | `:g`, `:groups`
|
||||
`:guidefont` | `Plots.Font("Helvetica",11,:hcenter,:vcenter,0.0,RGB{U8}(0.0,0.0,0.0))` | Plot |
|
||||
`:label` | `AUTO` | Series | `:lab`, `:labels`
|
||||
`:layout` | `nothing` | Plot |
|
||||
`:legend` | `true` | Plot | `:leg`
|
||||
`:legendfont` | `Plots.Font("Helvetica",8,:hcenter,:vcenter,0.0,RGB{U8}(0.0,0.0,0.0))` | Plot |
|
||||
`:line` | `nothing` | Series | `:l`
|
||||
`:lineopacity` | `nothing` | Series | `:lineopacitys`, `:lo`
|
||||
`:linestyle` | `solid` | Series | `:linestyles`, `:ls`, `:s`, `:style`
|
||||
`:linetype` | `path` | Series | `:linetypes`, `:lt`, `:t`, `:type`
|
||||
`:linewidth` | `1` | Series | `:linewidths`, `:lw`, `:w`, `:width`
|
||||
`:link` | `false` | Plot |
|
||||
`:linkfunc` | `nothing` | Plot |
|
||||
`:linkx` | `false` | Plot | `:xlink`
|
||||
`:linky` | `false` | Plot | `:ylink`
|
||||
`:marker` | `nothing` | Series | `:m`, `:mark`
|
||||
`:markercolor` | `match` | Series | `:markercolors`, `:mc`, `:mcolor`
|
||||
`:markeropacity` | `nothing` | Series | `:alpha`, `:markeropacitys`, `:mo`, `:opacity`
|
||||
`:markershape` | `none` | Series | `:markershapes`, `:shape`
|
||||
`:markersize` | `6` | Series | `:markersizes`, `:ms`, `:msize`
|
||||
`:n` | `-1` | Plot |
|
||||
`:nbins` | `100` | Series | `:nb`, `:nbin`, `:nbinss`
|
||||
`:nc` | `-1` | Plot |
|
||||
`:nr` | `-1` | Plot |
|
||||
`:pos` | `(0,0)` | Plot |
|
||||
`:show` | `false` | Plot | `:display`, `:gui`
|
||||
`:size` | `(500,300)` | Plot | `:windowsize`, `:wsize`
|
||||
`:smooth` | `false` | Series | `:reg`, `:regression`, `:smooths`
|
||||
`:tickfont` | `Plots.Font("Helvetica",8,:hcenter,:vcenter,0.0,RGB{U8}(0.0,0.0,0.0))` | Plot |
|
||||
`:title` | `` | Plot |
|
||||
`:windowtitle` | `Plots.jl` | Plot | `:wtitle`
|
||||
`:xaxis` | `nothing` | Plot |
|
||||
`:xflip` | `false` | Plot |
|
||||
`:xlabel` | `` | Plot | `:xlab`
|
||||
`:xlims` | `auto` | Plot | `:xlim`, `:xlimit`, `:xlimits`
|
||||
`:xscale` | `identity` | Plot |
|
||||
`:xticks` | `auto` | Plot | `:xtick`
|
||||
`:yaxis` | `nothing` | Plot |
|
||||
`:yflip` | `false` | Plot |
|
||||
`:ylabel` | `` | Plot | `:ylab`
|
||||
`:ylims` | `auto` | Plot | `:ylim`, `:ylimit`, `:ylimits`
|
||||
`:yrightlabel` | `` | Plot | `:y2lab`, `:y2label`, `:ylab2`, `:ylabel2`, `:ylabelright`, `:ylabr`, `:yrlab`
|
||||
`:yscale` | `identity` | Plot |
|
||||
`:yticks` | `auto` | Plot | `:ytick`
|
||||
`:z` | `nothing` | Series | `:zs`
|
||||
|
||||
|
||||
### Plot types:
|
||||
|
||||
Type | Desc | Aliases
|
||||
---- | ---- | ----
|
||||
`:none` | No line | `:n`, `:no`
|
||||
`:line` | Lines with sorted x-axis | `:l`
|
||||
`:path` | Lines | `:p`
|
||||
`:steppre` | Step plot (vertical then horizontal) | `:stepinv`, `:stepinverted`, `:stepsinv`, `:stepsinverted`
|
||||
`:steppost` | Step plot (horizontal then vertical) | `:stair`, `:stairs`, `:step`, `:steps`
|
||||
`:sticks` | Vertical lines | `:stem`, `:stems`
|
||||
`:scatter` | Points, no lines | `:dots`
|
||||
`:heatmap` | Colored regions by density |
|
||||
`:hexbin` | Similar to heatmap |
|
||||
`:hist` | Histogram (doesn't use x) | `:histogram`
|
||||
`:bar` | Bar plot (centered on x values) |
|
||||
`:hline` | Horizontal line (doesn't use x) |
|
||||
`:vline` | Vertical line (doesn't use x) |
|
||||
`:ohlc` | Open/High/Low/Close chart (expects y is AbstractVector{Plots.OHLC}) |
|
||||
|
||||
|
||||
### Line styles:
|
||||
|
||||
Type | Aliases
|
||||
---- | ----
|
||||
`:auto` | `:a`
|
||||
`:solid` | `:s`
|
||||
`:dash` | `:d`
|
||||
`:dot` |
|
||||
`:dashdot` | `:dd`
|
||||
`:dashdotdot` | `:ddd`
|
||||
|
||||
|
||||
### Markers:
|
||||
|
||||
Type | Aliases
|
||||
---- | ----
|
||||
`:none` | `:n`, `:no`
|
||||
`:auto` | `:a`
|
||||
`:cross` | `:+`, `:plus`
|
||||
`:diamond` | `:d`
|
||||
`:dtriangle` | `:V`, `:downtri`, `:downtriangle`, `:dt`, `:dtri`, `:v`
|
||||
`:ellipse` | `:c`, `:circle`
|
||||
`:heptagon` | `:hep`
|
||||
`:hexagon` | `:h`, `:hex`
|
||||
`:octagon` | `:o`, `:oct`
|
||||
`:pentagon` | `:p`, `:pent`
|
||||
`:rect` | `:r`, `:sq`, `:square`
|
||||
`:star4` |
|
||||
`:star5` | `:s`, `:star`, `:star1`
|
||||
`:star6` |
|
||||
`:star7` |
|
||||
`:star8` | `:s2`, `:star2`
|
||||
`:utriangle` | `:^`, `:uptri`, `:uptriangle`, `:ut`, `:utri`
|
||||
`:xcross` | `:X`, `:x`
|
||||
|
||||
|
||||
__Tip__: With supported backends, you can pass a `Plots.Shape` object for the `marker`/`markershape` arguments. `Shape` takes a vector of 2-tuples in the constructor, defining the points of the polygon's shape in a unit-scaled coordinate space. To make a square, for example, you could do `Shape([(1,1),(1,-1),(-1,-1),(-1,1)])`
|
||||
|
||||
__Tip__: You can see the default value for a given argument with `default(arg::Symbol)`, and set the default value with `default(arg::Symbol, value)` or `default(; kw...)`. For example set the default window size and whether we should show a legend with `default(size=(600,400), leg=false)`.
|
||||
|
||||
__Tip__: There are some helper arguments you can set: `xaxis`, `yaxis`, `line`, `marker`, `fill`. These go through special preprocessing to extract values into individual arguments. The order doesn't matter, and if you pass a single value it's equivalent to wrapping it in a Tuple. Examples:
|
||||
|
||||
```
|
||||
plot(y, xaxis = ("mylabel", :log, :flip, (-1,1))) # this sets the `xlabel`, `xscale`, `xflip`, and `xlims` arguments automatically
|
||||
plot(y, line = (:bar, :blue, :dot, 10)) # this sets the `linetype`, `color`, `linestyle`, and `linewidth` arguments automatically
|
||||
plot(y, marker = (:rect, :red, 10)) # this sets the `markershape`, `markercolor`, and `markersize` arguments automatically
|
||||
plot(y, fill = (:green, 10)) # this sets the `fillcolor` and `fillrange` arguments automatically
|
||||
# Note: `fillrange` can be:
|
||||
a number (fill to horizontal line)
|
||||
a vector of numbers (different for each data point)
|
||||
a tuple of vectors (fill a band)
|
||||
```
|
||||
|
||||
__Tip__: When plotting multiple lines, you can set all series to use the same value, or pass in a matrix to cycle through values. Example:
|
||||
|
||||
```julia
|
||||
plot(rand(100,4); color = [:red RGB(0,0,1)], # (Matrix) lines 1 and 3 are red, lines 2 and 4 are blue
|
||||
axis = :auto, # lines 1 and 3 are on the left axis, lines 2 and 4 are on the right
|
||||
markershape = [:rect, :star] # (Vector) ALL lines are passed the vector [:rect, :star1]
|
||||
width = 5) # all lines have a width of 5
|
||||
```
|
||||
|
||||
__Tip__: Not all features are supported for each backend, but you can see what's supported by calling the functions: `supportedArgs()`, `supportedAxes()`, `supportedTypes()`, `supportedStyles()`, `supportedMarkers()`, `subplotSupported()`
|
||||
|
||||
__Tip__: Call `gui()` to display the plot in a window. Interactivity depends on backend. Plotting at the REPL (without semicolon) implicitly calls `gui()`.
|
||||
|
||||
### Animations
|
||||
|
||||
Animations are created in 3 steps (see example #2):
|
||||
- Initialize an `Animation` object.
|
||||
- Save each frame of the animation with `frame(anim)`.
|
||||
- Convert the frames to an animated gif with `gif(anim, filename, fps=15)`
|
||||
|
||||
|
||||
## TODO features:
|
||||
|
||||
- [x] Plot vectors/matrices/functions
|
||||
- [x] Plot DataFrames
|
||||
- [x] Histograms
|
||||
- [x] Grouping
|
||||
- [x] Annotations
|
||||
- [x] Scales
|
||||
- [x] Categorical Inputs (strings, etc... for hist, bar? or can split one series into multiple?)
|
||||
- [x] Custom markers
|
||||
- [x] Animations
|
||||
- [x] Subplots
|
||||
- [ ] Contours
|
||||
- [ ] Boxplots
|
||||
- [ ] 3D plotting
|
||||
- [ ] Scenes/Drawing
|
||||
- [ ] Graphs
|
||||
- [ ] Interactivity (GUIs)
|
||||
|
||||
## TODO backends:
|
||||
|
||||
- [x] Gadfly.jl
|
||||
- [x] Immerse.jl
|
||||
- [x] PyPlot.jl
|
||||
- [x] UnicodePlots.jl
|
||||
- [x] Qwt.jl
|
||||
- [x] Winston.jl (deprecated)
|
||||
- [ ] GLPlot.jl
|
||||
- [ ] Bokeh.jl
|
||||
- [ ] Vega.jl
|
||||
- [ ] Gaston.jl
|
||||
- [ ] Plotly.jl
|
||||
- [ ] GoogleCharts.jl
|
||||
- [ ] PLplot.jl
|
||||
- [ ] TextPlots.jl
|
||||
- [ ] ASCIIPlots.jl
|
||||
- [ ] Sparklines.jl
|
||||
- [ ] Hinton.jl
|
||||
- [ ] ImageTerm.jl
|
||||
- [ ] GraphViz.jl
|
||||
- [ ] TikzGraphs.jl
|
||||
- [ ] GraphLayout.jl
|
||||
|
||||
## More information on backends (both supported and unsupported)
|
||||
|
||||
See the wiki at: https://github.com/JuliaPlot/juliaplot_docs/wiki
|
||||
|
||||
- **Consistent**. Don't commit to one graphics package, use the same code everywhere.
|
||||
- **Lightweight**. Very few dependencies.
|
||||
- **Smart**. Attempts to figure out what you **want** it to do... not just what you **tell** it.
|
||||
|
||||
View the [full documentation](http://juliaplots.github.io).
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
julia 0.3
|
||||
julia 0.4
|
||||
|
||||
Colors
|
||||
RecipesBase
|
||||
PlotUtils
|
||||
Reexport
|
||||
Compat
|
||||
FixedSizeArrays
|
||||
Measures
|
||||
Showoff
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
environment:
|
||||
matrix:
|
||||
- JULIAVERSION: "julialang/bin/winnt/x86/0.3/julia-0.3-latest-win32.exe"
|
||||
- JULIAVERSION: "julialang/bin/winnt/x64/0.3/julia-0.3-latest-win64.exe"
|
||||
- JULIAVERSION: "julianightlies/bin/winnt/x86/julia-latest-win32.exe"
|
||||
- JULIAVERSION: "julianightlies/bin/winnt/x64/julia-latest-win64.exe"
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- /release-.*/
|
||||
# Releases
|
||||
- JULIAVERSION: "stable/win32"
|
||||
- JULIAVERSION: "stable/win64"
|
||||
# Nightlies
|
||||
- JULIAVERSION: "download/win32"
|
||||
- JULIAVERSION: "download/win64"
|
||||
|
||||
notifications:
|
||||
- provider: Email
|
||||
@@ -18,17 +15,15 @@ notifications:
|
||||
|
||||
install:
|
||||
# Download most recent Julia Windows binary
|
||||
- ps: (new-object net.webclient).DownloadFile(
|
||||
$("http://s3.amazonaws.com/"+$env:JULIAVERSION),
|
||||
"C:\projects\julia-binary.exe")
|
||||
- ps: (new-object net.webclient).DownloadFile($("http://status.julialang.org/"+$env:JULIAVERSION), "C:\projects\julia-binary.exe")
|
||||
# Run installer silently, output to C:\projects\julia
|
||||
- C:\projects\julia-binary.exe /S /D=C:\projects\julia
|
||||
|
||||
build_script:
|
||||
# Need to convert from shallow to complete for Pkg.clone to work
|
||||
- IF EXIST .git\shallow (git fetch --unshallow)
|
||||
- C:\projects\julia\bin\julia -e "versioninfo();
|
||||
Pkg.clone(pwd(), \"Plots\"); Pkg.build(\"Plots\")"
|
||||
- C:\projects\julia\bin\julia -e "versioninfo(); Pkg.clone(pwd(), \"Plots\"); Pkg.build(\"Plots\")"
|
||||
|
||||
test_script:
|
||||
- C:\projects\julia\bin\julia --check-bounds=yes -e "Pkg.test(\"Plots\")"
|
||||
# - C:\projects\julia\bin\julia -e "Pkg.test(\"Plots\")"
|
||||
- C:\projects\julia\bin\julia -e "include(Pkg.dir(\"Plots\", \"test\", \"travis_commands.jl\"))"
|
||||
@@ -0,0 +1,8 @@
|
||||
|
||||
#TODO: download https://cdn.plot.ly/plotly-latest.min.js to deps/ if it doesn't exist
|
||||
|
||||
local_fn = joinpath(dirname(@__FILE__), "plotly-latest.min.js")
|
||||
if !isfile(local_fn)
|
||||
info("Cannot find deps/plotly-latest.min.js... downloading latest version.")
|
||||
download("https://cdn.plot.ly/plotly-latest.min.js", local_fn)
|
||||
end
|
||||
@@ -1,383 +0,0 @@
|
||||
|
||||
module PlotExamples
|
||||
|
||||
using Plots
|
||||
using Colors
|
||||
using Compat
|
||||
|
||||
const DOCDIR = Pkg.dir("Plots") * "/docs"
|
||||
const IMGDIR = Pkg.dir("Plots") * "/img"
|
||||
|
||||
"""
|
||||
Holds all data needed for a documentation example... header, description, and plotting expression (Expr)
|
||||
"""
|
||||
type PlotExample
|
||||
header::@compat(AbstractString)
|
||||
desc::@compat(AbstractString)
|
||||
exprs::Vector{Expr}
|
||||
end
|
||||
|
||||
|
||||
|
||||
# the examples we'll run for each
|
||||
const examples = PlotExample[
|
||||
PlotExample("Lines",
|
||||
"A simple line plot of the columns.",
|
||||
[
|
||||
:(plot(Plots.fakedata(50,5), w=3))
|
||||
]),
|
||||
PlotExample("Functions, adding data, and animations",
|
||||
"Plot multiple functions. You can also put the function first, or use the form `plot(f, xmin, xmax)` where f is a Function or AbstractVector{Function}.\n\nGet series data: `x, y = plt[i]`. Set series data: `plt[i] = (x,y)`. Add to the series with `push!`/`append!`.\n\nEasily build animations. (`convert` or `ffmpeg` must be available to generate the animation.) Use command `gif(anim, filename, fps=15)` to save the animation.",
|
||||
[
|
||||
:(p = plot([sin,cos], zeros(0), leg=false)),
|
||||
:(anim = Animation()),
|
||||
:(for x in linspace(0, 10π, 200)
|
||||
push!(p, x, Float64[sin(x), cos(x)])
|
||||
frame(anim)
|
||||
end)
|
||||
]),
|
||||
PlotExample("Parametric plots",
|
||||
"Plot function pair (x(u), y(u)).",
|
||||
[
|
||||
:(plot(sin, x->sin(2x), 0, 2π, line=4, leg=false, fill=(0,:orange)))
|
||||
]),
|
||||
PlotExample("Colors",
|
||||
"Access predefined palettes (or build your own with the `colorscheme` method). Line/marker colors are auto-generated from the plot's palette, unless overridden. Set the `z` argument to turn on series gradients.",
|
||||
[
|
||||
:(y = rand(100)),
|
||||
:(plot(0:10:100,rand(11,4),lab="lines",w=3, palette=:grays, fill=(0.5,:auto))),
|
||||
:(scatter!(y, z=abs(y-.5), m=(10,:heat), lab="grad"))
|
||||
]),
|
||||
PlotExample("Global",
|
||||
"Change the guides/background/limits/ticks. Convenience args `xaxis` and `yaxis` allow you to pass a tuple or value which will be mapped to the relevant args automatically. The `xaxis` below will be replaced with `xlabel` and `xlims` args automatically during the preprocessing step. You can also use shorthand functions: `title!`, `xaxis!`, `yaxis!`, `xlabel!`, `ylabel!`, `xlims!`, `ylims!`, `xticks!`, `yticks!`",
|
||||
[
|
||||
:(plot(rand(20,3), xaxis=("XLABEL",(-5,30),0:2:20,:flip), background_color = RGB(0.2,0.2,0.2), leg=false)),
|
||||
:(title!("TITLE")),
|
||||
:(yaxis!("YLABEL", :log10))
|
||||
]),
|
||||
PlotExample("Two-axis",
|
||||
"Use the `axis` arguments.\n\nNote: Currently only supported with Qwt and PyPlot",
|
||||
[
|
||||
:(plot(Vector[randn(100), randn(100)*100], axis = [:l :r], ylabel="LEFT", yrightlabel="RIGHT"))
|
||||
]),
|
||||
PlotExample("Arguments",
|
||||
"Plot multiple series with different numbers of points. Mix arguments that apply to all series (marker/markersize) with arguments unique to each series (colors). Special arguments `line`, `marker`, and `fill` will automatically figure out what arguments to set (for example, we are setting the `linestyle`, `linewidth`, and `color` arguments with `line`.) Note that we pass a matrix of colors, and this applies the colors to each series.",
|
||||
[
|
||||
:(plot(Vector[rand(10), rand(20)], marker=(:ellipse,8), line=(:dot,3,[:black :orange])))
|
||||
]),
|
||||
PlotExample("Build plot in pieces",
|
||||
"Start with a base plot...",
|
||||
[
|
||||
:(plot(rand(100)/3, reg=true, fill=(0,:green)))
|
||||
]),
|
||||
PlotExample("",
|
||||
"and add to it later.",
|
||||
[
|
||||
:(scatter!(rand(100), markersize=6, c=:orange))
|
||||
]),
|
||||
PlotExample("Heatmaps",
|
||||
"",
|
||||
[
|
||||
:(heatmap(randn(10000),randn(10000), nbins=100))
|
||||
]),
|
||||
PlotExample("Line types",
|
||||
"",
|
||||
[
|
||||
:(types = intersect(supportedTypes(), [:line, :path, :steppre, :steppost, :sticks, :scatter])'),
|
||||
:(n = length(types)),
|
||||
:(x = Vector[sort(rand(20)) for i in 1:n]),
|
||||
:(y = rand(20,n)),
|
||||
:(plot(x, y, line=(types,3), lab=map(string,types), ms=15))
|
||||
]),
|
||||
PlotExample("Line styles",
|
||||
"",
|
||||
[
|
||||
:(styles = setdiff(supportedStyles(), [:auto])'),
|
||||
:(plot(cumsum(randn(20,length(styles)),1), style=:auto, label=map(string,styles), w=5))
|
||||
]),
|
||||
PlotExample("Marker types",
|
||||
"",
|
||||
[
|
||||
:(markers = setdiff(supportedMarkers(), [:none,:auto,Shape])'),
|
||||
:(n = length(markers)),
|
||||
:(x = linspace(0,10,n+2)[2:end-1]),
|
||||
:(y = repmat(reverse(x)', n, 1)),
|
||||
:(scatter(x, y, m=(8,:auto), lab=map(string,markers), bg=:linen))
|
||||
]),
|
||||
PlotExample("Bar",
|
||||
"x is the midpoint of the bar. (todo: allow passing of edges instead of midpoints)",
|
||||
[
|
||||
:(bar(randn(999)))
|
||||
]),
|
||||
PlotExample("Histogram",
|
||||
"",
|
||||
[
|
||||
:(histogram(randn(1000), nbins=50))
|
||||
]),
|
||||
PlotExample("Subplots",
|
||||
"""
|
||||
subplot and subplot! are distinct commands which create many plots and add series to them in a circular fashion.
|
||||
You can define the layout with keyword params... either set the number of plots `n` (and optionally number of rows `nr` or
|
||||
number of columns `nc`), or you can set the layout directly with `layout`.
|
||||
""",
|
||||
[
|
||||
:(subplot(randn(100,5), layout=[1,1,3], t=[:line :hist :scatter :step :bar], nbins=10, leg=false))
|
||||
]),
|
||||
PlotExample("Adding to subplots",
|
||||
"Note here the automatic grid layout, as well as the order in which new series are added to the plots.",
|
||||
[
|
||||
:(subplot(Plots.fakedata(100,10), n=4, palette=[:grays :blues :heat :lightrainbow], bg=[:orange :pink :darkblue :black]))
|
||||
]),
|
||||
PlotExample("",
|
||||
"",
|
||||
[
|
||||
:(subplot!(Plots.fakedata(100,10)))
|
||||
]),
|
||||
PlotExample("Open/High/Low/Close",
|
||||
"Create an OHLC chart. Pass in a vector of OHLC objects as your `y` argument. Adjust the tick width with arg `markersize`.",
|
||||
[
|
||||
:(n=20),
|
||||
:(hgt=rand(n)+1),
|
||||
:(bot=randn(n)),
|
||||
:(openpct=rand(n)),
|
||||
:(closepct=rand(n)),
|
||||
:(y = [OHLC(openpct[i]*hgt[i]+bot[i], bot[i]+hgt[i], bot[i], closepct[i]*hgt[i]+bot[i]) for i in 1:n]),
|
||||
:(ohlc(y; markersize=8))
|
||||
]),
|
||||
PlotExample("Annotations",
|
||||
"Currently only text annotations are supported. Pass in a tuple or vector-of-tuples: (x,y,text). `annotate!(ann)` is shorthand for `plot!(; annotation=ann)`",
|
||||
[
|
||||
:(y = rand(10)),
|
||||
:(plot(y, ann=(3,y[3],text("this is #3",:left)))),
|
||||
:(annotate!([(5,y[5],text("this is #5",16,:red,:center)),
|
||||
(10,y[10],text("this is #10",:right,20,"courier"))]))
|
||||
]),
|
||||
PlotExample("Custom Markers",
|
||||
"A `Plots.Shape` is a light wrapper around vertices of a polygon. For supported backends, pass arbitrary polygons as the marker shapes. Note: The center is (0,0) and the size is expected to be rougly the area of the unit circle.",
|
||||
[
|
||||
:(verts = [(-1.0,1.0),(-1.28,0.6),(-0.2,-1.4),(0.2,-1.4),(1.28,0.6),(1.0,1.0),
|
||||
(-1.0,1.0),(-0.2,-0.6),(0.0,-0.2),(-0.4,0.6),(1.28,0.6),(0.2,-1.4),
|
||||
(-0.2,-1.4),(0.6,0.2),(-0.2,0.2),(0.0,-0.2),(0.2,0.2),(-0.2,-0.6)])
|
||||
:(plot(0.1:0.2:0.9, 0.7rand(5)+0.15,
|
||||
l=(3,:dash,:lightblue),
|
||||
m=(Shape(verts),30,RGBA(0,0,0,0.2)),
|
||||
bg=:pink, fg=:darkblue,
|
||||
xlim = (0,1), ylim=(0,1), leg=false))
|
||||
])
|
||||
|
||||
]
|
||||
|
||||
|
||||
function createStringOfMarkDownCodeValues(arr, prefix = "")
|
||||
string("`", prefix, join(sort(map(string, arr)), "`, `$prefix"), "`")
|
||||
end
|
||||
createStringOfMarkDownSymbols(arr) = isempty(arr) ? "" : createStringOfMarkDownCodeValues(arr, ":")
|
||||
|
||||
|
||||
function generate_markdown(pkgname::Symbol)
|
||||
|
||||
# set up the backend, and don't show the plots by default
|
||||
pkg = backend(pkgname)
|
||||
# default(:show, false)
|
||||
|
||||
# mkdir if necessary
|
||||
try
|
||||
mkdir("$IMGDIR/$pkgname")
|
||||
end
|
||||
|
||||
# open the markdown file
|
||||
md = open("$DOCDIR/$(pkgname)_examples.md", "w")
|
||||
|
||||
write(md, "## Examples for backend: $pkgname\n\n")
|
||||
|
||||
write(md, "### Initialize\n\n```julia\nusing Plots\n$(pkgname)()\n```\n\n")
|
||||
|
||||
|
||||
for (i,example) in enumerate(examples)
|
||||
|
||||
try
|
||||
|
||||
# we want to always produce consistent results
|
||||
srand(1234)
|
||||
|
||||
# run the code
|
||||
map(eval, example.exprs)
|
||||
|
||||
# # save the png
|
||||
# imgname = "$(pkgname)_example_$i.png"
|
||||
|
||||
# NOTE: uncomment this to overwrite the images as well
|
||||
if i == 2
|
||||
imgname = "$(pkgname)_example_$i.gif"
|
||||
gif(anim, "$IMGDIR/$pkgname/$imgname", fps=15)
|
||||
else
|
||||
imgname = "$(pkgname)_example_$i.png"
|
||||
png("$IMGDIR/$pkgname/$imgname")
|
||||
end
|
||||
|
||||
# write out the header, description, code block, and image link
|
||||
write(md, "### $(example.header)\n\n")
|
||||
write(md, "$(example.desc)\n\n")
|
||||
write(md, "```julia\n$(join(map(string, example.exprs), "\n"))\n```\n\n")
|
||||
write(md, "\n\n")
|
||||
|
||||
catch ex
|
||||
# TODO: put error info into markdown?
|
||||
warn("Example $pkgname:$i failed with: $ex")
|
||||
end
|
||||
|
||||
#
|
||||
end
|
||||
|
||||
write(md, "- Supported arguments: $(createStringOfMarkDownCodeValues(supportedArgs(pkg)))\n")
|
||||
write(md, "- Supported values for axis: $(createStringOfMarkDownSymbols(supportedAxes(pkg)))\n")
|
||||
write(md, "- Supported values for linetype: $(createStringOfMarkDownSymbols(supportedTypes(pkg)))\n")
|
||||
write(md, "- Supported values for linestyle: $(createStringOfMarkDownSymbols(supportedStyles(pkg)))\n")
|
||||
write(md, "- Supported values for marker: $(createStringOfMarkDownSymbols(supportedMarkers(pkg)))\n")
|
||||
write(md, "- Is `subplot`/`subplot!` supported? $(subplotSupported(pkg) ? "Yes" : "No")\n\n")
|
||||
|
||||
write(md, "(Automatically generated: $(now()))")
|
||||
close(md)
|
||||
|
||||
end
|
||||
|
||||
|
||||
# make and display one plot
|
||||
function test_examples(pkgname::Symbol, idx::Int; debug = true)
|
||||
Plots._debugMode.on = debug
|
||||
println("Testing plot: $pkgname:$idx:$(examples[idx].header)")
|
||||
backend(pkgname)
|
||||
backend()
|
||||
map(eval, examples[idx].exprs)
|
||||
plt = current()
|
||||
gui(plt)
|
||||
plt
|
||||
end
|
||||
|
||||
# generate all plots and create a dict mapping idx --> plt
|
||||
function test_examples(pkgname::Symbol; debug = false)
|
||||
Plots._debugMode.on = debug
|
||||
plts = Dict()
|
||||
for i in 1:length(examples)
|
||||
# if examples[i].header == "Subplots" && !subplotSupported()
|
||||
# break
|
||||
# end
|
||||
|
||||
try
|
||||
plt = test_examples(pkgname, i, debug=debug)
|
||||
plts[i] = plt
|
||||
catch ex
|
||||
# TODO: put error info into markdown?
|
||||
warn("Example $pkgname:$i:$(examples[i].header) failed with: $ex")
|
||||
end
|
||||
end
|
||||
plts
|
||||
end
|
||||
|
||||
# axis # :left or :right
|
||||
# color # can be a string ("red") or a symbol (:red) or a ColorsTypes.jl
|
||||
# # Colorant (RGB(1,0,0)) or :auto (which lets the package pick)
|
||||
# label # string or symbol, applies to that line, may go in a legend
|
||||
# width # width of a line
|
||||
# linetype # :line, :step, :stepinverted, :sticks, :scatter, :none, :heatmap, :hexbin, :hist, :bar
|
||||
# linestyle # :solid, :dash, :dot, :dashdot, :dashdotdot
|
||||
# marker # :none, :ellipse, :rect, :diamond, :utriangle, :dtriangle,
|
||||
# # :cross, :xcross, :star1, :star2, :hexagon
|
||||
# markercolor # same choices as `color`, or :match will set the color to be the same as `color`
|
||||
# markersize # size of the marker
|
||||
# nbins # number of bins for heatmap/hexbin and histograms
|
||||
# heatmap_c # color cutoffs for Qwt heatmaps
|
||||
# fill # fill value for area plots
|
||||
# title # string or symbol, title of the plot
|
||||
# xlabel # string or symbol, label on the bottom (x) axis
|
||||
# ylabel # string or symbol, label on the left (y) axis
|
||||
# yrightlabel # string or symbol, label on the right (y) axis
|
||||
# reg # true or false, add a regression line for each line
|
||||
# size # (Int,Int), resize the enclosing window
|
||||
# pos # (Int,Int), move the enclosing window to this position
|
||||
# windowtitle # string or symbol, set the title of the enclosing windowtitle
|
||||
# screen # Integer, move enclosing window to this screen number (for multiscreen desktops)
|
||||
|
||||
|
||||
|
||||
@compat const _ltdesc = Dict(
|
||||
:none => "No line",
|
||||
:line => "Lines with sorted x-axis",
|
||||
:path => "Lines",
|
||||
:steppre => "Step plot (vertical then horizontal)",
|
||||
:steppost => "Step plot (horizontal then vertical)",
|
||||
:sticks => "Vertical lines",
|
||||
:scatter => "Points, no lines",
|
||||
:heatmap => "Colored regions by density",
|
||||
:hexbin => "Similar to heatmap",
|
||||
:hist => "Histogram (doesn't use x)",
|
||||
:bar => "Bar plot (centered on x values)",
|
||||
:hline => "Horizontal line (doesn't use x)",
|
||||
:vline => "Vertical line (doesn't use x)",
|
||||
:ohlc => "Open/High/Low/Close chart (expects y is AbstractVector{Plots.OHLC})",
|
||||
)
|
||||
|
||||
function buildReadme()
|
||||
readme = readall("$DOCDIR/readme_template.md")
|
||||
|
||||
# build keyword arg table
|
||||
table = "Keyword | Default | Type | Aliases \n---- | ---- | ---- | ----\n"
|
||||
allseries = merge(Plots._seriesDefaults, @compat(Dict(:line=>nothing, :marker=>nothing, :fill=>nothing)))
|
||||
allplots = merge(Plots._plotDefaults, @compat(Dict(:xaxis=>nothing, :yaxis=>nothing)))
|
||||
alldefs = merge(allseries, allplots)
|
||||
for k in Plots.sortedkeys(alldefs)
|
||||
# for d in (Plots._seriesDefaults, Plots._plotDefaults)
|
||||
# for k in Plots.sortedkeys(d)
|
||||
aliasstr = createStringOfMarkDownSymbols(aliases(Plots._keyAliases, k))
|
||||
table = string(table, "`:$k` | `$(alldefs[k])` | $(haskey(allseries,k) ? "Series" : "Plot") | $aliasstr \n")
|
||||
# end
|
||||
end
|
||||
readme = replace(readme, "[[KEYWORD_ARGS_TABLE]]", table)
|
||||
|
||||
# build linetypes table
|
||||
table = "Type | Desc | Aliases\n---- | ---- | ----\n"
|
||||
for lt in Plots._allTypes
|
||||
aliasstr = createStringOfMarkDownSymbols(aliases(Plots._typeAliases, lt))
|
||||
table = string(table, "`:$lt` | $(_ltdesc[lt]) | $aliasstr \n")
|
||||
end
|
||||
readme = replace(readme, "[[LINETYPES_TABLE]]", table)
|
||||
|
||||
# build linestyles table
|
||||
table = "Type | Aliases\n---- | ----\n"
|
||||
for s in Plots._allStyles
|
||||
aliasstr = createStringOfMarkDownSymbols(aliases(Plots._styleAliases, s))
|
||||
table = string(table, "`:$s` | $aliasstr \n")
|
||||
end
|
||||
readme = replace(readme, "[[LINESTYLES_TABLE]]", table)
|
||||
|
||||
# build markers table
|
||||
table = "Type | Aliases\n---- | ----\n"
|
||||
for s in Plots._allMarkers
|
||||
aliasstr = createStringOfMarkDownSymbols(aliases(Plots._markerAliases, s))
|
||||
table = string(table, "`:$s` | $aliasstr \n")
|
||||
end
|
||||
readme = replace(readme, "[[MARKERS_TABLE]]", table)
|
||||
|
||||
readme_fn = Pkg.dir("Plots") * "/README.md"
|
||||
f = open(readme_fn, "w")
|
||||
write(f, readme)
|
||||
close(f)
|
||||
|
||||
gadfly()
|
||||
Plots.dumpSupportGraphs()
|
||||
end
|
||||
|
||||
default(size=(500,300))
|
||||
|
||||
# run it!
|
||||
# note: generate separately so it's easy to comment out
|
||||
# @osx_only generate_markdown(:unicodeplots)
|
||||
# generate_markdown(:qwt)
|
||||
# generate_markdown(:gadfly)
|
||||
# generate_markdown(:pyplot)
|
||||
# generate_markdown(:immerse)
|
||||
# generate_markdown(:winston)
|
||||
|
||||
|
||||
end # module
|
||||
|
||||
@@ -1,249 +0,0 @@
|
||||
## Examples for backend: gadfly
|
||||
|
||||
### Initialize
|
||||
|
||||
```julia
|
||||
using Plots
|
||||
gadfly()
|
||||
```
|
||||
|
||||
### Lines
|
||||
|
||||
A simple line plot of the columns.
|
||||
|
||||
```julia
|
||||
plot(Plots.fakedata(50,5),w=3)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Functions, adding data, and animations
|
||||
|
||||
Plot multiple functions. You can also put the function first, or use the form `plot(f, xmin, xmax)` where f is a Function or AbstractVector{Function}.
|
||||
|
||||
Get series data: `x, y = plt[i]`. Set series data: `plt[i] = (x,y)`. Add to the series with `push!`/`append!`.
|
||||
|
||||
Easily build animations. (`convert` or `ffmpeg` must be available to generate the animation.) Use command `gif(anim, filename, fps=15)` to save the animation.
|
||||
|
||||
```julia
|
||||
p = plot([sin,cos],zeros(0),leg=false)
|
||||
anim = Animation()
|
||||
for x = linspace(0,10π,200) # /home/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 35:
|
||||
push!(p,x,Float64[sin(x),cos(x)]) # /home/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 36:
|
||||
frame(anim)
|
||||
end
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Parametric plots
|
||||
|
||||
Plot function pair (x(u), y(u)).
|
||||
|
||||
```julia
|
||||
plot(sin,(x->begin # /home/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 42:
|
||||
sin(2x)
|
||||
end),0,2π,line=4,leg=false,fill=(0,:orange))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Colors
|
||||
|
||||
Access predefined palettes (or build your own with the `colorscheme` method). Line/marker colors are auto-generated from the plot's palette, unless overridden. Set the `z` argument to turn on series gradients.
|
||||
|
||||
```julia
|
||||
y = rand(100)
|
||||
plot(0:10:100,rand(11,4),lab="lines",w=3,palette=:grays,fill=(0.5,:auto))
|
||||
scatter!(y,z=abs(y - 0.5),m=(10,:heat),lab="grad")
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Global
|
||||
|
||||
Change the guides/background/limits/ticks. Convenience args `xaxis` and `yaxis` allow you to pass a tuple or value which will be mapped to the relevant args automatically. The `xaxis` below will be replaced with `xlabel` and `xlims` args automatically during the preprocessing step. You can also use shorthand functions: `title!`, `xaxis!`, `yaxis!`, `xlabel!`, `ylabel!`, `xlims!`, `ylims!`, `xticks!`, `yticks!`
|
||||
|
||||
```julia
|
||||
plot(rand(20,3),xaxis=("XLABEL",(-5,30),0:2:20,:flip),background_color=RGB(0.2,0.2,0.2),leg=false)
|
||||
title!("TITLE")
|
||||
yaxis!("YLABEL",:log10)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Two-axis
|
||||
|
||||
Use the `axis` arguments.
|
||||
|
||||
Note: Currently only supported with Qwt and PyPlot
|
||||
|
||||
```julia
|
||||
plot(Vector[randn(100),randn(100) * 100],axis=[:l :r],ylabel="LEFT",yrightlabel="RIGHT")
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Arguments
|
||||
|
||||
Plot multiple series with different numbers of points. Mix arguments that apply to all series (marker/markersize) with arguments unique to each series (colors). Special arguments `line`, `marker`, and `fill` will automatically figure out what arguments to set (for example, we are setting the `linestyle`, `linewidth`, and `color` arguments with `line`.) Note that we pass a matrix of colors, and this applies the colors to each series.
|
||||
|
||||
```julia
|
||||
plot(Vector[rand(10),rand(20)],marker=(:ellipse,8),line=(:dot,3,[:black :orange]))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Build plot in pieces
|
||||
|
||||
Start with a base plot...
|
||||
|
||||
```julia
|
||||
plot(rand(100) / 3,reg=true,fill=(0,:green))
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
and add to it later.
|
||||
|
||||
```julia
|
||||
scatter!(rand(100),markersize=6,c=:orange)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Heatmaps
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
heatmap(randn(10000),randn(10000),nbins=100)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
types = intersect(supportedTypes(),[:line,:path,:steppre,:steppost,:sticks,:scatter])'
|
||||
n = length(types)
|
||||
x = Vector[sort(rand(20)) for i = 1:n]
|
||||
y = rand(20,n)
|
||||
plot(x,y,line=(types,3),lab=map(string,types),ms=15)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line styles
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
styles = setdiff(supportedStyles(),[:auto])'
|
||||
plot(cumsum(randn(20,length(styles)),1),style=:auto,label=map(string,styles),w=5)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Marker types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
markers = setdiff(supportedMarkers(),[:none,:auto,Shape])'
|
||||
n = length(markers)
|
||||
x = (linspace(0,10,n + 2))[2:end - 1]
|
||||
y = repmat(reverse(x)',n,1)
|
||||
scatter(x,y,m=(8,:auto),lab=map(string,markers),bg=:linen)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Bar
|
||||
|
||||
x is the midpoint of the bar. (todo: allow passing of edges instead of midpoints)
|
||||
|
||||
```julia
|
||||
bar(randn(999))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Histogram
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
histogram(randn(1000),nbins=50)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Subplots
|
||||
|
||||
subplot and subplot! are distinct commands which create many plots and add series to them in a circular fashion.
|
||||
You can define the layout with keyword params... either set the number of plots `n` (and optionally number of rows `nr` or
|
||||
number of columns `nc`), or you can set the layout directly with `layout`.
|
||||
|
||||
|
||||
```julia
|
||||
subplot(randn(100,5),layout=[1,1,3],t=[:line :hist :scatter :step :bar],nbins=10,leg=false)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Adding to subplots
|
||||
|
||||
Note here the automatic grid layout, as well as the order in which new series are added to the plots.
|
||||
|
||||
```julia
|
||||
subplot(Plots.fakedata(100,10),n=4,palette=[:grays :blues :heat :lightrainbow],bg=[:orange :pink :darkblue :black])
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
subplot!(Plots.fakedata(100,10))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Annotations
|
||||
|
||||
Currently only text annotations are supported. Pass in a tuple or vector-of-tuples: (x,y,text). `annotate!(ann)` is shorthand for `plot!(; annotation=ann)`
|
||||
|
||||
```julia
|
||||
y = rand(10)
|
||||
plot(y,ann=(3,y[3],text("this is #3",:left)))
|
||||
annotate!([(5,y[5],text("this is #5",16,:red,:center)),(10,y[10],text("this is #10",:right,20,"courier"))])
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Custom Markers
|
||||
|
||||
A `Plots.Shape` is a light wrapper around vertices of a polygon. For supported backends, pass arbitrary polygons as the marker shapes. Note: The center is (0,0) and the size is expected to be rougly the area of the unit circle.
|
||||
|
||||
```julia
|
||||
verts = [(-1.0,1.0),(-1.28,0.6),(-0.2,-1.4),(0.2,-1.4),(1.28,0.6),(1.0,1.0),(-1.0,1.0),(-0.2,-0.6),(0.0,-0.2),(-0.4,0.6),(1.28,0.6),(0.2,-1.4),(-0.2,-1.4),(0.6,0.2),(-0.2,0.2),(0.0,-0.2),(0.2,0.2),(-0.2,-0.6)]
|
||||
plot(0.1:0.2:0.9,0.7 * rand(5) + 0.15,l=(3,:dash,:lightblue),m=(Shape(verts),30,RGBA(0,0,0,0.2)),bg=:pink,fg=:darkblue,xlim=(0,1),ylim=(0,1),leg=false)
|
||||
```
|
||||
|
||||

|
||||
|
||||
- Supported arguments: `annotation`, `background_color`, `color`, `color_palette`, `fillcolor`, `fillopacity`, `fillrange`, `foreground_color`, `grid`, `group`, `guidefont`, `label`, `layout`, `legend`, `legendfont`, `lineopacity`, `linestyle`, `linetype`, `linewidth`, `markercolor`, `markeropacity`, `markershape`, `markersize`, `n`, `nbins`, `nc`, `nr`, `show`, `size`, `smooth`, `tickfont`, `title`, `windowtitle`, `x`, `xflip`, `xlabel`, `xlims`, `xscale`, `xticks`, `y`, `yflip`, `ylabel`, `ylims`, `yscale`, `yticks`, `z`
|
||||
- Supported values for axis: `:auto`, `:left`
|
||||
- Supported values for linetype: `:bar`, `:heatmap`, `:hexbin`, `:hist`, `:hline`, `:line`, `:none`, `:ohlc`, `:path`, `:scatter`, `:steppost`, `:steppre`, `:sticks`, `:vline`
|
||||
- Supported values for linestyle: `:auto`, `:dash`, `:dashdot`, `:dashdotdot`, `:dot`, `:solid`
|
||||
- Supported values for marker: `:Plots.Shape`, `:auto`, `:cross`, `:diamond`, `:dtriangle`, `:ellipse`, `:heptagon`, `:hexagon`, `:none`, `:octagon`, `:pentagon`, `:rect`, `:star4`, `:star5`, `:star6`, `:star7`, `:star8`, `:utriangle`, `:xcross`
|
||||
- Is `subplot`/`subplot!` supported? Yes
|
||||
|
||||
(Automatically generated: 2015-10-26T13:59:43)
|
||||
@@ -1,235 +0,0 @@
|
||||
# Examples for backend: immerse
|
||||
|
||||
- Supported arguments: `annotation`, `background_color`, `color`, `color_palette`, `fillrange`, `fillcolor`, `fillopacity`, `foreground_color`, `group`, `label`, `layout`, `legend`, `linestyle`, `linetype`, `linewidth`, `lineopacity`, `markershape`, `markercolor`, `markersize`, `markeropacity`, `n`, `nbins`, `nc`, `nr`, `smooth`, `show`, `size`, `title`, `windowtitle`, `x`, `xlabel`, `xlims`, `xticks`, `y`, `ylabel`, `ylims`, `yticks`, `xscale`, `yscale`, `xflip`, `yflip`, `z`, `tickfont`, `guidefont`, `legendfont`, `grid`
|
||||
- Supported values for axis: `:auto`, `:left`
|
||||
- Supported values for linetype: `:none`, `:line`, `:path`, `:steppre`, `:steppost`, `:sticks`, `:scatter`, `:heatmap`, `:hexbin`, `:hist`, `:bar`, `:hline`, `:vline`, `:ohlc`
|
||||
- Supported values for linestyle: `:auto`, `:solid`, `:dash`, `:dot`, `:dashdot`, `:dashdotdot`
|
||||
- Supported values for marker: `:none`, `:auto`, `:cross`, `:diamond`, `:dtriangle`, `:ellipse`, `:heptagon`, `:hexagon`, `:octagon`, `:pentagon`, `:rect`, `:star4`, `:star5`, `:star6`, `:star7`, `:star8`, `:utriangle`, `:xcross`, `:Plots.Shape`
|
||||
- Is `subplot`/`subplot!` supported? Yes
|
||||
|
||||
### Initialize
|
||||
|
||||
```julia
|
||||
using Plots
|
||||
immerse()
|
||||
```
|
||||
|
||||
### Lines
|
||||
|
||||
A simple line plot of the columns.
|
||||
|
||||
```julia
|
||||
plot(fakedata(50,5),w=3)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Functions, adding data, and animations
|
||||
|
||||
Plot multiple functions. You can also put the function first, or use the form `plot(f, xmin, xmax)` where f is a Function or AbstractVector{Function}. Set, get, and push/append to series data, and easily build animations.
|
||||
|
||||
Note: ImageMagick's `convert` or `ffmpeg` must be runnable from pwd to generate the animation.
|
||||
|
||||
```julia
|
||||
p = plot([sin,cos],zeros(0))
|
||||
anim = Animation()
|
||||
for x = linspace(0,10π,200) # /home/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 43:
|
||||
push!(p,x,Float64[sin(x),cos(x)]) # /home/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 44:
|
||||
frame(anim)
|
||||
end
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
Or make a parametric plot (i.e. plot: (fx(u), fy(u))) with plot(fx, fy, umin, umax).
|
||||
|
||||
```julia
|
||||
plot(sin,(x->begin # /home/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 50:
|
||||
sin(2x)
|
||||
end),0,2π,line=4,leg=false,fill=(0,:orange))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Colors
|
||||
|
||||
Access predefined palettes (or build your own with the `colorscheme` method). Line/marker colors are auto-generated from the plot's palette, unless overridden. Set the `z` argument to turn on series gradients.
|
||||
|
||||
```julia
|
||||
y = rand(100)
|
||||
plot(0:10:100,rand(11,4),lab="lines",w=3,palette=:grays,fill=(0.5,:auto))
|
||||
scatter!(y,z=abs(y - 0.5),m=(10,:heat),lab="grad")
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Global
|
||||
|
||||
Change the guides/background/limits/ticks. Convenience args `xaxis` and `yaxis` allow you to pass a tuple or value which will be mapped to the relevant args automatically. The `xaxis` below will be replaced with `xlabel` and `xlims` args automatically during the preprocessing step. You can also use shorthand functions: `title!`, `xaxis!`, `yaxis!`, `xlabel!`, `ylabel!`, `xlims!`, `ylims!`, `xticks!`, `yticks!`
|
||||
|
||||
```julia
|
||||
plot(rand(20,3),xaxis=("XLABEL",(-5,30),0:2:20,:flip),background_color=RGB(0.2,0.2,0.2),leg=false)
|
||||
title!("TITLE")
|
||||
yaxis!("YLABEL",:log10)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Two-axis
|
||||
|
||||
Use the `axis` arguments.
|
||||
|
||||
Note: Currently only supported with Qwt and PyPlot
|
||||
|
||||
```julia
|
||||
plot(Vector[randn(100),randn(100) * 100],axis=[:l :r],ylabel="LEFT",yrightlabel="RIGHT")
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Arguments
|
||||
|
||||
Plot multiple series with different numbers of points. Mix arguments that apply to all series (marker/markersize) with arguments unique to each series (colors). Special arguments `line`, `marker`, and `fill` will automatically figure out what arguments to set (for example, we are setting the `linestyle`, `linewidth`, and `color` arguments with `line`.) Note that we pass a matrix of colors, and this applies the colors to each series.
|
||||
|
||||
```julia
|
||||
plot(Vector[rand(10),rand(20)],marker=(:ellipse,8),line=(:dot,3,[:black :orange]))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Build plot in pieces
|
||||
|
||||
Start with a base plot...
|
||||
|
||||
```julia
|
||||
plot(rand(100) / 3,reg=true,fill=(0,:green))
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
and add to it later.
|
||||
|
||||
```julia
|
||||
scatter!(rand(100),markersize=6,c=:orange)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Heatmaps
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
heatmap(randn(10000),randn(10000),nbins=100)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
types = intersect(supportedTypes(),[:line,:path,:steppre,:steppost,:sticks,:scatter])'
|
||||
n = length(types)
|
||||
x = Vector[sort(rand(20)) for i = 1:n]
|
||||
y = rand(20,n)
|
||||
plot(x,y,line=(types,3),lab=map(string,types),ms=15)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line styles
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
styles = setdiff(supportedStyles(),[:auto])'
|
||||
plot(cumsum(randn(20,length(styles)),1),style=:auto,label=map(string,styles),w=5)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Marker types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
markers = setdiff(supportedMarkers(),[:none,:auto,Shape])'
|
||||
n = length(markers)
|
||||
x = (linspace(0,10,n + 2))[2:end - 1]
|
||||
y = repmat(reverse(x)',n,1)
|
||||
scatter(x,y,m=(12,:auto),lab=map(string,markers),bg=:linen)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Bar
|
||||
|
||||
x is the midpoint of the bar. (todo: allow passing of edges instead of midpoints)
|
||||
|
||||
```julia
|
||||
bar(randn(999))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Histogram
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
histogram(randn(1000),nbins=50)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Subplots
|
||||
|
||||
subplot and subplot! are distinct commands which create many plots and add series to them in a circular fashion.
|
||||
You can define the layout with keyword params... either set the number of plots `n` (and optionally number of rows `nr` or
|
||||
number of columns `nc`), or you can set the layout directly with `layout`.
|
||||
|
||||
|
||||
```julia
|
||||
subplot(randn(100,5),layout=[1,1,3],t=[:line :hist :scatter :step :bar],nbins=10,leg=false)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Adding to subplots
|
||||
|
||||
Note here the automatic grid layout, as well as the order in which new series are added to the plots.
|
||||
|
||||
```julia
|
||||
subplot(fakedata(100,10),n=4,palette=[:grays :blues :heat :lightrainbow],bg=[:orange :pink :darkblue :black])
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
subplot!(fakedata(100,10))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Annotations
|
||||
|
||||
Currently only text annotations are supported. Pass in a tuple or vector-of-tuples: (x,y,text). `annotate!(ann)` is shorthand for `plot!(; annotation=ann)`
|
||||
|
||||
```julia
|
||||
y = rand(10)
|
||||
plot(y,ann=(3,y[3],text("this is #3",:left)))
|
||||
annotate!([(5,y[5],text("this is #5",16,:red,:center)),(10,y[10],text("this is #10",:right,20,"courier"))])
|
||||
```
|
||||
|
||||

|
||||
|
||||
@@ -1,249 +0,0 @@
|
||||
## Examples for backend: pyplot
|
||||
|
||||
### Initialize
|
||||
|
||||
```julia
|
||||
using Plots
|
||||
pyplot()
|
||||
```
|
||||
|
||||
### Lines
|
||||
|
||||
A simple line plot of the columns.
|
||||
|
||||
```julia
|
||||
plot(Plots.fakedata(50,5),w=3)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Functions, adding data, and animations
|
||||
|
||||
Plot multiple functions. You can also put the function first, or use the form `plot(f, xmin, xmax)` where f is a Function or AbstractVector{Function}.
|
||||
|
||||
Get series data: `x, y = plt[i]`. Set series data: `plt[i] = (x,y)`. Add to the series with `push!`/`append!`.
|
||||
|
||||
Easily build animations. (`convert` or `ffmpeg` must be available to generate the animation.) Use command `gif(anim, filename, fps=15)` to save the animation.
|
||||
|
||||
```julia
|
||||
p = plot([sin,cos],zeros(0),leg=false)
|
||||
anim = Animation()
|
||||
for x = linspace(0,10π,200) # /home/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 35:
|
||||
push!(p,x,Float64[sin(x),cos(x)]) # /home/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 36:
|
||||
frame(anim)
|
||||
end
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Parametric plots
|
||||
|
||||
Plot function pair (x(u), y(u)).
|
||||
|
||||
```julia
|
||||
plot(sin,(x->begin # /home/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 42:
|
||||
sin(2x)
|
||||
end),0,2π,line=4,leg=false,fill=(0,:orange))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Colors
|
||||
|
||||
Access predefined palettes (or build your own with the `colorscheme` method). Line/marker colors are auto-generated from the plot's palette, unless overridden. Set the `z` argument to turn on series gradients.
|
||||
|
||||
```julia
|
||||
y = rand(100)
|
||||
plot(0:10:100,rand(11,4),lab="lines",w=3,palette=:grays,fill=(0.5,:auto))
|
||||
scatter!(y,z=abs(y - 0.5),m=(10,:heat),lab="grad")
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Global
|
||||
|
||||
Change the guides/background/limits/ticks. Convenience args `xaxis` and `yaxis` allow you to pass a tuple or value which will be mapped to the relevant args automatically. The `xaxis` below will be replaced with `xlabel` and `xlims` args automatically during the preprocessing step. You can also use shorthand functions: `title!`, `xaxis!`, `yaxis!`, `xlabel!`, `ylabel!`, `xlims!`, `ylims!`, `xticks!`, `yticks!`
|
||||
|
||||
```julia
|
||||
plot(rand(20,3),xaxis=("XLABEL",(-5,30),0:2:20,:flip),background_color=RGB(0.2,0.2,0.2),leg=false)
|
||||
title!("TITLE")
|
||||
yaxis!("YLABEL",:log10)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Two-axis
|
||||
|
||||
Use the `axis` arguments.
|
||||
|
||||
Note: Currently only supported with Qwt and PyPlot
|
||||
|
||||
```julia
|
||||
plot(Vector[randn(100),randn(100) * 100],axis=[:l :r],ylabel="LEFT",yrightlabel="RIGHT")
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Arguments
|
||||
|
||||
Plot multiple series with different numbers of points. Mix arguments that apply to all series (marker/markersize) with arguments unique to each series (colors). Special arguments `line`, `marker`, and `fill` will automatically figure out what arguments to set (for example, we are setting the `linestyle`, `linewidth`, and `color` arguments with `line`.) Note that we pass a matrix of colors, and this applies the colors to each series.
|
||||
|
||||
```julia
|
||||
plot(Vector[rand(10),rand(20)],marker=(:ellipse,8),line=(:dot,3,[:black :orange]))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Build plot in pieces
|
||||
|
||||
Start with a base plot...
|
||||
|
||||
```julia
|
||||
plot(rand(100) / 3,reg=true,fill=(0,:green))
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
and add to it later.
|
||||
|
||||
```julia
|
||||
scatter!(rand(100),markersize=6,c=:orange)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Heatmaps
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
heatmap(randn(10000),randn(10000),nbins=100)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
types = intersect(supportedTypes(),[:line,:path,:steppre,:steppost,:sticks,:scatter])'
|
||||
n = length(types)
|
||||
x = Vector[sort(rand(20)) for i = 1:n]
|
||||
y = rand(20,n)
|
||||
plot(x,y,line=(types,3),lab=map(string,types),ms=15)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line styles
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
styles = setdiff(supportedStyles(),[:auto])'
|
||||
plot(cumsum(randn(20,length(styles)),1),style=:auto,label=map(string,styles),w=5)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Marker types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
markers = setdiff(supportedMarkers(),[:none,:auto,Shape])'
|
||||
n = length(markers)
|
||||
x = (linspace(0,10,n + 2))[2:end - 1]
|
||||
y = repmat(reverse(x)',n,1)
|
||||
scatter(x,y,m=(8,:auto),lab=map(string,markers),bg=:linen)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Bar
|
||||
|
||||
x is the midpoint of the bar. (todo: allow passing of edges instead of midpoints)
|
||||
|
||||
```julia
|
||||
bar(randn(999))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Histogram
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
histogram(randn(1000),nbins=50)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Subplots
|
||||
|
||||
subplot and subplot! are distinct commands which create many plots and add series to them in a circular fashion.
|
||||
You can define the layout with keyword params... either set the number of plots `n` (and optionally number of rows `nr` or
|
||||
number of columns `nc`), or you can set the layout directly with `layout`.
|
||||
|
||||
|
||||
```julia
|
||||
subplot(randn(100,5),layout=[1,1,3],t=[:line :hist :scatter :step :bar],nbins=10,leg=false)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Adding to subplots
|
||||
|
||||
Note here the automatic grid layout, as well as the order in which new series are added to the plots.
|
||||
|
||||
```julia
|
||||
subplot(Plots.fakedata(100,10),n=4,palette=[:grays :blues :heat :lightrainbow],bg=[:orange :pink :darkblue :black])
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
subplot!(Plots.fakedata(100,10))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Annotations
|
||||
|
||||
Currently only text annotations are supported. Pass in a tuple or vector-of-tuples: (x,y,text). `annotate!(ann)` is shorthand for `plot!(; annotation=ann)`
|
||||
|
||||
```julia
|
||||
y = rand(10)
|
||||
plot(y,ann=(3,y[3],text("this is #3",:left)))
|
||||
annotate!([(5,y[5],text("this is #5",16,:red,:center)),(10,y[10],text("this is #10",:right,20,"courier"))])
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Custom Markers
|
||||
|
||||
A `Plots.Shape` is a light wrapper around vertices of a polygon. For supported backends, pass arbitrary polygons as the marker shapes. Note: The center is (0,0) and the size is expected to be rougly the area of the unit circle.
|
||||
|
||||
```julia
|
||||
verts = [(-1.0,1.0),(-1.28,0.6),(-0.2,-1.4),(0.2,-1.4),(1.28,0.6),(1.0,1.0),(-1.0,1.0),(-0.2,-0.6),(0.0,-0.2),(-0.4,0.6),(1.28,0.6),(0.2,-1.4),(-0.2,-1.4),(0.6,0.2),(-0.2,0.2),(0.0,-0.2),(0.2,0.2),(-0.2,-0.6)]
|
||||
plot(0.1:0.2:0.9,0.7 * rand(5) + 0.15,l=(3,:dash,:lightblue),m=(Shape(verts),30,RGBA(0,0,0,0.2)),bg=:pink,fg=:darkblue,xlim=(0,1),ylim=(0,1),leg=false)
|
||||
```
|
||||
|
||||

|
||||
|
||||
- Supported arguments: `annotation`, `axis`, `background_color`, `color`, `color_palette`, `fillcolor`, `fillrange`, `foreground_color`, `group`, `guidefont`, `label`, `layout`, `legend`, `legendfont`, `linestyle`, `linetype`, `linewidth`, `markercolor`, `markershape`, `markersize`, `n`, `nbins`, `nc`, `nr`, `show`, `size`, `tickfont`, `title`, `windowtitle`, `x`, `xflip`, `xlabel`, `xlims`, `xscale`, `xticks`, `y`, `yflip`, `ylabel`, `ylims`, `yrightlabel`, `yscale`, `yticks`, `z`
|
||||
- Supported values for axis: `:auto`, `:left`, `:right`
|
||||
- Supported values for linetype: `:bar`, `:heatmap`, `:hexbin`, `:hist`, `:hline`, `:line`, `:none`, `:path`, `:scatter`, `:steppost`, `:steppre`, `:sticks`, `:vline`
|
||||
- Supported values for linestyle: `:auto`, `:dash`, `:dashdot`, `:dot`, `:solid`
|
||||
- Supported values for marker: `:Plots.Shape`, `:auto`, `:cross`, `:diamond`, `:dtriangle`, `:ellipse`, `:heptagon`, `:hexagon`, `:none`, `:octagon`, `:pentagon`, `:rect`, `:star4`, `:star5`, `:star6`, `:star7`, `:star8`, `:utriangle`, `:xcross`
|
||||
- Is `subplot`/`subplot!` supported? Yes
|
||||
|
||||
(Automatically generated: 2015-10-26T14:00:57)
|
||||
@@ -1,238 +0,0 @@
|
||||
## Examples for backend: qwt
|
||||
|
||||
### Initialize
|
||||
|
||||
```julia
|
||||
using Plots
|
||||
qwt()
|
||||
```
|
||||
|
||||
### Lines
|
||||
|
||||
A simple line plot of the columns.
|
||||
|
||||
```julia
|
||||
plot(Plots.fakedata(50,5),w=3)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Functions, adding data, and animations
|
||||
|
||||
Plot multiple functions. You can also put the function first, or use the form `plot(f, xmin, xmax)` where f is a Function or AbstractVector{Function}.
|
||||
|
||||
Get series data: `x, y = plt[i]`. Set series data: `plt[i] = (x,y)`. Add to the series with `push!`/`append!`.
|
||||
|
||||
Easily build animations. (`convert` or `ffmpeg` must be available to generate the animation.) Use command `gif(anim, filename, fps=15)` to save the animation.
|
||||
|
||||
```julia
|
||||
p = plot([sin,cos],zeros(0),leg=false)
|
||||
anim = Animation()
|
||||
for x = linspace(0,10π,200) # /home/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 35:
|
||||
push!(p,x,Float64[sin(x),cos(x)]) # /home/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 36:
|
||||
frame(anim)
|
||||
end
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Parametric plots
|
||||
|
||||
Plot function pair (x(u), y(u)).
|
||||
|
||||
```julia
|
||||
plot(sin,(x->begin # /home/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 42:
|
||||
sin(2x)
|
||||
end),0,2π,line=4,leg=false,fill=(0,:orange))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Colors
|
||||
|
||||
Access predefined palettes (or build your own with the `colorscheme` method). Line/marker colors are auto-generated from the plot's palette, unless overridden. Set the `z` argument to turn on series gradients.
|
||||
|
||||
```julia
|
||||
y = rand(100)
|
||||
plot(0:10:100,rand(11,4),lab="lines",w=3,palette=:grays,fill=(0.5,:auto))
|
||||
scatter!(y,z=abs(y - 0.5),m=(10,:heat),lab="grad")
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Global
|
||||
|
||||
Change the guides/background/limits/ticks. Convenience args `xaxis` and `yaxis` allow you to pass a tuple or value which will be mapped to the relevant args automatically. The `xaxis` below will be replaced with `xlabel` and `xlims` args automatically during the preprocessing step. You can also use shorthand functions: `title!`, `xaxis!`, `yaxis!`, `xlabel!`, `ylabel!`, `xlims!`, `ylims!`, `xticks!`, `yticks!`
|
||||
|
||||
```julia
|
||||
plot(rand(20,3),xaxis=("XLABEL",(-5,30),0:2:20,:flip),background_color=RGB(0.2,0.2,0.2),leg=false)
|
||||
title!("TITLE")
|
||||
yaxis!("YLABEL",:log10)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Two-axis
|
||||
|
||||
Use the `axis` arguments.
|
||||
|
||||
Note: Currently only supported with Qwt and PyPlot
|
||||
|
||||
```julia
|
||||
plot(Vector[randn(100),randn(100) * 100],axis=[:l :r],ylabel="LEFT",yrightlabel="RIGHT")
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Arguments
|
||||
|
||||
Plot multiple series with different numbers of points. Mix arguments that apply to all series (marker/markersize) with arguments unique to each series (colors). Special arguments `line`, `marker`, and `fill` will automatically figure out what arguments to set (for example, we are setting the `linestyle`, `linewidth`, and `color` arguments with `line`.) Note that we pass a matrix of colors, and this applies the colors to each series.
|
||||
|
||||
```julia
|
||||
plot(Vector[rand(10),rand(20)],marker=(:ellipse,8),line=(:dot,3,[:black :orange]))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Build plot in pieces
|
||||
|
||||
Start with a base plot...
|
||||
|
||||
```julia
|
||||
plot(rand(100) / 3,reg=true,fill=(0,:green))
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
and add to it later.
|
||||
|
||||
```julia
|
||||
scatter!(rand(100),markersize=6,c=:orange)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Heatmaps
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
heatmap(randn(10000),randn(10000),nbins=100)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
types = intersect(supportedTypes(),[:line,:path,:steppre,:steppost,:sticks,:scatter])'
|
||||
n = length(types)
|
||||
x = Vector[sort(rand(20)) for i = 1:n]
|
||||
y = rand(20,n)
|
||||
plot(x,y,line=(types,3),lab=map(string,types),ms=15)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line styles
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
styles = setdiff(supportedStyles(),[:auto])'
|
||||
plot(cumsum(randn(20,length(styles)),1),style=:auto,label=map(string,styles),w=5)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Marker types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
markers = setdiff(supportedMarkers(),[:none,:auto,Shape])'
|
||||
n = length(markers)
|
||||
x = (linspace(0,10,n + 2))[2:end - 1]
|
||||
y = repmat(reverse(x)',n,1)
|
||||
scatter(x,y,m=(8,:auto),lab=map(string,markers),bg=:linen)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Bar
|
||||
|
||||
x is the midpoint of the bar. (todo: allow passing of edges instead of midpoints)
|
||||
|
||||
```julia
|
||||
bar(randn(999))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Histogram
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
histogram(randn(1000),nbins=50)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Subplots
|
||||
|
||||
subplot and subplot! are distinct commands which create many plots and add series to them in a circular fashion.
|
||||
You can define the layout with keyword params... either set the number of plots `n` (and optionally number of rows `nr` or
|
||||
number of columns `nc`), or you can set the layout directly with `layout`.
|
||||
|
||||
|
||||
```julia
|
||||
subplot(randn(100,5),layout=[1,1,3],t=[:line :hist :scatter :step :bar],nbins=10,leg=false)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Adding to subplots
|
||||
|
||||
Note here the automatic grid layout, as well as the order in which new series are added to the plots.
|
||||
|
||||
```julia
|
||||
subplot(Plots.fakedata(100,10),n=4,palette=[:grays :blues :heat :lightrainbow],bg=[:orange :pink :darkblue :black])
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
subplot!(Plots.fakedata(100,10))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Annotations
|
||||
|
||||
Currently only text annotations are supported. Pass in a tuple or vector-of-tuples: (x,y,text). `annotate!(ann)` is shorthand for `plot!(; annotation=ann)`
|
||||
|
||||
```julia
|
||||
y = rand(10)
|
||||
plot(y,ann=(3,y[3],text("this is #3",:left)))
|
||||
annotate!([(5,y[5],text("this is #5",16,:red,:center)),(10,y[10],text("this is #10",:right,20,"courier"))])
|
||||
```
|
||||
|
||||

|
||||
|
||||
- Supported arguments: `annotation`, `axis`, `background_color`, `color`, `color_palette`, `fillcolor`, `fillrange`, `foreground_color`, `group`, `label`, `layout`, `legend`, `linestyle`, `linetype`, `linewidth`, `markercolor`, `markershape`, `markersize`, `n`, `nbins`, `nc`, `nr`, `pos`, `show`, `size`, `smooth`, `title`, `windowtitle`, `x`, `xlabel`, `xlims`, `xscale`, `xticks`, `y`, `ylabel`, `ylims`, `yrightlabel`, `yscale`, `yticks`
|
||||
- Supported values for axis: `:auto`, `:left`, `:right`
|
||||
- Supported values for linetype: `:bar`, `:heatmap`, `:hexbin`, `:hist`, `:hline`, `:line`, `:none`, `:path`, `:scatter`, `:steppost`, `:steppre`, `:sticks`, `:vline`
|
||||
- Supported values for linestyle: `:auto`, `:dash`, `:dashdot`, `:dashdotdot`, `:dot`, `:solid`
|
||||
- Supported values for marker: `:auto`, `:cross`, `:diamond`, `:dtriangle`, `:ellipse`, `:hexagon`, `:none`, `:rect`, `:star5`, `:star8`, `:utriangle`, `:xcross`
|
||||
- Is `subplot`/`subplot!` supported? Yes
|
||||
|
||||
(Automatically generated: 2015-10-26T14:02:19)
|
||||
@@ -1,304 +0,0 @@
|
||||
# Plots
|
||||
|
||||
[](https://travis-ci.org/tbreloff/Plots.jl)
|
||||
[](http://pkg.julialang.org/?pkg=Plots&ver=0.3)
|
||||
[](http://pkg.julialang.org/?pkg=Plots&ver=0.4)
|
||||
<!-- [](https://coveralls.io/r/tbreloff/Plots.jl?branch=master) -->
|
||||
<!-- [](http://codecov.io/github/tbreloff/Plots.jl?branch=master) -->
|
||||
|
||||
#### Author: Thomas Breloff (@tbreloff)
|
||||
|
||||
Plots is a plotting API and toolset. My goals with the package are:
|
||||
|
||||
- **Intuitive**. Start generating complex plots without reading volumes of documentation. Commands should "just work".
|
||||
- **Concise**. Less code means fewer mistakes and more efficient development/analysis.
|
||||
- **Flexible**. Produce your favorite plots from your favorite package, but quicker and simpler.
|
||||
- **Consistent**. Don't commit to one graphics package. Use the same code and access the strengths of all backends.
|
||||
- **Lightweight**. Very few dependencies, since backends are loaded and initialized dynamically.
|
||||
|
||||
Use the preprocessing pipeline in Plots to fully describe your visualization before it calls the backend code. This maintains modularity and allows for efficient separation of front end code, algorithms, and backend graphics. New graphical backends can be added with minimal effort.
|
||||
|
||||
Check out the [summary graphs](img/supported/supported.md) for the features that each backend supports.
|
||||
|
||||
Please add wishlist items, bugs, or any other comments/questions to the issues list.
|
||||
|
||||
## Examples for each implemented backend:
|
||||
|
||||
- [Gadfly.jl/Immerse.jl](docs/gadfly_examples.md)
|
||||
- [PyPlot.jl](docs/pyplot_examples.md)
|
||||
- [UnicodePlots.jl](docs/unicodeplots_examples.md)
|
||||
- [Qwt.jl](docs/qwt_examples.md)
|
||||
|
||||
Also check out the many [IJulia notebooks](http://nbviewer.ipython.org/github/tbreloff/Plots.jl/tree/master/examples/) with many examples.
|
||||
|
||||
## Installation
|
||||
|
||||
First, add the package
|
||||
|
||||
```julia
|
||||
Pkg.add("Plots")
|
||||
|
||||
# if you want the latest features:
|
||||
Pkg.checkout("Plots")
|
||||
|
||||
# or for the bleeding edge:
|
||||
Pkg.checkout("Plots", "dev")
|
||||
```
|
||||
|
||||
then get any plotting packages you need (obviously, you should get at least one backend).
|
||||
|
||||
```julia
|
||||
Pkg.add("Gadfly")
|
||||
Pkg.add("Immerse")
|
||||
Pkg.add("PyPlot")
|
||||
Pkg.add("UnicodePlots")
|
||||
Pkg.clone("https://github.com/tbreloff/Qwt.jl.git")
|
||||
```
|
||||
|
||||
## Use
|
||||
|
||||
Load it in. The underlying plotting backends are not imported until `backend()` is called (which happens
|
||||
on your first call to `plot` or `subplot`). This means that you don't need any backends to be installed when you call `using Plots`.
|
||||
|
||||
Plots will try to figure out a good default backend for you automatically based on what backends are installed.
|
||||
|
||||
```julia
|
||||
using Plots
|
||||
```
|
||||
|
||||
Do a plot in Gadfly (inspired by [this example](http://gadflyjl.org/geom_point.html)), then save a png:
|
||||
|
||||
```julia
|
||||
gadfly() # switch to Gadfly as a backend
|
||||
dataframes() # turn on support for DataFrames inputs
|
||||
|
||||
# load some data
|
||||
using RDatasets
|
||||
iris = dataset("datasets", "iris");
|
||||
|
||||
# This will bring up a browser window with the plot. Add a semicolon at the end to skip display.
|
||||
scatter(iris, :SepalLength, :SepalWidth, group=:Species, m=([:+ :d :s], 12), smooth=0.99, bg=:black)
|
||||
|
||||
# save a png (equivalent to png("gadfly1.png") and savefig("gadfly1.png"))
|
||||
png("gadfly1")
|
||||
```
|
||||
|
||||

|
||||
|
||||
## API
|
||||
|
||||
Call `backend(backend::Symbol)` or the shorthands (`gadfly()`, `qwt()`, `unicodeplots()`, etc) to set the current plotting backend.
|
||||
Subsequent commands are converted into the relevant plotting commands for that package:
|
||||
|
||||
```julia
|
||||
gadfly()
|
||||
plot(1:10) # this effectively calls `y = 1:10; Gadfly.plot(x=1:length(y), y=y)`
|
||||
qwt()
|
||||
plot(1:10) # this effectively calls `Qwt.plot(1:10)`
|
||||
```
|
||||
|
||||
Use `plot` to create a new plot object, and `plot!` to add to an existing one:
|
||||
|
||||
```julia
|
||||
plot(args...; kw...) # creates a new plot window, and sets it to be the `current`
|
||||
plot!(args...; kw...) # adds to the `current`
|
||||
plot!(plotobj, args...; kw...) # adds to the plot `plotobj`
|
||||
```
|
||||
|
||||
Now that you know which plot object you're updating (new, current, or other), I'll leave it off for simplicity.
|
||||
There are many ways to pass in data to the plot functions... some examples:
|
||||
|
||||
- Vector-like (subtypes of AbstractArray{T,1})
|
||||
- Matrix-like (subtypes of AbstractArray{T,2})
|
||||
- Vectors of Vectors
|
||||
- Functions
|
||||
- Vectors of Functions
|
||||
- DataFrames with column symbols (initialize with `dataframes()`)
|
||||
|
||||
In general, you can pass in a `y` only, or an `x` and `y`, both of whatever type(s) you want, and Plots will slice up the data as needed.
|
||||
For matrices, data is split by columns. For functions, data is mapped. For DataFrames, a Symbol/Symbols in place of x/y will map to
|
||||
the relevant column(s).
|
||||
|
||||
Here are some example usages... remember you can always use `plot!` to update an existing plot, and that, unless specified, you will update the `current()`.
|
||||
|
||||
```julia
|
||||
plot() # empty plot object
|
||||
plot(4) # initialize with 4 empty series
|
||||
plot(rand(10)) # plot 1 series... x = 1:10
|
||||
plot(rand(10,5)) # plot 5 series... x = 1:10
|
||||
plot(rand(10), rand(10)) # plot 1 series
|
||||
plot(rand(10,5), rand(10)) # plot 5 series... y is the same for all
|
||||
plot(sin, rand(10)) # y = sin(x)
|
||||
plot(rand(10), sin) # same... y = sin(x)
|
||||
plot([sin,cos], 0:0.1:π) # plot 2 series, sin(x) and cos(x)
|
||||
plot([sin,cos], 0, π) # plot sin and cos on the range [0, π]
|
||||
plot(1:10, Any[rand(10), sin]) # plot 2 series, y = rand(10) for the first, y = sin(x) for the second... x = 1:10 for both
|
||||
plot(dataset("Ecdat", "Airline"), :Cost) # plot from a DataFrame (call `dataframes()` first to import DataFrames and initialize)
|
||||
```
|
||||
|
||||
All plot methods accept a number of keyword arguments (see the tables below), which follow some rules:
|
||||
- Many arguments have aliases which are replaced during preprocessing. `c` is the same as `color`, `m` is the same as `marker`, etc. You can choose how verbose you'd like to be. (see the tables below)
|
||||
- There are some special arguments (`xaxis`, `yaxis`, `line`, `marker`, `fill` and the aliases `l`, `m`, `f`) which magically set many related things at once. (see the __Tip__ below)
|
||||
- If the argument is a "matrix-type", then each column will map to a series, cycling through columns if there are fewer columns than series. Anything else will apply the argument value to every series.
|
||||
- Many arguments accept many different types... for example the `color` (also `markercolor`, `fillcolor`, etc) argument will accept strings or symbols with a color name, or any `Colors.Colorant`, or a `ColorScheme`, or a symbol representing a `ColorGradient`, or an AbstractVector of colors/symbols/etc...
|
||||
|
||||
You can update certain plot settings after plot creation (not supported on all backends):
|
||||
|
||||
```julia
|
||||
plot!(title = "New Title", xlabel = "New xlabel", ylabel = "New ylabel")
|
||||
plot!(xlims = (0, 5.5), ylims = (-2.2, 6), xticks = 0:0.5:10, yticks = [0,1,5,10])
|
||||
|
||||
# using shorthands:
|
||||
xaxis!("mylabel", :log10, :flip)
|
||||
```
|
||||
|
||||
With `subplot`, create multiple plots at once, with flexible layout options:
|
||||
|
||||
```julia
|
||||
y = rand(100,3)
|
||||
subplot(y; n = 3) # create an automatic grid, and let it figure out the shape
|
||||
subplot(y; n = 3, nr = 1) # create an automatic grid, but fix the number of rows
|
||||
subplot(y; n = 3, nc = 1) # create an automatic grid, but fix the number of columns
|
||||
subplot(y; layout = [1, 2]) # explicit layout. Lists the number of plots in each row
|
||||
```
|
||||
|
||||
__Tip__: You can call `subplot!(args...; kw...)` to add to an existing subplot.
|
||||
|
||||
__Tip__: Calling `subplot!` on a `Plot` object, or `plot!` on a `Subplot` object will throw an error.
|
||||
|
||||
Shorthands:
|
||||
|
||||
```julia
|
||||
scatter(args...; kw...) = plot(args...; kw..., linetype = :scatter)
|
||||
scatter!(args...; kw...) = plot!(args...; kw..., linetype = :scatter)
|
||||
bar(args...; kw...) = plot(args...; kw..., linetype = :bar)
|
||||
bar!(args...; kw...) = plot!(args...; kw..., linetype = :bar)
|
||||
histogram(args...; kw...) = plot(args...; kw..., linetype = :hist)
|
||||
histogram!(args...; kw...) = plot!(args...; kw..., linetype = :hist)
|
||||
heatmap(args...; kw...) = plot(args...; kw..., linetype = :heatmap)
|
||||
heatmap!(args...; kw...) = plot!(args...; kw..., linetype = :heatmap)
|
||||
sticks(args...; kw...) = plot(args...; kw..., linetype = :sticks, marker = :ellipse)
|
||||
sticks!(args...; kw...) = plot!(args...; kw..., linetype = :sticks, marker = :ellipse)
|
||||
hline(args...; kw...) = plot(args...; kw..., linetype = :hline)
|
||||
hline!(args...; kw...) = plot!(args...; kw..., linetype = :hline)
|
||||
vline(args...; kw...) = plot(args...; kw..., linetype = :vline)
|
||||
vline!(args...; kw...) = plot!(args...; kw..., linetype = :vline)
|
||||
ohlc(args...; kw...) = plot(args...; kw..., linetype = :ohlc)
|
||||
ohlc!(args...; kw...) = plot!(args...; kw..., linetype = :ohlc)
|
||||
|
||||
title!(s::AbstractString) = plot!(title = s)
|
||||
xlabel!(s::AbstractString) = plot!(xlabel = s)
|
||||
ylabel!(s::AbstractString) = plot!(ylabel = s)
|
||||
xlims!{T<:Real,S<:Real}(lims::Tuple{T,S}) = plot!(xlims = lims)
|
||||
ylims!{T<:Real,S<:Real}(lims::Tuple{T,S}) = plot!(ylims = lims)
|
||||
xticks!{T<:Real}(v::AVec{T}) = plot!(xticks = v)
|
||||
yticks!{T<:Real}(v::AVec{T}) = plot!(yticks = v)
|
||||
xflip!(flip::Bool = true) = plot!(xflip = flip)
|
||||
yflip!(flip::Bool = true) = plot!(yflip = flip)
|
||||
xaxis!(args...) = plot!(xaxis = args)
|
||||
yaxis!(args...) = plot!(yaxis = args)
|
||||
annotate!(anns) = plot!(annotation = anns)
|
||||
```
|
||||
|
||||
### Keyword arguments:
|
||||
|
||||
[[KEYWORD_ARGS_TABLE]]
|
||||
|
||||
### Plot types:
|
||||
|
||||
[[LINETYPES_TABLE]]
|
||||
|
||||
### Line styles:
|
||||
|
||||
[[LINESTYLES_TABLE]]
|
||||
|
||||
### Markers:
|
||||
|
||||
[[MARKERS_TABLE]]
|
||||
|
||||
__Tip__: With supported backends, you can pass a `Plots.Shape` object for the `marker`/`markershape` arguments. `Shape` takes a vector of 2-tuples in the constructor, defining the points of the polygon's shape in a unit-scaled coordinate space. To make a square, for example, you could do `Shape([(1,1),(1,-1),(-1,-1),(-1,1)])`
|
||||
|
||||
__Tip__: You can see the default value for a given argument with `default(arg::Symbol)`, and set the default value with `default(arg::Symbol, value)` or `default(; kw...)`. For example set the default window size and whether we should show a legend with `default(size=(600,400), leg=false)`.
|
||||
|
||||
__Tip__: There are some helper arguments you can set: `xaxis`, `yaxis`, `line`, `marker`, `fill`. These go through special preprocessing to extract values into individual arguments. The order doesn't matter, and if you pass a single value it's equivalent to wrapping it in a Tuple. Examples:
|
||||
|
||||
```
|
||||
plot(y, xaxis = ("mylabel", :log, :flip, (-1,1))) # this sets the `xlabel`, `xscale`, `xflip`, and `xlims` arguments automatically
|
||||
plot(y, line = (:bar, :blue, :dot, 10)) # this sets the `linetype`, `color`, `linestyle`, and `linewidth` arguments automatically
|
||||
plot(y, marker = (:rect, :red, 10)) # this sets the `markershape`, `markercolor`, and `markersize` arguments automatically
|
||||
plot(y, fill = (:green, 10)) # this sets the `fillcolor` and `fillrange` arguments automatically
|
||||
# Note: `fillrange` can be:
|
||||
a number (fill to horizontal line)
|
||||
a vector of numbers (different for each data point)
|
||||
a tuple of vectors (fill a band)
|
||||
```
|
||||
|
||||
__Tip__: When plotting multiple lines, you can set all series to use the same value, or pass in a matrix to cycle through values. Example:
|
||||
|
||||
```julia
|
||||
plot(rand(100,4); color = [:red RGB(0,0,1)], # (Matrix) lines 1 and 3 are red, lines 2 and 4 are blue
|
||||
axis = :auto, # lines 1 and 3 are on the left axis, lines 2 and 4 are on the right
|
||||
markershape = [:rect, :star] # (Vector) ALL lines are passed the vector [:rect, :star1]
|
||||
width = 5) # all lines have a width of 5
|
||||
```
|
||||
|
||||
__Tip__: Not all features are supported for each backend, but you can see what's supported by calling the functions: `supportedArgs()`, `supportedAxes()`, `supportedTypes()`, `supportedStyles()`, `supportedMarkers()`, `subplotSupported()`
|
||||
|
||||
__Tip__: Call `gui()` to display the plot in a window. Interactivity depends on backend. Plotting at the REPL (without semicolon) implicitly calls `gui()`.
|
||||
|
||||
### Animations
|
||||
|
||||
Animations are created in 3 steps (see example #2):
|
||||
- Initialize an `Animation` object.
|
||||
- Save each frame of the animation with `frame(anim)`.
|
||||
- Convert the frames to an animated gif with `gif(anim, filename, fps=15)`
|
||||
|
||||
|
||||
## TODO features:
|
||||
|
||||
- [x] Plot vectors/matrices/functions
|
||||
- [x] Plot DataFrames
|
||||
- [x] Histograms
|
||||
- [x] Grouping
|
||||
- [x] Annotations
|
||||
- [x] Scales
|
||||
- [x] Categorical Inputs (strings, etc... for hist, bar? or can split one series into multiple?)
|
||||
- [x] Custom markers
|
||||
- [x] Animations
|
||||
- [x] Subplots
|
||||
- [ ] Contours
|
||||
- [ ] Boxplots
|
||||
- [ ] 3D plotting
|
||||
- [ ] Scenes/Drawing
|
||||
- [ ] Graphs
|
||||
- [ ] Interactivity (GUIs)
|
||||
|
||||
## TODO backends:
|
||||
|
||||
- [x] Gadfly.jl
|
||||
- [x] Immerse.jl
|
||||
- [x] PyPlot.jl
|
||||
- [x] UnicodePlots.jl
|
||||
- [x] Qwt.jl
|
||||
- [x] Winston.jl (deprecated)
|
||||
- [ ] GLPlot.jl
|
||||
- [ ] Bokeh.jl
|
||||
- [ ] Vega.jl
|
||||
- [ ] Gaston.jl
|
||||
- [ ] Plotly.jl
|
||||
- [ ] GoogleCharts.jl
|
||||
- [ ] PLplot.jl
|
||||
- [ ] TextPlots.jl
|
||||
- [ ] ASCIIPlots.jl
|
||||
- [ ] Sparklines.jl
|
||||
- [ ] Hinton.jl
|
||||
- [ ] ImageTerm.jl
|
||||
- [ ] GraphViz.jl
|
||||
- [ ] TikzGraphs.jl
|
||||
- [ ] GraphLayout.jl
|
||||
|
||||
## More information on backends (both supported and unsupported)
|
||||
|
||||
See the wiki at: https://github.com/JuliaPlot/juliaplot_docs/wiki
|
||||
|
||||
|
||||
@@ -1,208 +0,0 @@
|
||||
## Examples for backend: unicodeplots
|
||||
|
||||
### Initialize
|
||||
|
||||
```julia
|
||||
using Plots
|
||||
unicodeplots()
|
||||
```
|
||||
|
||||
### Lines
|
||||
|
||||
A simple line plot of the columns.
|
||||
|
||||
```julia
|
||||
plot(fakedata(50,5),w=3)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Parametric plots
|
||||
|
||||
Plot function pair (x(u), y(u)).
|
||||
|
||||
```julia
|
||||
plot(sin,(x->begin # /Users/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 50:
|
||||
sin(2x)
|
||||
end),0,2π,line=4,leg=false,fill=(0,:orange))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Colors
|
||||
|
||||
Access predefined palettes (or build your own with the `colorscheme` method). Line/marker colors are auto-generated from the plot's palette, unless overridden. Set the `z` argument to turn on series gradients.
|
||||
|
||||
```julia
|
||||
y = rand(100)
|
||||
plot(0:10:100,rand(11,4),lab="lines",w=3,palette=:grays,fill=(0.5,:auto))
|
||||
scatter!(y,z=abs(y - 0.5),m=(10,:heat),lab="grad")
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Global
|
||||
|
||||
Change the guides/background/limits/ticks. Convenience args `xaxis` and `yaxis` allow you to pass a tuple or value which will be mapped to the relevant args automatically. The `xaxis` below will be replaced with `xlabel` and `xlims` args automatically during the preprocessing step. You can also use shorthand functions: `title!`, `xaxis!`, `yaxis!`, `xlabel!`, `ylabel!`, `xlims!`, `ylims!`, `xticks!`, `yticks!`
|
||||
|
||||
```julia
|
||||
plot(rand(20,3),xaxis=("XLABEL",(-5,30),0:2:20,:flip),background_color=RGB(0.2,0.2,0.2),leg=false)
|
||||
title!("TITLE")
|
||||
yaxis!("YLABEL",:log10)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Two-axis
|
||||
|
||||
Use the `axis` arguments.
|
||||
|
||||
Note: Currently only supported with Qwt and PyPlot
|
||||
|
||||
```julia
|
||||
plot(Vector[randn(100),randn(100) * 100],axis=[:l :r],ylabel="LEFT",yrightlabel="RIGHT")
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Arguments
|
||||
|
||||
Plot multiple series with different numbers of points. Mix arguments that apply to all series (marker/markersize) with arguments unique to each series (colors). Special arguments `line`, `marker`, and `fill` will automatically figure out what arguments to set (for example, we are setting the `linestyle`, `linewidth`, and `color` arguments with `line`.) Note that we pass a matrix of colors, and this applies the colors to each series.
|
||||
|
||||
```julia
|
||||
plot(Vector[rand(10),rand(20)],marker=(:ellipse,8),line=(:dot,3,[:black :orange]))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Build plot in pieces
|
||||
|
||||
Start with a base plot...
|
||||
|
||||
```julia
|
||||
plot(rand(100) / 3,reg=true,fill=(0,:green))
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
and add to it later.
|
||||
|
||||
```julia
|
||||
scatter!(rand(100),markersize=6,c=:orange)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
types = intersect(supportedTypes(),[:line,:path,:steppre,:steppost,:sticks,:scatter])'
|
||||
n = length(types)
|
||||
x = Vector[sort(rand(20)) for i = 1:n]
|
||||
y = rand(20,n)
|
||||
plot(x,y,line=(types,3),lab=map(string,types),ms=15)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line styles
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
styles = setdiff(supportedStyles(),[:auto])'
|
||||
plot(cumsum(randn(20,length(styles)),1),style=:auto,label=map(string,styles),w=5)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Marker types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
markers = setdiff(supportedMarkers(),[:none,:auto,Shape])'
|
||||
n = length(markers)
|
||||
x = (linspace(0,10,n + 2))[2:end - 1]
|
||||
y = repmat(reverse(x)',n,1)
|
||||
scatter(x,y,m=(8,:auto),lab=map(string,markers),bg=:linen)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Bar
|
||||
|
||||
x is the midpoint of the bar. (todo: allow passing of edges instead of midpoints)
|
||||
|
||||
```julia
|
||||
bar(randn(999))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Histogram
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
histogram(randn(1000),nbins=50)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Subplots
|
||||
|
||||
subplot and subplot! are distinct commands which create many plots and add series to them in a circular fashion.
|
||||
You can define the layout with keyword params... either set the number of plots `n` (and optionally number of rows `nr` or
|
||||
number of columns `nc`), or you can set the layout directly with `layout`.
|
||||
|
||||
|
||||
```julia
|
||||
subplot(randn(100,5),layout=[1,1,3],t=[:line :hist :scatter :step :bar],nbins=10,leg=false)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Adding to subplots
|
||||
|
||||
Note here the automatic grid layout, as well as the order in which new series are added to the plots.
|
||||
|
||||
```julia
|
||||
subplot(fakedata(100,10),n=4,palette=[:grays :blues :heat :lightrainbow],bg=[:orange :pink :darkblue :black])
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
subplot!(fakedata(100,10))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Custom Markers
|
||||
|
||||
A `Plots.Shape` is a light wrapper around vertices of a polygon. For supported backends, pass arbitrary polygons as the marker shapes. Note: The center is (0,0) and the size is expected to be rougly the area of the unit circle.
|
||||
|
||||
```julia
|
||||
verts = [(-1.0,1.0),(-1.28,0.6),(-0.2,-1.4),(0.2,-1.4),(1.28,0.6),(1.0,1.0),(-1.0,1.0),(-0.2,-0.6),(0.0,-0.2),(-0.4,0.6),(1.28,0.6),(0.2,-1.4),(-0.2,-1.4),(0.6,0.2),(-0.2,0.2),(0.0,-0.2),(0.2,0.2),(-0.2,-0.6)]
|
||||
plot(0.1:0.2:0.9,0.7 * rand(5) + 0.15,l=(3,:dash,:lightblue),m=(Shape(verts),30,RGBA(0,0,0,0.2)),bg=:pink,fg=:darkblue,xlim=(0,1),ylim=(0,1),leg=false)
|
||||
```
|
||||
|
||||

|
||||
|
||||
- Supported arguments: `group`, `label`, `legend`, `linestyle`, `linetype`, `markershape`, `nbins`, `show`, `size`, `title`, `windowtitle`, `x`, `xlabel`, `xlims`, `y`, `ylabel`, `ylims`
|
||||
- Supported values for axis: `:auto`, `:left`
|
||||
- Supported values for linetype: `:bar`, `:heatmap`, `:hexbin`, `:hist`, `:hline`, `:line`, `:none`, `:path`, `:scatter`, `:steppost`, `:sticks`, `:vline`
|
||||
- Supported values for linestyle: `:auto`, `:solid`
|
||||
- Supported values for marker: `:auto`, `:ellipse`, `:none`
|
||||
- Is `subplot`/`subplot!` supported? Yes
|
||||
|
||||
(Automatically generated: 2015-10-18T00:07:46)
|
||||
@@ -1,164 +0,0 @@
|
||||
## Examples for backend: winston
|
||||
|
||||
### Initialize
|
||||
|
||||
```julia
|
||||
using Plots
|
||||
winston()
|
||||
```
|
||||
|
||||
### Lines
|
||||
|
||||
A simple line plot of the columns.
|
||||
|
||||
```julia
|
||||
plot(fakedata(50,5),w=3)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Parametric plots
|
||||
|
||||
Plot function pair (x(u), y(u)).
|
||||
|
||||
```julia
|
||||
plot(sin,(x->begin # /Users/tom/.julia/v0.4/Plots/docs/example_generation.jl, line 50:
|
||||
sin(2x)
|
||||
end),0,2π,line=4,leg=false,fill=(0,:orange))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Colors
|
||||
|
||||
Access predefined palettes (or build your own with the `colorscheme` method). Line/marker colors are auto-generated from the plot's palette, unless overridden. Set the `z` argument to turn on series gradients.
|
||||
|
||||
```julia
|
||||
y = rand(100)
|
||||
plot(0:10:100,rand(11,4),lab="lines",w=3,palette=:grays,fill=(0.5,:auto))
|
||||
scatter!(y,z=abs(y - 0.5),m=(10,:heat),lab="grad")
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Global
|
||||
|
||||
Change the guides/background/limits/ticks. Convenience args `xaxis` and `yaxis` allow you to pass a tuple or value which will be mapped to the relevant args automatically. The `xaxis` below will be replaced with `xlabel` and `xlims` args automatically during the preprocessing step. You can also use shorthand functions: `title!`, `xaxis!`, `yaxis!`, `xlabel!`, `ylabel!`, `xlims!`, `ylims!`, `xticks!`, `yticks!`
|
||||
|
||||
```julia
|
||||
plot(rand(20,3),xaxis=("XLABEL",(-5,30),0:2:20,:flip),background_color=RGB(0.2,0.2,0.2),leg=false)
|
||||
title!("TITLE")
|
||||
yaxis!("YLABEL",:log10)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Two-axis
|
||||
|
||||
Use the `axis` arguments.
|
||||
|
||||
Note: Currently only supported with Qwt and PyPlot
|
||||
|
||||
```julia
|
||||
plot(Vector[randn(100),randn(100) * 100],axis=[:l :r],ylabel="LEFT",yrightlabel="RIGHT")
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Arguments
|
||||
|
||||
Plot multiple series with different numbers of points. Mix arguments that apply to all series (marker/markersize) with arguments unique to each series (colors). Special arguments `line`, `marker`, and `fill` will automatically figure out what arguments to set (for example, we are setting the `linestyle`, `linewidth`, and `color` arguments with `line`.) Note that we pass a matrix of colors, and this applies the colors to each series.
|
||||
|
||||
```julia
|
||||
plot(Vector[rand(10),rand(20)],marker=(:ellipse,8),line=(:dot,3,[:black :orange]))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Build plot in pieces
|
||||
|
||||
Start with a base plot...
|
||||
|
||||
```julia
|
||||
plot(rand(100) / 3,reg=true,fill=(0,:green))
|
||||
```
|
||||
|
||||

|
||||
|
||||
###
|
||||
|
||||
and add to it later.
|
||||
|
||||
```julia
|
||||
scatter!(rand(100),markersize=6,c=:orange)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
types = intersect(supportedTypes(),[:line,:path,:steppre,:steppost,:sticks,:scatter])'
|
||||
n = length(types)
|
||||
x = Vector[sort(rand(20)) for i = 1:n]
|
||||
y = rand(20,n)
|
||||
plot(x,y,line=(types,3),lab=map(string,types),ms=15)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Line styles
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
styles = setdiff(supportedStyles(),[:auto])'
|
||||
plot(cumsum(randn(20,length(styles)),1),style=:auto,label=map(string,styles),w=5)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Marker types
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
markers = setdiff(supportedMarkers(),[:none,:auto,Shape])'
|
||||
n = length(markers)
|
||||
x = (linspace(0,10,n + 2))[2:end - 1]
|
||||
y = repmat(reverse(x)',n,1)
|
||||
scatter(x,y,m=(8,:auto),lab=map(string,markers),bg=:linen)
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Bar
|
||||
|
||||
x is the midpoint of the bar. (todo: allow passing of edges instead of midpoints)
|
||||
|
||||
```julia
|
||||
bar(randn(999))
|
||||
```
|
||||
|
||||

|
||||
|
||||
### Histogram
|
||||
|
||||
|
||||
|
||||
```julia
|
||||
histogram(randn(1000),nbins=50)
|
||||
```
|
||||
|
||||

|
||||
|
||||
- Supported arguments: `annotation`, `color`, `color_palette`, `fillcolor`, `fillrange`, `group`, `label`, `legend`, `linestyle`, `linetype`, `linewidth`, `markercolor`, `markershape`, `markersize`, `nbins`, `show`, `size`, `smooth`, `title`, `windowtitle`, `x`, `xlabel`, `xlims`, `xscale`, `y`, `ylabel`, `ylims`, `yscale`
|
||||
- Supported values for axis: `:auto`, `:left`
|
||||
- Supported values for linetype: `:bar`, `:hist`, `:line`, `:none`, `:path`, `:scatter`, `:sticks`
|
||||
- Supported values for linestyle: `:auto`, `:dash`, `:dashdot`, `:dot`, `:solid`
|
||||
- Supported values for marker: `:auto`, `:cross`, `:diamond`, `:dtriangle`, `:ellipse`, `:none`, `:rect`, `:star5`, `:utriangle`, `:xcross`
|
||||
- Is `subplot`/`subplot!` supported? No
|
||||
|
||||
(Automatically generated: 2015-10-18T00:50:13)
|
||||
@@ -1,119 +0,0 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"INFO: Recompiling stale cache file /home/tom/.julia/lib/v0.4/Plots.ji for module Plots.\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"[Plots.jl] Initializing backend: gadfly\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"INFO: Saved animation to /home/tom/.julia/v0.4/Plots/examples/tmp.gif\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/html": [
|
||||
"<img src=\"tmp.gif?0.4950005887019313>\" />"
|
||||
],
|
||||
"text/plain": [
|
||||
"Plots.AnimatedGif(\"/home/tom/.julia/v0.4/Plots/examples/tmp.gif\")"
|
||||
]
|
||||
},
|
||||
"execution_count": 1,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"using Plots\n",
|
||||
"gadfly()\n",
|
||||
"\n",
|
||||
"# create a plot\n",
|
||||
"n = 10\n",
|
||||
"p = scatter(randn(n), randn(n), size=(500,300))\n",
|
||||
"\n",
|
||||
"# make an animation by adding data and saving the frames\n",
|
||||
"anim = Animation()\n",
|
||||
"for i in 1:100\n",
|
||||
" append!(p, 1, randn(n), randn(n))\n",
|
||||
" frame(anim)\n",
|
||||
"end\n",
|
||||
"g = gif(anim, fps=50)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"INFO: Saved animation to /home/tom/.julia/v0.4/Plots/examples/tmp.gif\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/html": [
|
||||
"<img src=\"tmp.gif?0.30448413983944445>\" />"
|
||||
],
|
||||
"text/plain": [
|
||||
"Plots.AnimatedGif(\"/home/tom/.julia/v0.4/Plots/examples/tmp.gif\")"
|
||||
]
|
||||
},
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"g = gif(anim, fps=1)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Julia 0.4.0-rc4",
|
||||
"language": "julia",
|
||||
"name": "julia-0.4"
|
||||
},
|
||||
"language_info": {
|
||||
"file_extension": ".jl",
|
||||
"mimetype": "application/julia",
|
||||
"name": "julia",
|
||||
"version": "0.4.0"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 0
|
||||
}
|
||||
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 1.8 MiB |
@@ -1,482 +0,0 @@
|
||||
player,pos,age,bref_team_id,g,gs,mp,fg,fga,fg.,x3p,x3pa,x3p.,x2p,x2pa,x2p.,efg.,ft,fta,ft.,orb,drb,trb,ast,stl,blk,tov,pf,pts,season,season_end
|
||||
Quincy Acy,SF,23,TOT,63,0,847,66,141,0.468,4,15,0.266666666666667,62,126,0.492063492063492,0.482,35,53,0.66,72,144,216,28,23,26,30,122,171,2013-2014,2013
|
||||
Steven Adams,C,20,OKC,81,20,1197,93,185,0.503,0,0,NA,93,185,0.502702702702703,0.503,79,136,0.581,142,190,332,43,40,57,71,203,265,2013-2014,2013
|
||||
Jeff Adrien,PF,27,TOT,53,12,961,143,275,0.52,0,0,NA,143,275,0.52,0.52,76,119,0.639,102,204,306,38,24,36,39,108,362,2013-2014,2013
|
||||
Arron Afflalo,SG,28,ORL,73,73,2552,464,1011,0.459,128,300,0.426666666666667,336,711,0.472573839662447,0.522,274,336,0.815,32,230,262,248,35,3,146,136,1330,2013-2014,2013
|
||||
Alexis Ajinca,C,25,NOP,56,30,951,136,249,0.546,0,1,0,136,248,0.548387096774194,0.546,56,67,0.836,94,183,277,40,23,46,63,187,328,2013-2014,2013
|
||||
Cole Aldrich,C,25,NYK,46,2,330,33,61,0.541,0,0,NA,33,61,0.540983606557377,0.541,26,30,0.867,37,92,129,14,8,30,18,40,92,2013-2014,2013
|
||||
LaMarcus Aldridge,PF,28,POR,69,69,2498,652,1423,0.458,3,15,0.2,649,1408,0.4609375,0.459,296,360,0.822,166,599,765,178,63,68,123,147,1603,2013-2014,2013
|
||||
Lavoy Allen,PF,24,TOT,65,2,1072,134,300,0.447,2,13,0.153846153846154,132,287,0.45993031358885,0.45,33,50,0.66,119,192,311,71,24,33,44,126,303,2013-2014,2013
|
||||
Ray Allen,SG,38,MIA,73,9,1936,240,543,0.442,116,309,0.375404530744337,124,234,0.52991452991453,0.549,105,116,0.905,23,182,205,143,54,8,84,115,701,2013-2014,2013
|
||||
Tony Allen,SG,32,MEM,55,28,1278,204,413,0.494,11,47,0.234042553191489,193,366,0.527322404371585,0.507,76,121,0.628,79,129,208,94,90,19,90,121,495,2013-2014,2013
|
||||
Al-Farouq Aminu,SF,23,NOP,80,65,2045,234,494,0.474,13,48,0.270833333333333,221,446,0.495515695067265,0.487,91,137,0.664,129,367,496,114,82,38,88,147,572,2013-2014,2013
|
||||
Louis Amundson,PF,31,TOT,19,0,185,16,32,0.5,0,0,NA,16,32,0.5,0.5,6,24,0.25,28,27,55,6,9,11,14,49,38,2013-2014,2013
|
||||
Chris Andersen,C,35,MIA,72,0,1396,177,275,0.644,3,12,0.25,174,263,0.661596958174905,0.649,120,169,0.71,129,250,379,19,32,97,53,162,477,2013-2014,2013
|
||||
Alan Anderson,SF,31,BRK,78,26,1773,194,485,0.4,84,248,0.338709677419355,110,237,0.464135021097046,0.487,92,118,0.78,40,135,175,81,48,11,62,147,564,2013-2014,2013
|
||||
James Anderson,SG,24,PHI,80,62,2309,309,717,0.431,115,351,0.327635327635328,194,366,0.530054644808743,0.511,77,106,0.726,59,241,300,149,74,28,106,154,810,2013-2014,2013
|
||||
Ryan Anderson,PF,25,NOP,22,14,795,155,354,0.438,67,164,0.408536585365854,88,190,0.463157894736842,0.532,59,62,0.952,66,76,142,17,10,7,20,47,436,2013-2014,2013
|
||||
Giannis Antetokounmpo,SF,19,MIL,77,23,1897,173,418,0.414,41,118,0.347457627118644,132,300,0.44,0.463,138,202,0.683,78,261,339,150,60,61,122,173,525,2013-2014,2013
|
||||
Carmelo Anthony,PF,29,NYK,77,77,2982,743,1643,0.452,167,415,0.402409638554217,576,1228,0.469055374592834,0.503,459,541,0.848,145,477,622,242,95,51,198,224,2112,2013-2014,2013
|
||||
Joel Anthony,C,31,TOT,33,0,186,12,32,0.375,0,0,NA,12,32,0.375,0.375,4,8,0.5,15,23,38,2,3,12,3,17,28,2013-2014,2013
|
||||
Pero Antic,PF,31,ATL,50,26,925,123,294,0.418,56,171,0.327485380116959,67,123,0.544715447154472,0.514,50,66,0.758,57,152,209,58,19,12,55,126,352,2013-2014,2013
|
||||
Trevor Ariza,SF,28,WAS,77,77,2723,389,853,0.456,180,442,0.407239819004525,209,411,0.508515815085158,0.562,149,193,0.772,99,376,475,191,126,20,132,179,1107,2013-2014,2013
|
||||
Hilton Armstrong,C,29,GSW,15,1,97,9,19,0.474,0,0,NA,9,19,0.473684210526316,0.474,7,16,0.438,19,28,47,5,4,4,6,11,25,2013-2014,2013
|
||||
Darrell Arthur,SF,25,DEN,68,1,1161,162,410,0.395,24,64,0.375,138,346,0.398843930635838,0.424,53,62,0.855,52,158,210,61,39,47,58,185,401,2013-2014,2013
|
||||
Omer Asik,C,27,HOU,48,19,968,101,190,0.532,0,0,NA,101,190,0.531578947368421,0.532,78,126,0.619,101,277,378,25,14,37,59,92,280,2013-2014,2013
|
||||
D.J. Augustin,PG,26,TOT,71,9,1939,298,718,0.415,133,332,0.400602409638554,165,386,0.427461139896373,0.508,201,227,0.885,15,115,130,313,53,3,125,147,930,2013-2014,2013
|
||||
Gustavo Ayon,C,28,ATL,26,14,429,52,102,0.51,0,0,NA,52,102,0.509803921568627,0.51,8,20,0.4,42,83,125,28,25,10,29,47,112,2013-2014,2013
|
||||
Jeff Ayres,PF,26,SAS,73,10,952,101,174,0.58,0,0,NA,101,174,0.580459770114943,0.58,38,55,0.691,89,169,258,60,13,25,63,146,240,2013-2014,2013
|
||||
Chris Babb,SG,23,BOS,14,0,132,8,30,0.267,6,27,0.222222222222222,2,3,0.666666666666667,0.367,0,0,NA,4,13,17,3,6,0,3,13,22,2013-2014,2013
|
||||
Luke Babbitt,PF,24,NOP,27,2,473,60,154,0.39,36,95,0.378947368421053,24,59,0.406779661016949,0.506,14,18,0.778,18,70,88,29,7,11,15,52,170,2013-2014,2013
|
||||
Leandro Barbosa,PG,31,PHO,20,0,368,56,131,0.427,7,25,0.28,49,106,0.462264150943396,0.454,31,39,0.795,5,32,37,32,7,4,19,30,150,2013-2014,2013
|
||||
Jose Barea,PG,29,MIN,79,1,1471,254,656,0.387,73,231,0.316017316017316,181,425,0.425882352941176,0.443,79,100,0.79,16,138,154,303,26,0,125,129,660,2013-2014,2013
|
||||
Andrea Bargnani,C,28,NYK,42,39,1257,222,502,0.442,30,108,0.277777777777778,192,394,0.487309644670051,0.472,84,102,0.824,69,153,222,45,14,52,58,100,558,2013-2014,2013
|
||||
Harrison Barnes,SF,21,GSW,78,24,2204,271,679,0.399,66,190,0.347368421052632,205,489,0.419222903885481,0.448,130,181,0.718,66,245,311,116,65,20,84,158,738,2013-2014,2013
|
||||
Matt Barnes,SF,33,LAC,63,40,1735,231,527,0.438,97,283,0.342756183745583,134,244,0.549180327868853,0.53,66,90,0.733,60,232,292,125,56,28,85,185,625,2013-2014,2013
|
||||
Will Barton,SG,23,POR,41,0,387,65,156,0.417,10,33,0.303030303030303,55,123,0.447154471544715,0.449,26,32,0.813,16,58,74,33,9,7,18,31,166,2013-2014,2013
|
||||
Brandon Bass,PF,28,BOS,82,73,2266,352,725,0.486,2,6,0.333333333333333,350,719,0.486787204450626,0.487,205,239,0.858,161,309,470,87,36,71,102,190,911,2013-2014,2013
|
||||
Shane Battier,SF,35,MIA,73,56,1468,105,275,0.382,73,210,0.347619047619048,32,65,0.492307692307692,0.515,15,23,0.652,34,104,138,63,50,39,21,124,298,2013-2014,2013
|
||||
Nicolas Batum,SF,25,POR,82,82,2956,381,819,0.465,145,402,0.360696517412935,236,417,0.565947242206235,0.554,163,203,0.803,116,495,611,420,75,57,208,156,1070,2013-2014,2013
|
||||
Jerryd Bayless,PG,25,TOT,72,19,1686,248,617,0.402,76,212,0.358490566037736,172,405,0.424691358024691,0.464,94,118,0.797,22,123,145,194,60,9,82,161,666,2013-2014,2013
|
||||
Aron Baynes,C,27,SAS,53,4,491,71,163,0.436,0,0,NA,71,163,0.43558282208589,0.436,19,21,0.905,57,88,145,34,2,5,36,77,161,2013-2014,2013
|
||||
Kent Bazemore,SG,24,TOT,67,15,911,147,343,0.429,43,128,0.3359375,104,215,0.483720930232558,0.491,66,109,0.606,10,107,117,91,43,13,79,102,403,2013-2014,2013
|
||||
Bradley Beal,SG,20,WAS,73,73,2530,481,1149,0.419,138,343,0.402332361516035,343,806,0.425558312655087,0.479,149,189,0.788,54,219,273,243,71,18,128,153,1249,2013-2014,2013
|
||||
Michael Beasley,SF,25,MIA,55,2,831,177,355,0.499,21,54,0.388888888888889,156,301,0.518272425249169,0.528,61,79,0.772,31,141,172,42,23,21,57,93,436,2013-2014,2013
|
||||
Marco Belinelli,SF,27,SAS,80,25,2016,337,695,0.485,126,293,0.430034129692833,211,402,0.524875621890547,0.576,111,131,0.847,18,208,226,179,50,7,95,130,911,2013-2014,2013
|
||||
Anthony Bennett,SF,20,CLE,52,0,663,80,225,0.356,13,53,0.245283018867925,67,172,0.38953488372093,0.384,44,69,0.638,49,106,155,17,21,8,47,93,217,2013-2014,2013
|
||||
Patrick Beverley,SG,25,HOU,56,55,1751,199,481,0.414,92,255,0.36078431372549,107,226,0.473451327433628,0.509,83,102,0.814,72,124,196,151,77,23,66,174,573,2013-2014,2013
|
||||
Andris Biedrins,C,27,UTA,6,0,45,1,1,1,0,0,NA,1,1,1,1,1,6,0.167,2,15,17,0,0,0,2,6,3,2013-2014,2013
|
||||
Chauncey Billups,SG,37,DET,19,7,309,24,79,0.304,14,48,0.291666666666667,10,31,0.32258064516129,0.392,10,12,0.833,4,24,28,42,8,1,25,25,72,2013-2014,2013
|
||||
Bismack Biyombo,C,21,CHA,77,9,1072,88,144,0.611,0,0,NA,88,144,0.611111111111111,0.611,46,89,0.517,105,261,366,8,7,86,40,124,222,2013-2014,2013
|
||||
DeJuan Blair,PF,24,DAL,78,13,1214,210,393,0.534,0,2,0,210,391,0.537084398976982,0.534,77,121,0.636,139,229,368,70,60,21,77,192,497,2013-2014,2013
|
||||
Steve Blake,PG,33,TOT,55,28,1498,133,353,0.377,79,210,0.376190476190476,54,143,0.377622377622378,0.489,33,43,0.767,13,146,159,307,54,8,102,85,378,2013-2014,2013
|
||||
Andray Blatche,PF,27,BRK,73,7,1618,321,674,0.476,15,54,0.277777777777778,306,620,0.493548387096774,0.487,164,221,0.742,120,270,390,112,75,38,110,166,821,2013-2014,2013
|
||||
Eric Bledsoe,PG,24,PHO,43,40,1416,265,556,0.477,50,140,0.357142857142857,215,416,0.516826923076923,0.522,183,237,0.772,27,175,202,235,69,14,143,99,763,2013-2014,2013
|
||||
Vander Blue,SG,21,BOS,3,0,15,2,4,0.5,0,1,0,2,3,0.666666666666667,0.5,1,5,0.2,0,3,3,1,0,0,2,1,5,2013-2014,2013
|
||||
Keith Bogans,SG,33,BOS,6,0,55,3,6,0.5,3,6,0.5,0,0,NA,0.75,3,3,1,0,3,3,3,1,0,1,2,12,2013-2014,2013
|
||||
Andrew Bogut,C,29,GSW,67,67,1769,235,375,0.627,0,0,NA,235,375,0.626666666666667,0.627,22,64,0.344,182,489,671,112,47,121,97,210,492,2013-2014,2013
|
||||
Matt Bonner,PF,33,SAS,61,0,690,73,164,0.445,42,98,0.428571428571429,31,66,0.46969696969697,0.573,9,12,0.75,16,114,130,31,15,11,16,49,197,2013-2014,2013
|
||||
Trevor Booker,PF,26,WAS,72,45,1553,222,403,0.551,0,2,0,222,401,0.553615960099751,0.551,47,76,0.618,149,230,379,64,41,45,58,131,491,2013-2014,2013
|
||||
Carlos Boozer,PF,32,CHI,76,76,2141,447,980,0.456,0,2,0,447,978,0.457055214723926,0.456,148,193,0.767,137,495,632,118,53,22,154,216,1042,2013-2014,2013
|
||||
Chris Bosh,C,29,MIA,79,79,2531,492,953,0.516,74,218,0.339449541284404,418,735,0.568707482993197,0.555,223,272,0.82,98,424,522,87,80,78,125,192,1281,2013-2014,2013
|
||||
Avery Bradley,PG,23,BOS,60,58,1855,361,825,0.438,79,200,0.395,282,625,0.4512,0.485,90,112,0.804,48,178,226,85,63,11,96,145,891,2013-2014,2013
|
||||
Elton Brand,PF,34,ATL,73,15,1414,179,332,0.539,0,2,0,179,330,0.542424242424242,0.539,61,94,0.649,97,264,361,74,40,88,60,192,419,2013-2014,2013
|
||||
Corey Brewer,SF,27,MIN,81,81,2609,388,807,0.481,59,211,0.279620853080569,329,596,0.552013422818792,0.517,163,227,0.718,63,144,207,135,151,30,105,210,998,2013-2014,2013
|
||||
Ronnie Brewer,SF,28,TOT,24,3,160,3,15,0.2,1,8,0.125,2,7,0.285714285714286,0.233,0,2,0,2,12,14,10,6,1,2,4,7,2013-2014,2013
|
||||
Aaron Brooks,PG,29,TOT,72,12,1557,233,581,0.401,96,248,0.387096774193548,137,333,0.411411411411411,0.484,83,95,0.874,43,97,140,233,52,13,117,146,645,2013-2014,2013
|
||||
MarShon Brooks,SG,25,TOT,35,0,316,57,125,0.456,13,25,0.52,44,100,0.44,0.508,32,44,0.727,10,44,54,25,14,4,24,21,159,2013-2014,2013
|
||||
Lorenzo Brown,SG,23,PHI,26,0,224,26,86,0.302,3,30,0.1,23,56,0.410714285714286,0.32,9,13,0.692,8,20,28,41,13,3,16,19,64,2013-2014,2013
|
||||
Shannon Brown,SG,28,TOT,29,1,251,24,66,0.364,0,2,0,24,64,0.375,0.364,15,21,0.714,7,21,28,9,13,0,18,24,63,2013-2014,2013
|
||||
Kobe Bryant,SG,35,LAL,6,6,177,31,73,0.425,3,16,0.1875,28,57,0.491228070175439,0.445,18,21,0.857,2,24,26,38,7,1,34,9,83,2013-2014,2013
|
||||
Chase Budinger,SF,25,MIN,41,8,751,100,254,0.394,42,120,0.35,58,134,0.432835820895522,0.476,32,39,0.821,19,84,103,31,19,2,24,58,274,2013-2014,2013
|
||||
Reggie Bullock,SF,22,LAC,43,0,395,43,121,0.355,22,73,0.301369863013699,21,48,0.4375,0.446,7,9,0.778,11,43,54,12,9,1,13,26,115,2013-2014,2013
|
||||
Trey Burke,PG,21,UTA,70,68,2262,341,897,0.38,111,336,0.330357142857143,230,561,0.409982174688057,0.442,102,113,0.903,37,171,208,396,42,6,131,145,895,2013-2014,2013
|
||||
Alec Burks,SG,22,UTA,78,12,2193,380,831,0.457,50,143,0.34965034965035,330,688,0.479651162790698,0.487,279,373,0.748,59,198,257,212,69,14,149,190,1089,2013-2014,2013
|
||||
Caron Butler,SF,33,TOT,56,13,1419,213,540,0.394,98,249,0.393574297188755,115,291,0.395189003436426,0.485,63,75,0.84,21,208,229,82,47,17,60,120,587,2013-2014,2013
|
||||
Jimmy Butler,SG,24,CHI,67,67,2591,275,693,0.397,68,240,0.283333333333333,207,453,0.456953642384106,0.446,260,338,0.769,87,243,330,175,127,36,102,106,878,2013-2014,2013
|
||||
Rasual Butler,SG,34,IND,50,2,378,51,110,0.464,26,62,0.419354838709677,25,48,0.520833333333333,0.582,8,14,0.571,6,35,41,17,7,9,11,30,136,2013-2014,2013
|
||||
Dwight Buycks,PG,24,TOR,14,0,146,15,48,0.313,5,17,0.294117647058824,10,31,0.32258064516129,0.365,8,9,0.889,4,19,23,10,8,0,10,11,43,2013-2014,2013
|
||||
Andrew Bynum,C,26,TOT,26,19,516,94,225,0.418,0,0,NA,94,225,0.417777777777778,0.418,37,49,0.755,53,92,145,29,6,29,34,31,225,2013-2014,2013
|
||||
Will Bynum,PG,31,DET,56,3,1054,184,430,0.428,20,62,0.32258064516129,164,368,0.445652173913043,0.451,97,121,0.802,24,75,99,216,39,7,103,121,485,2013-2014,2013
|
||||
Nick Calathes,SG,24,MEM,71,7,1173,142,311,0.457,19,61,0.311475409836066,123,250,0.492,0.487,44,72,0.611,23,114,137,207,66,8,101,117,347,2013-2014,2013
|
||||
Jose Calderon,SG,32,DAL,81,81,2468,341,748,0.456,191,425,0.449411764705882,150,323,0.464396284829721,0.584,52,63,0.825,29,163,192,377,69,11,103,136,925,2013-2014,2013
|
||||
Kentavious Caldwell-Pope,SG,20,DET,80,41,1583,182,460,0.396,59,185,0.318918918918919,123,275,0.447272727272727,0.46,47,61,0.77,38,118,156,55,75,12,28,145,470,2013-2014,2013
|
||||
Isaiah Canaan,PG,22,HOU,22,0,252,31,87,0.356,18,55,0.327272727272727,13,32,0.40625,0.46,21,29,0.724,7,17,24,22,8,4,21,25,101,2013-2014,2013
|
||||
DeMarre Carroll,SF,27,ATL,73,73,2341,302,642,0.47,97,268,0.361940298507463,205,374,0.548128342245989,0.546,109,141,0.773,107,296,403,134,108,21,79,188,810,2013-2014,2013
|
||||
Vince Carter,SG,37,DAL,81,0,1973,330,811,0.407,146,371,0.393530997304582,184,440,0.418181818181818,0.497,161,196,0.821,67,217,284,212,61,35,108,209,967,2013-2014,2013
|
||||
Michael Carter-Williams,PG,22,PHI,70,70,2414,427,1054,0.405,55,208,0.264423076923077,372,846,0.439716312056738,0.431,258,367,0.703,101,336,437,441,130,43,247,213,1167,2013-2014,2013
|
||||
Omri Casspi,PF,25,HOU,71,2,1283,173,410,0.422,61,176,0.346590909090909,112,234,0.478632478632479,0.496,83,122,0.68,55,205,260,88,44,14,72,100,490,2013-2014,2013
|
||||
Mario Chalmers,PG,27,MIA,73,73,2178,254,560,0.454,87,226,0.384955752212389,167,334,0.5,0.531,121,163,0.742,41,173,214,357,119,16,162,210,716,2013-2014,2013
|
||||
Tyson Chandler,C,31,NYK,55,55,1662,191,322,0.593,0,1,0,191,321,0.595015576323987,0.593,98,155,0.632,159,370,529,59,36,63,71,145,480,2013-2014,2013
|
||||
Wilson Chandler,SF,26,DEN,62,55,1927,307,738,0.416,122,351,0.347578347578348,185,387,0.478036175710594,0.499,110,152,0.724,58,236,294,114,46,31,79,193,846,2013-2014,2013
|
||||
Josh Childress,SF,30,NOP,4,0,24,0,0,NA,0,0,NA,0,0,NA,NA,0,0,NA,0,3,3,2,1,0,1,1,0,2013-2014,2013
|
||||
Dionte Christmas,SF,27,PHO,31,0,198,22,62,0.355,9,31,0.290322580645161,13,31,0.419354838709677,0.427,18,24,0.75,13,25,38,8,2,3,6,19,71,2013-2014,2013
|
||||
Earl Clark,PF,26,TOT,54,17,768,97,261,0.372,41,122,0.336065573770492,56,139,0.402877697841727,0.45,22,34,0.647,22,121,143,18,17,25,31,67,257,2013-2014,2013
|
||||
Ian Clark,SG,22,UTA,23,0,172,26,67,0.388,11,31,0.354838709677419,15,36,0.416666666666667,0.47,5,7,0.714,3,16,19,15,8,2,14,24,68,2013-2014,2013
|
||||
Victor Claver,SF,25,POR,21,0,184,17,42,0.405,3,18,0.166666666666667,14,24,0.583333333333333,0.44,10,11,0.909,9,30,39,12,3,3,11,16,47,2013-2014,2013
|
||||
Norris Cole,PG,25,MIA,82,6,2014,207,500,0.414,60,174,0.344827586206897,147,326,0.450920245398773,0.474,53,68,0.779,17,143,160,248,77,5,127,156,527,2013-2014,2013
|
||||
Jason Collins,C,35,BRK,22,1,172,11,24,0.458,0,3,0,11,21,0.523809523809524,0.458,3,4,0.75,7,12,19,4,8,1,7,30,25,2013-2014,2013
|
||||
Darren Collison,PG,26,LAC,80,35,2069,324,694,0.467,71,189,0.375661375661376,253,505,0.500990099009901,0.518,192,224,0.857,47,141,188,297,93,15,132,150,911,2013-2014,2013
|
||||
Nick Collison,PF,33,OKC,81,0,1353,134,241,0.556,4,17,0.235294117647059,130,224,0.580357142857143,0.564,66,93,0.71,116,177,293,104,30,28,71,187,338,2013-2014,2013
|
||||
Mike Conley,PG,26,MEM,73,73,2446,463,1030,0.45,105,291,0.360824742268041,358,739,0.484438430311231,0.5,225,276,0.815,41,172,213,441,110,13,150,141,1256,2013-2014,2013
|
||||
Chris Copeland,SF,29,IND,41,0,265,55,117,0.47,33,79,0.417721518987342,22,38,0.578947368421053,0.611,10,14,0.714,7,25,32,18,3,7,14,38,153,2013-2014,2013
|
||||
DeMarcus Cousins,C,23,SAC,71,71,2298,591,1191,0.496,0,7,0,591,1184,0.499155405405405,0.496,432,595,0.726,218,613,831,207,109,91,251,270,1614,2013-2014,2013
|
||||
Robert Covington,SF,23,HOU,7,0,34,6,14,0.429,4,11,0.363636363636364,2,3,0.666666666666667,0.571,0,0,NA,2,3,5,0,2,0,1,3,16,2013-2014,2013
|
||||
Allen Crabbe,SG,21,POR,15,0,100,12,33,0.364,6,14,0.428571428571429,6,19,0.315789473684211,0.455,3,4,0.75,1,8,9,6,2,1,3,10,33,2013-2014,2013
|
||||
Jamal Crawford,SG,33,LAC,69,24,2094,421,1011,0.416,161,446,0.360986547085202,260,565,0.460176991150442,0.496,279,322,0.866,34,124,158,223,59,12,135,120,1282,2013-2014,2013
|
||||
Jordan Crawford,SG,25,TOT,81,35,1859,327,788,0.415,90,285,0.315789473684211,237,503,0.47117296222664,0.472,146,169,0.864,28,155,183,281,47,5,134,120,890,2013-2014,2013
|
||||
Jae Crowder,SF,23,DAL,78,8,1254,130,296,0.439,50,151,0.33112582781457,80,145,0.551724137931034,0.524,46,61,0.754,46,148,194,60,59,21,41,100,356,2013-2014,2013
|
||||
Dante Cunningham,SF,26,MIN,81,7,1635,236,509,0.464,0,5,0,236,504,0.468253968253968,0.464,38,67,0.567,112,218,330,83,62,58,42,146,510,2013-2014,2013
|
||||
Jared Cunningham,SG,22,TOT,13,0,80,6,21,0.286,1,7,0.142857142857143,5,14,0.357142857142857,0.31,13,16,0.813,1,5,6,8,3,0,2,16,26,2013-2014,2013
|
||||
Seth Curry,PG,23,TOT,2,0,13,1,3,0.333,1,1,1,0,2,0,0.5,0,0,NA,0,1,1,0,2,0,0,0,3,2013-2014,2013
|
||||
Stephen Curry,PG,25,GSW,78,78,2846,652,1383,0.471,261,615,0.424390243902439,391,768,0.509114583333333,0.566,308,348,0.885,46,288,334,666,128,14,294,194,1873,2013-2014,2013
|
||||
Samuel Dalembert,C,32,DAL,80,68,1614,214,377,0.568,0,1,0,214,376,0.569148936170213,0.568,101,137,0.737,200,341,541,38,41,94,90,210,529,2013-2014,2013
|
||||
Troy Daniels,SG,22,HOU,5,1,75,15,31,0.484,12,25,0.48,3,6,0.5,0.677,0,0,NA,0,4,4,5,0,0,3,6,42,2013-2014,2013
|
||||
Luigi Datome,SF,26,DET,34,0,238,34,97,0.351,7,39,0.179487179487179,27,58,0.46551724137931,0.387,8,10,0.8,14,32,46,11,6,1,11,20,83,2013-2014,2013
|
||||
Brandon Davies,PF,22,PHI,51,0,575,54,128,0.422,2,10,0.2,52,118,0.440677966101695,0.43,34,53,0.642,38,71,109,28,24,8,35,92,144,2013-2014,2013
|
||||
Anthony Davis,C,20,NOP,67,66,2358,522,1005,0.519,2,9,0.222222222222222,520,996,0.522088353413655,0.52,348,440,0.791,207,466,673,105,89,189,109,200,1394,2013-2014,2013
|
||||
Ed Davis,PF,24,MEM,63,4,956,155,290,0.534,0,0,NA,155,290,0.53448275862069,0.534,47,89,0.528,92,168,260,27,17,43,40,114,357,2013-2014,2013
|
||||
Glen Davis,PF,28,TOT,68,44,1662,271,593,0.457,4,11,0.363636363636364,267,582,0.458762886597938,0.46,95,137,0.693,108,243,351,77,58,29,76,159,641,2013-2014,2013
|
||||
Austin Daye,SF,25,TOT,22,1,148,24,68,0.353,12,37,0.324324324324324,12,31,0.387096774193548,0.441,6,10,0.6,5,22,27,8,4,4,5,18,66,2013-2014,2013
|
||||
Nando De Colo,SF,26,TOT,47,3,494,64,153,0.418,18,53,0.339622641509434,46,100,0.46,0.477,31,35,0.886,14,59,73,65,22,6,35,48,177,2013-2014,2013
|
||||
Dewayne Dedmon,C,24,TOT,31,6,390,38,83,0.458,0,0,NA,38,83,0.457831325301205,0.458,21,32,0.656,38,89,127,5,7,22,18,66,97,2013-2014,2013
|
||||
Matthew Dellavedova,SG,23,CLE,72,4,1271,122,296,0.412,57,155,0.367741935483871,65,141,0.460992907801418,0.508,38,48,0.792,29,94,123,187,33,5,60,121,339,2013-2014,2013
|
||||
Luol Deng,SF,28,TOT,63,63,2213,371,860,0.431,57,189,0.301587301587302,314,671,0.46795827123696,0.465,212,268,0.791,99,262,361,183,62,9,114,111,1011,2013-2014,2013
|
||||
DeMar DeRozan,SG,24,TOR,79,79,3017,604,1407,0.429,64,210,0.304761904761905,540,1197,0.451127819548872,0.452,519,630,0.824,51,292,343,313,86,28,176,197,1791,2013-2014,2013
|
||||
Boris Diaw,PF,31,SAS,79,24,1974,302,580,0.521,45,112,0.401785714285714,257,468,0.549145299145299,0.559,68,92,0.739,74,252,326,222,44,32,121,140,717,2013-2014,2013
|
||||
Gorgui Dieng,C,24,MIN,60,15,818,113,227,0.498,1,1,1,112,226,0.495575221238938,0.5,59,93,0.634,103,197,300,39,30,50,54,108,286,2013-2014,2013
|
||||
Toney Douglas,PG,27,TOT,51,17,675,73,190,0.384,31,102,0.303921568627451,42,88,0.477272727272727,0.466,25,34,0.735,18,69,87,68,19,5,34,81,202,2013-2014,2013
|
||||
Chris Douglas-Roberts,SF,27,CHA,49,8,1016,111,252,0.44,51,132,0.386363636363636,60,120,0.5,0.542,66,82,0.805,16,103,119,51,29,16,36,61,339,2013-2014,2013
|
||||
Goran Dragic,SG,27,PHO,76,75,2668,552,1093,0.505,122,299,0.408026755852843,430,794,0.541561712846348,0.561,316,416,0.76,69,176,245,447,104,22,213,206,1542,2013-2014,2013
|
||||
Andre Drummond,C,20,DET,81,81,2619,479,769,0.623,0,2,0,479,767,0.624511082138201,0.623,137,328,0.418,440,631,1071,35,101,131,110,273,1095,2013-2014,2013
|
||||
Jared Dudley,SF,28,LAC,74,43,1729,196,447,0.438,81,225,0.36,115,222,0.518018018018018,0.529,38,58,0.655,36,124,160,104,41,10,56,146,511,2013-2014,2013
|
||||
Tim Duncan,C,37,SAS,74,74,2158,444,906,0.49,0,5,0,444,901,0.492785793562708,0.49,231,316,0.731,158,563,721,220,43,139,159,134,1119,2013-2014,2013
|
||||
Mike Dunleavy,SF,33,CHI,82,61,2584,333,774,0.43,123,324,0.37962962962963,210,450,0.466666666666667,0.51,140,164,0.854,46,299,345,186,64,46,108,163,929,2013-2014,2013
|
||||
Kevin Durant,SF,25,OKC,81,81,3122,849,1688,0.503,192,491,0.391038696537678,657,1197,0.548872180451128,0.56,703,805,0.873,58,540,598,445,103,59,285,174,2593,2013-2014,2013
|
||||
Shane Edwards,SF,26,CLE,2,0,12,1,3,0.333,0,0,NA,1,3,0.333333333333333,0.333,0,0,NA,1,1,2,0,0,0,1,1,2,2013-2014,2013
|
||||
Wayne Ellington,SG,26,DAL,45,1,393,55,126,0.437,25,59,0.423728813559322,30,67,0.447761194029851,0.536,10,11,0.909,8,35,43,19,16,2,11,33,145,2013-2014,2013
|
||||
Monta Ellis,PG,28,DAL,82,82,3023,576,1278,0.451,69,209,0.330143540669856,507,1069,0.474275023386342,0.478,339,430,0.788,38,257,295,471,141,23,264,197,1560,2013-2014,2013
|
||||
Melvin Ely,C,35,NOP,2,0,27,3,6,0.5,0,0,NA,3,6,0.5,0.5,0,0,NA,0,1,1,0,0,1,0,5,6,2013-2014,2013
|
||||
Jeremy Evans,SF,26,UTA,66,4,1209,175,332,0.527,0,2,0,175,330,0.53030303030303,0.527,51,75,0.68,120,190,310,44,42,46,40,139,401,2013-2014,2013
|
||||
Reggie Evans,PF,33,TOT,54,20,899,71,150,0.473,0,0,NA,71,150,0.473333333333333,0.473,72,130,0.554,115,219,334,21,37,3,58,119,214,2013-2014,2013
|
||||
Tyreke Evans,SF,24,NOP,72,22,2028,391,897,0.436,21,95,0.221052631578947,370,802,0.461346633416459,0.448,239,310,0.771,76,265,341,363,84,21,175,155,1042,2013-2014,2013
|
||||
Kenneth Faried,PF,24,DEN,80,77,2178,447,820,0.545,0,3,0,447,817,0.547123623011016,0.545,202,311,0.65,238,446,684,96,70,69,135,193,1096,2013-2014,2013
|
||||
Jordan Farmar,PG,27,LAL,41,5,912,151,364,0.415,70,160,0.4375,81,204,0.397058823529412,0.511,44,59,0.746,20,84,104,199,38,8,95,65,416,2013-2014,2013
|
||||
Vitor Faverani,C,25,BOS,37,8,488,64,147,0.435,12,40,0.3,52,107,0.485981308411215,0.476,24,37,0.649,42,86,128,16,14,27,41,74,164,2013-2014,2013
|
||||
Derrick Favors,PF,22,UTA,73,73,2201,390,747,0.522,0,1,0,390,746,0.522788203753351,0.522,190,284,0.669,199,438,637,91,75,108,129,236,970,2013-2014,2013
|
||||
Carrick Felix,SG,23,CLE,7,0,38,7,14,0.5,2,5,0.4,5,9,0.555555555555556,0.571,3,4,0.75,1,5,6,4,0,0,4,4,19,2013-2014,2013
|
||||
Raymond Felton,PG,29,NYK,65,65,2017,240,608,0.395,62,195,0.317948717948718,178,413,0.430992736077482,0.446,88,122,0.721,54,143,197,365,78,27,129,157,630,2013-2014,2013
|
||||
Landry Fields,SF,25,TOR,30,2,322,27,67,0.403,0,5,0,27,62,0.435483870967742,0.403,14,22,0.636,15,44,59,20,10,3,11,25,68,2013-2014,2013
|
||||
Derek Fisher,SG,39,OKC,81,0,1428,141,361,0.391,88,229,0.384279475982533,53,132,0.401515151515151,0.512,55,71,0.775,12,110,122,117,70,3,49,157,425,2013-2014,2013
|
||||
Evan Fournier,SG,21,DEN,76,4,1503,228,544,0.419,89,237,0.375527426160338,139,307,0.452768729641694,0.501,93,123,0.756,34,168,202,112,34,7,100,179,638,2013-2014,2013
|
||||
Randy Foye,SG,30,DEN,81,78,2485,361,875,0.413,189,498,0.379518072289157,172,377,0.456233421750663,0.521,157,185,0.849,36,196,232,287,67,39,145,205,1068,2013-2014,2013
|
||||
Jamaal Franklin,SG,22,MEM,21,0,161,16,39,0.41,5,11,0.454545454545455,11,28,0.392857142857143,0.474,2,2,1,4,19,23,6,4,2,11,23,39,2013-2014,2013
|
||||
Jimmer Fredette,SG,24,TOT,49,0,519,107,227,0.471,40,84,0.476190476190476,67,143,0.468531468531469,0.559,19,21,0.905,8,44,52,64,14,3,48,35,273,2013-2014,2013
|
||||
Joel Freeland,C,26,POR,52,0,727,77,162,0.475,0,2,0,77,160,0.48125,0.475,20,29,0.69,88,120,208,36,10,22,32,95,174,2013-2014,2013
|
||||
Channing Frye,PF,30,PHO,82,82,2312,336,778,0.432,160,432,0.37037037037037,176,346,0.508670520231214,0.535,78,95,0.821,73,343,416,98,60,63,89,245,910,2013-2014,2013
|
||||
Francisco Garcia,SF,32,HOU,55,4,1083,118,294,0.401,69,193,0.357512953367876,49,101,0.485148514851485,0.519,10,19,0.526,21,101,122,63,27,33,30,120,315,2013-2014,2013
|
||||
Kevin Garnett,C,37,BRK,54,54,1109,157,356,0.441,0,3,0,157,353,0.444759206798867,0.441,38,47,0.809,60,298,358,82,43,40,69,123,352,2013-2014,2013
|
||||
Diante Garrett,PG,25,UTA,71,0,1048,101,265,0.381,36,96,0.375,65,169,0.384615384615385,0.449,10,12,0.833,11,86,97,120,41,5,75,75,248,2013-2014,2013
|
||||
Marc Gasol,C,29,MEM,59,59,1970,336,711,0.473,2,11,0.181818181818182,334,700,0.477142857142857,0.474,185,241,0.768,84,340,424,215,59,76,111,150,859,2013-2014,2013
|
||||
Pau Gasol,C,33,LAL,60,60,1884,425,885,0.48,4,14,0.285714285714286,421,871,0.483352468427095,0.482,187,254,0.736,124,456,580,201,27,92,141,124,1041,2013-2014,2013
|
||||
Rudy Gay,SF,27,TOT,73,73,2531,537,1179,0.455,65,197,0.32994923857868,472,982,0.480651731160896,0.483,318,387,0.822,113,324,437,209,95,56,224,171,1457,2013-2014,2013
|
||||
Alonzo Gee,SF,26,CLE,65,24,1020,98,236,0.415,19,58,0.327586206896552,79,178,0.443820224719101,0.456,43,61,0.705,35,114,149,47,39,15,44,96,258,2013-2014,2013
|
||||
Paul George,SF,23,IND,80,80,2898,577,1362,0.424,182,500,0.364,395,862,0.458236658932715,0.49,401,464,0.864,64,478,542,283,151,22,224,198,1737,2013-2014,2013
|
||||
Taj Gibson,PF,28,CHI,82,8,2351,429,896,0.479,0,7,0,429,889,0.482564679415073,0.479,211,281,0.751,200,358,558,91,41,112,150,207,1069,2013-2014,2013
|
||||
Manu Ginobili,SG,36,SAS,68,3,1550,294,627,0.469,90,258,0.348837209302326,204,369,0.552845528455285,0.541,160,188,0.851,30,172,202,293,70,17,139,128,838,2013-2014,2013
|
||||
Rudy Gobert,C,21,UTA,45,0,434,36,74,0.486,0,0,NA,36,74,0.486486486486487,0.486,32,65,0.492,51,104,155,7,8,41,32,57,104,2013-2014,2013
|
||||
Ryan Gomes,SF,31,OKC,5,0,34,3,8,0.375,0,2,0,3,6,0.5,0.375,0,0,NA,0,4,4,1,0,0,1,5,6,2013-2014,2013
|
||||
Drew Gooden,C,32,WAS,22,0,395,76,143,0.531,7,17,0.411764705882353,69,126,0.547619047619048,0.556,24,27,0.889,37,77,114,15,10,7,17,53,183,2013-2014,2013
|
||||
Archie Goodwin,SG,19,PHO,52,0,533,76,167,0.455,5,36,0.138888888888889,71,131,0.541984732824427,0.47,37,55,0.673,25,62,87,20,20,11,44,45,194,2013-2014,2013
|
||||
Ben Gordon,SG,30,CHA,19,0,279,37,108,0.343,8,29,0.275862068965517,29,79,0.367088607594937,0.38,17,21,0.81,3,24,27,21,10,2,21,18,99,2013-2014,2013
|
||||
Eric Gordon,SG,25,NOP,64,64,2057,356,817,0.436,101,258,0.391472868217054,255,559,0.456171735241503,0.498,175,223,0.785,30,135,165,208,74,12,134,114,988,2013-2014,2013
|
||||
Marcin Gortat,C,29,WAS,81,80,2655,455,840,0.542,1,1,1,454,839,0.541120381406436,0.542,157,229,0.686,202,565,767,138,41,121,126,201,1068,2013-2014,2013
|
||||
Danny Granger,SF,30,TOT,41,2,847,116,307,0.378,43,128,0.3359375,73,179,0.407821229050279,0.448,63,67,0.94,31,102,133,41,12,17,46,62,338,2013-2014,2013
|
||||
Aaron Gray,C,29,TOT,37,6,355,27,61,0.443,0,1,0,27,60,0.45,0.443,11,20,0.55,42,69,111,22,10,8,31,64,65,2013-2014,2013
|
||||
Danny Green,SG,26,SAS,68,59,1651,218,505,0.432,132,318,0.415094339622642,86,187,0.459893048128342,0.562,50,63,0.794,25,204,229,104,65,61,76,107,618,2013-2014,2013
|
||||
Draymond Green,SF,23,GSW,82,12,1797,187,459,0.407,55,165,0.333333333333333,132,294,0.448979591836735,0.467,82,123,0.667,86,323,409,152,102,72,91,231,511,2013-2014,2013
|
||||
Gerald Green,SG,28,PHO,82,48,2330,448,1006,0.445,204,510,0.4,244,496,0.491935483870968,0.547,195,230,0.848,48,227,275,122,70,42,145,220,1295,2013-2014,2013
|
||||
Jeff Green,SF,27,BOS,82,82,2805,482,1171,0.412,135,396,0.340909090909091,347,775,0.447741935483871,0.469,283,356,0.795,54,326,380,138,57,47,165,180,1382,2013-2014,2013
|
||||
Willie Green,SG,32,LAC,55,9,869,102,271,0.376,41,121,0.338842975206612,61,150,0.406666666666667,0.452,28,34,0.824,12,66,78,50,22,11,34,96,273,2013-2014,2013
|
||||
Blake Griffin,PF,24,LAC,80,80,2863,718,1359,0.528,12,44,0.272727272727273,706,1315,0.536882129277567,0.533,482,674,0.715,192,565,757,309,92,51,224,265,1930,2013-2014,2013
|
||||
Jorge Gutierrez,PG,25,BRK,15,2,244,25,54,0.463,3,12,0.25,22,42,0.523809523809524,0.491,9,12,0.75,3,19,22,30,10,1,14,37,62,2013-2014,2013
|
||||
Jordan Hamilton,SF,23,TOT,60,12,1019,147,376,0.391,70,198,0.353535353535354,77,178,0.432584269662921,0.484,40,51,0.784,32,162,194,52,44,20,46,67,404,2013-2014,2013
|
||||
Justin Hamilton,C,23,TOT,8,0,72,9,20,0.45,3,9,0.333333333333333,6,11,0.545454545454545,0.525,5,5,1,4,3,7,0,5,0,4,8,26,2013-2014,2013
|
||||
Tyler Hansbrough,PF,28,TOR,64,4,978,93,196,0.474,0,2,0,93,194,0.479381443298969,0.474,126,185,0.681,120,167,287,17,28,19,47,132,312,2013-2014,2013
|
||||
Tim Hardaway,SG,21,NYK,81,1,1875,294,687,0.428,130,358,0.363128491620112,164,329,0.498480243161094,0.523,106,128,0.828,19,102,121,66,44,7,47,144,824,2013-2014,2013
|
||||
James Harden,SG,24,HOU,73,73,2777,549,1205,0.456,177,483,0.366459627329193,372,722,0.515235457063712,0.529,576,665,0.866,61,283,344,446,115,29,265,177,1851,2013-2014,2013
|
||||
Maurice Harkless,SF,20,ORL,80,41,1950,224,483,0.464,59,154,0.383116883116883,165,329,0.501519756838906,0.525,85,143,0.594,69,195,264,80,97,50,86,140,592,2013-2014,2013
|
||||
Josh Harrellson,C,24,DET,32,0,317,38,82,0.463,12,31,0.387096774193548,26,51,0.509803921568627,0.537,5,7,0.714,30,46,76,15,6,15,10,44,93,2013-2014,2013
|
||||
Al Harrington,PF,33,WAS,34,0,511,82,207,0.396,34,100,0.34,48,107,0.448598130841121,0.478,27,35,0.771,15,65,80,28,14,0,34,72,225,2013-2014,2013
|
||||
Devin Harris,PG,30,DAL,40,0,818,96,254,0.378,31,101,0.306930693069307,65,153,0.42483660130719,0.439,92,115,0.8,8,77,85,178,28,2,59,72,315,2013-2014,2013
|
||||
Elias Harris,SF,24,LAL,2,0,11,0,1,0,0,0,NA,0,1,0,0,0,0,NA,1,0,1,1,1,0,0,0,0,2013-2014,2013
|
||||
Manny Harris,SG,24,LAL,9,0,180,28,70,0.4,7,20,0.35,21,50,0.42,0.45,10,12,0.833,7,27,34,11,4,1,9,10,73,2013-2014,2013
|
||||
Mike Harris,PF,30,UTA,20,0,225,29,61,0.475,0,2,0,29,59,0.491525423728814,0.475,26,27,0.963,15,18,33,5,16,7,11,36,84,2013-2014,2013
|
||||
Tobias Harris,PF,21,ORL,61,36,1850,332,716,0.464,32,126,0.253968253968254,300,590,0.508474576271186,0.486,197,244,0.807,88,336,424,82,41,24,78,143,893,2013-2014,2013
|
||||
Udonis Haslem,PF,33,MIA,46,18,653,74,146,0.507,0,0,NA,74,146,0.506849315068493,0.507,25,44,0.568,42,133,175,13,11,15,24,79,173,2013-2014,2013
|
||||
Spencer Hawes,C,25,TOT,80,78,2470,403,883,0.456,128,308,0.415584415584416,275,575,0.478260869565217,0.529,119,152,0.783,131,529,660,240,44,94,173,237,1053,2013-2014,2013
|
||||
Chuck Hayes,C,30,TOT,61,1,754,56,130,0.431,0,1,0,56,129,0.434108527131783,0.431,20,25,0.8,69,141,210,35,34,12,33,95,132,2013-2014,2013
|
||||
Gordon Hayward,SF,23,UTA,77,77,2800,426,1032,0.413,85,280,0.303571428571429,341,752,0.453457446808511,0.454,311,381,0.816,62,329,391,400,110,40,212,155,1248,2013-2014,2013
|
||||
Gerald Henderson,SG,26,CHA,77,77,2461,403,930,0.433,40,115,0.347826086956522,363,815,0.445398773006135,0.455,235,309,0.761,31,279,310,199,51,32,113,159,1081,2013-2014,2013
|
||||
Xavier Henry,SF,22,LAL,43,5,908,144,345,0.417,28,81,0.345679012345679,116,264,0.439393939393939,0.458,116,177,0.655,25,89,114,51,44,7,57,79,432,2013-2014,2013
|
||||
John Henson,PF,23,MIL,70,23,1856,344,639,0.538,0,1,0,344,638,0.539184952978056,0.538,91,177,0.514,171,326,497,113,41,116,114,185,779,2013-2014,2013
|
||||
Roy Hibbert,C,27,IND,81,81,2409,331,754,0.439,2,5,0.4,329,749,0.439252336448598,0.44,207,269,0.77,202,336,538,91,29,182,148,269,871,2013-2014,2013
|
||||
J.J. Hickson,PF,25,DEN,69,52,1859,332,654,0.508,0,8,0,332,646,0.513931888544892,0.508,150,290,0.517,206,426,632,96,47,51,128,177,814,2013-2014,2013
|
||||
Nene Hilario,PF,31,WAS,53,37,1560,299,594,0.503,1,5,0.2,298,589,0.505942275042445,0.504,155,266,0.583,65,229,294,153,64,47,117,164,754,2013-2014,2013
|
||||
George Hill,PG,27,IND,76,76,2434,272,616,0.442,95,260,0.365384615384615,177,356,0.497191011235955,0.519,142,176,0.807,53,230,283,265,75,23,92,158,781,2013-2014,2013
|
||||
Jordan Hill,PF,26,LAL,72,32,1500,286,521,0.549,0,1,0,286,520,0.55,0.549,124,181,0.685,194,341,535,54,29,64,75,172,696,2013-2014,2013
|
||||
Solomon Hill,SF,22,IND,28,0,226,17,40,0.425,7,23,0.304347826086957,10,17,0.588235294117647,0.513,6,7,0.857,9,32,41,12,5,2,13,19,47,2013-2014,2013
|
||||
Kirk Hinrich,PG,33,CHI,73,61,2116,243,619,0.393,85,242,0.351239669421488,158,377,0.419098143236074,0.461,95,125,0.76,31,161,192,286,80,26,120,203,666,2013-2014,2013
|
||||
Jrue Holiday,PG,23,NOP,34,34,1143,203,454,0.447,30,77,0.38961038961039,173,377,0.458885941644562,0.48,51,63,0.81,28,114,142,268,56,12,105,92,487,2013-2014,2013
|
||||
Ryan Hollins,PF,29,LAC,61,0,482,53,72,0.736,0,0,NA,53,72,0.736111111111111,0.736,35,56,0.625,31,59,90,8,9,31,29,87,141,2013-2014,2013
|
||||
Scotty Hopson,SG,24,CLE,2,0,7,0,4,0,0,2,0,0,2,0,0,1,2,0.5,0,0,0,1,1,0,0,0,1,2013-2014,2013
|
||||
Al Horford,C,27,ATL,29,29,958,238,420,0.567,4,11,0.363636363636364,234,409,0.572127139364303,0.571,58,85,0.682,66,178,244,76,27,44,64,56,538,2013-2014,2013
|
||||
Dwight Howard,C,28,HOU,71,71,2396,473,800,0.591,2,7,0.285714285714286,471,793,0.593947036569987,0.593,349,638,0.547,231,635,866,131,60,128,229,240,1297,2013-2014,2013
|
||||
Robbie Hummel,SF,24,MIN,53,5,655,67,177,0.379,32,89,0.359550561797753,35,88,0.397727272727273,0.469,15,16,0.938,35,97,132,23,16,2,10,57,181,2013-2014,2013
|
||||
Kris Humphries,PF,28,BOS,69,30,1376,231,461,0.501,0,2,0,231,459,0.503267973856209,0.501,117,144,0.813,127,282,409,67,31,61,64,136,579,2013-2014,2013
|
||||
Serge Ibaka,PF,24,OKC,81,81,2666,524,978,0.536,23,60,0.383333333333333,501,918,0.545751633986928,0.548,156,199,0.784,224,485,709,85,39,219,123,233,1227,2013-2014,2013
|
||||
Andre Iguodala,SF,30,GSW,63,63,2040,220,458,0.48,62,175,0.354285714285714,158,283,0.558303886925795,0.548,86,132,0.652,53,240,293,263,95,18,100,103,588,2013-2014,2013
|
||||
Ersan Ilyasova,PF,26,MIL,55,47,1478,237,579,0.409,37,131,0.282442748091603,200,448,0.446428571428571,0.441,107,130,0.823,107,235,342,72,46,8,61,135,618,2013-2014,2013
|
||||
Kyrie Irving,PG,21,CLE,71,71,2496,532,1237,0.43,123,344,0.357558139534884,409,893,0.458006718924972,0.48,291,338,0.861,52,207,259,433,108,23,190,163,1478,2013-2014,2013
|
||||
Royal Ivey,SG,32,OKC,2,0,5,0,2,0,0,1,0,0,1,0,0,0,0,NA,0,1,1,0,0,0,0,1,0,2013-2014,2013
|
||||
Jarrett Jack,PG,30,CLE,80,31,2252,286,698,0.41,63,185,0.340540540540541,223,513,0.434697855750487,0.455,125,149,0.839,22,201,223,324,56,22,133,133,760,2013-2014,2013
|
||||
Reggie Jackson,PG,23,OKC,80,36,2277,403,916,0.44,83,245,0.338775510204082,320,671,0.476900149031297,0.485,158,177,0.893,43,270,313,331,85,9,168,142,1047,2013-2014,2013
|
||||
Stephen Jackson,SF,35,LAC,9,0,107,6,26,0.231,1,14,0.0714285714285714,5,12,0.416666666666667,0.25,2,4,0.5,2,8,10,5,6,1,6,11,15,2013-2014,2013
|
||||
Bernard James,C,28,DAL,30,0,146,11,23,0.478,0,1,0,11,22,0.5,0.478,6,11,0.545,15,27,42,3,3,8,10,24,28,2013-2014,2013
|
||||
Damion James,G,26,SAS,5,1,50,2,9,0.222,0,2,0,2,7,0.285714285714286,0.222,2,2,1,1,11,12,3,0,1,1,3,6,2013-2014,2013
|
||||
LeBron James,PF,29,MIA,77,77,2902,767,1353,0.567,116,306,0.379084967320261,651,1047,0.621776504297994,0.61,439,585,0.75,81,452,533,488,121,26,270,126,2089,2013-2014,2013
|
||||
Mike James,PG,38,CHI,11,0,77,5,21,0.238,1,5,0.2,4,16,0.25,0.262,0,2,0,0,7,7,17,2,0,5,11,11,2013-2014,2013
|
||||
Antawn Jamison,PF,37,LAC,22,0,248,29,92,0.315,8,41,0.195121951219512,21,51,0.411764705882353,0.359,18,25,0.72,9,46,55,7,9,3,7,29,84,2013-2014,2013
|
||||
Othyus Jeffers,SG,28,TOT,6,1,47,3,6,0.5,0,2,0,3,4,0.75,0.5,3,4,0.75,1,8,9,1,0,0,1,3,9,2013-2014,2013
|
||||
Al Jefferson,C,29,CHA,73,73,2553,700,1376,0.509,3,15,0.2,697,1361,0.512123438648053,0.51,191,277,0.69,156,636,792,155,67,79,124,176,1594,2013-2014,2013
|
||||
Richard Jefferson,SF,33,UTA,82,78,2213,294,654,0.45,123,301,0.408637873754153,171,353,0.484419263456091,0.544,120,162,0.741,18,201,219,130,56,14,94,168,831,2013-2014,2013
|
||||
John Jenkins,SG,22,ATL,13,0,158,16,42,0.381,4,18,0.222222222222222,12,24,0.5,0.429,4,4,1,3,19,22,11,1,1,11,11,40,2013-2014,2013
|
||||
Brandon Jennings,PG,24,DET,80,79,2728,423,1135,0.373,154,457,0.336980306345733,269,678,0.396755162241888,0.441,241,321,0.751,59,185,244,609,101,8,215,157,1241,2013-2014,2013
|
||||
Jonas Jerebko,PF,26,DET,64,0,741,98,208,0.471,31,74,0.418918918918919,67,134,0.5,0.546,43,59,0.729,51,124,175,39,21,6,43,85,270,2013-2014,2013
|
||||
Amir Johnson,PF,26,TOR,77,72,2214,344,612,0.562,20,66,0.303030303030303,324,546,0.593406593406593,0.578,91,143,0.636,172,333,505,115,56,88,123,271,799,2013-2014,2013
|
||||
Chris Johnson,SF,23,BOS,40,0,789,85,214,0.397,43,127,0.338582677165354,42,87,0.482758620689655,0.498,37,43,0.86,31,66,97,31,27,4,22,63,250,2013-2014,2013
|
||||
James Johnson,SF,26,MEM,52,4,956,143,308,0.464,22,87,0.252873563218391,121,221,0.547511312217195,0.5,76,90,0.844,60,106,166,111,42,57,66,102,384,2013-2014,2013
|
||||
Joe Johnson,SG,32,BRK,79,79,2575,462,1018,0.454,162,404,0.400990099009901,300,614,0.488599348534202,0.533,159,195,0.815,48,222,270,216,47,10,120,129,1245,2013-2014,2013
|
||||
Orlando Johnson,SG,24,TOT,45,0,392,36,113,0.319,9,47,0.191489361702128,27,66,0.409090909090909,0.358,19,26,0.731,9,46,55,20,6,2,15,26,100,2013-2014,2013
|
||||
Wesley Johnson,SF,26,LAL,79,62,2240,277,651,0.425,100,271,0.3690036900369,177,380,0.465789473684211,0.502,61,77,0.792,70,278,348,124,86,77,90,207,715,2013-2014,2013
|
||||
Darius Johnson-Odom,SG,24,PHI,3,0,15,0,7,0,0,3,0,0,4,0,0,0,2,0,0,2,2,1,1,0,2,3,0,2013-2014,2013
|
||||
James Jones,SF,33,MIA,20,6,236,31,68,0.456,28,54,0.518518518518518,3,14,0.214285714285714,0.662,7,11,0.636,2,21,23,9,3,4,4,6,97,2013-2014,2013
|
||||
Perry Jones,PF,22,OKC,62,7,764,83,181,0.459,22,61,0.360655737704918,61,120,0.508333333333333,0.519,28,42,0.667,28,86,114,26,14,19,21,62,216,2013-2014,2013
|
||||
Solomon Jones,PF,29,ORL,11,0,85,6,17,0.353,0,0,NA,6,17,0.352941176470588,0.353,2,4,0.5,8,8,16,2,2,2,2,12,14,2013-2014,2013
|
||||
Terrence Jones,PF,22,HOU,76,71,2078,386,712,0.542,31,101,0.306930693069307,355,611,0.5810147299509,0.564,118,195,0.605,162,366,528,87,53,99,71,139,921,2013-2014,2013
|
||||
DeAndre Jordan,C,25,LAC,82,82,2870,348,515,0.676,0,0,NA,348,515,0.675728155339806,0.676,160,374,0.428,331,783,1114,74,80,203,123,264,856,2013-2014,2013
|
||||
Cory Joseph,SG,22,SAS,68,19,936,126,265,0.475,12,38,0.315789473684211,114,227,0.502202643171806,0.498,79,96,0.823,32,75,107,114,35,14,43,84,343,2013-2014,2013
|
||||
Chris Kaman,C,31,LAL,39,13,736,176,346,0.509,0,3,0,176,343,0.513119533527697,0.509,52,68,0.765,54,175,229,58,11,40,74,93,404,2013-2014,2013
|
||||
Enes Kanter,C,21,UTA,80,37,2138,419,853,0.491,0,1,0,419,852,0.491784037558685,0.491,149,204,0.73,222,376,598,75,28,42,144,230,987,2013-2014,2013
|
||||
Sergey Karasev,SF,20,CLE,22,1,156,12,35,0.343,4,19,0.210526315789474,8,16,0.5,0.4,9,10,0.9,0,16,16,6,3,1,11,22,37,2013-2014,2013
|
||||
Ryan Kelly,PF,22,LAL,59,25,1312,157,371,0.423,48,142,0.338028169014085,109,229,0.475982532751092,0.488,110,135,0.815,42,177,219,95,32,45,47,147,472,2013-2014,2013
|
||||
Michael Kidd-Gilchrist,SF,20,CHA,62,62,1502,167,353,0.473,1,9,0.111111111111111,166,344,0.482558139534884,0.475,113,184,0.614,109,215,324,52,43,39,60,145,448,2013-2014,2013
|
||||
Andrei Kirilenko,PF,32,BRK,45,4,857,82,160,0.513,1,5,0.2,81,155,0.52258064516129,0.516,61,119,0.513,55,91,146,72,40,19,54,65,226,2013-2014,2013
|
||||
Brandon Knight,PG,22,MIL,72,69,2400,461,1092,0.422,110,338,0.325443786982249,351,754,0.46551724137931,0.473,259,323,0.802,46,209,255,352,69,17,188,146,1291,2013-2014,2013
|
||||
Kyle Korver,SG,32,ATL,71,71,2408,289,609,0.475,185,392,0.471938775510204,104,217,0.47926267281106,0.626,87,94,0.926,22,260,282,208,70,24,102,147,850,2013-2014,2013
|
||||
Kosta Koufos,C,24,MEM,80,22,1349,227,459,0.495,0,0,NA,227,459,0.494553376906318,0.495,60,93,0.645,160,258,418,39,32,71,67,182,514,2013-2014,2013
|
||||
Viacheslav Kravtsov,C,26,PHO,20,0,59,8,15,0.533,0,0,NA,8,15,0.533333333333333,0.533,4,8,0.5,9,8,17,1,0,1,6,7,20,2013-2014,2013
|
||||
Ognjen Kuzmic,C,23,GSW,21,0,92,5,13,0.385,0,0,NA,5,13,0.384615384615385,0.385,5,11,0.455,10,11,21,2,3,4,10,17,15,2013-2014,2013
|
||||
Doron Lamb,SG,22,ORL,53,0,695,63,160,0.394,36,90,0.4,27,70,0.385714285714286,0.506,29,36,0.806,8,41,49,43,11,1,27,54,191,2013-2014,2013
|
||||
Jeremy Lamb,SG,21,OKC,78,0,1538,263,609,0.432,88,247,0.356275303643725,175,362,0.483425414364641,0.504,51,64,0.797,27,162,189,115,56,26,61,143,665,2013-2014,2013
|
||||
Carl Landry,PF,30,SAC,18,1,233,31,60,0.517,0,0,NA,31,60,0.516666666666667,0.517,14,17,0.824,15,42,57,5,3,1,9,34,76,2013-2014,2013
|
||||
Shane Larkin,PG,21,DAL,48,0,489,52,137,0.38,12,38,0.315789473684211,40,99,0.404040404040404,0.423,16,25,0.64,11,31,42,71,26,1,39,46,132,2013-2014,2013
|
||||
Ty Lawson,PG,26,DEN,62,61,2222,347,806,0.431,72,202,0.356435643564356,275,604,0.455298013245033,0.475,324,406,0.798,40,175,215,543,100,10,200,113,1090,2013-2014,2013
|
||||
Ricky Ledo,SG,21,DAL,11,0,33,6,17,0.353,3,8,0.375,3,9,0.333333333333333,0.441,4,4,1,0,2,2,2,1,0,2,2,19,2013-2014,2013
|
||||
Courtney Lee,SG,28,TOT,79,47,1973,295,614,0.48,72,194,0.371134020618557,223,420,0.530952380952381,0.539,99,112,0.884,29,158,187,115,65,28,73,127,761,2013-2014,2013
|
||||
David Lee,PF,30,GSW,69,67,2288,513,981,0.523,0,1,0,513,980,0.523469387755102,0.523,231,296,0.78,182,461,643,147,48,26,152,206,1257,2013-2014,2013
|
||||
Alex Len,C,20,PHO,42,3,362,33,78,0.423,0,0,NA,33,78,0.423076923076923,0.423,20,31,0.645,39,60,99,4,4,18,26,68,86,2013-2014,2013
|
||||
Kawhi Leonard,SF,22,SAS,66,65,1923,337,645,0.522,69,182,0.379120879120879,268,463,0.578833693304536,0.576,101,126,0.802,76,336,412,133,114,50,80,127,844,2013-2014,2013
|
||||
Meyers Leonard,C,21,POR,40,0,355,41,91,0.451,0,6,0,41,85,0.482352941176471,0.451,16,21,0.762,26,85,111,18,7,5,15,76,98,2013-2014,2013
|
||||
Jon Leuer,PF,24,MEM,49,0,642,121,246,0.492,23,49,0.469387755102041,98,197,0.49746192893401,0.539,37,47,0.787,37,121,158,20,18,13,27,63,302,2013-2014,2013
|
||||
Rashard Lewis,SF,34,MIA,60,6,971,98,236,0.415,46,134,0.343283582089552,52,102,0.509803921568627,0.513,26,33,0.788,24,86,110,57,53,8,35,90,268,2013-2014,2013
|
||||
DeAndre Liggins,SG,25,MIA,1,0,1,1,1,1,0,0,NA,1,1,1,1,0,0,NA,1,0,1,0,0,0,0,0,2,2013-2014,2013
|
||||
Damian Lillard,PG,23,POR,82,82,2937,553,1304,0.424,218,554,0.393501805054152,335,750,0.446666666666667,0.508,371,426,0.871,35,253,288,457,64,22,193,197,1695,2013-2014,2013
|
||||
Jeremy Lin,PG,25,HOU,71,33,2054,295,662,0.446,82,229,0.358078602620087,213,433,0.491916859122402,0.508,218,265,0.823,34,153,187,294,68,27,176,166,890,2013-2014,2013
|
||||
Shaun Livingston,PG,28,BRK,76,54,1974,235,487,0.483,1,6,0.166666666666667,234,481,0.486486486486487,0.484,158,191,0.827,67,179,246,245,93,31,105,172,629,2013-2014,2013
|
||||
Brook Lopez,C,25,BRK,17,17,533,129,229,0.563,0,1,0,129,228,0.565789473684211,0.563,94,115,0.817,39,63,102,16,9,30,28,52,352,2013-2014,2013
|
||||
Robin Lopez,C,25,POR,82,82,2603,355,644,0.551,0,1,0,355,643,0.552099533437014,0.551,198,242,0.818,326,374,700,73,25,139,84,196,908,2013-2014,2013
|
||||
Kevin Love,PF,25,MIN,77,77,2797,650,1421,0.457,190,505,0.376237623762376,460,916,0.502183406113537,0.524,520,633,0.821,224,739,963,341,59,35,196,136,2010,2013-2014,2013
|
||||
Kyle Lowry,PG,27,TOR,79,79,2862,457,1080,0.423,190,500,0.38,267,580,0.460344827586207,0.511,313,385,0.813,88,281,369,586,121,15,194,267,1417,2013-2014,2013
|
||||
John Lucas,PG,31,UTA,42,6,591,62,190,0.326,25,84,0.297619047619048,37,106,0.349056603773585,0.392,10,16,0.625,12,27,39,42,14,0,22,41,159,2013-2014,2013
|
||||
Shelvin Mack,PG,23,ATL,73,11,1490,209,501,0.417,62,184,0.33695652173913,147,317,0.463722397476341,0.479,64,74,0.865,21,139,160,271,50,2,89,100,544,2013-2014,2013
|
||||
Ian Mahinmi,C,27,IND,77,1,1248,91,189,0.481,0,1,0,91,188,0.484042553191489,0.481,90,145,0.621,107,150,257,24,41,72,58,207,272,2013-2014,2013
|
||||
Shawn Marion,SF,35,DAL,76,76,2409,341,708,0.482,58,162,0.358024691358025,283,546,0.518315018315018,0.523,51,65,0.785,132,365,497,124,90,37,95,125,791,2013-2014,2013
|
||||
Kendall Marshall,PG,22,LAL,54,45,1564,170,419,0.406,71,178,0.398876404494382,99,241,0.410788381742739,0.49,19,36,0.528,15,140,155,477,48,4,150,76,430,2013-2014,2013
|
||||
Cartier Martin,SF,29,TOT,59,6,870,111,264,0.42,59,151,0.390728476821192,52,113,0.460176991150442,0.532,48,65,0.738,13,97,110,33,27,7,34,71,329,2013-2014,2013
|
||||
Kenyon Martin,PF,36,NYK,32,15,633,63,123,0.512,0,1,0,63,122,0.516393442622951,0.512,11,19,0.579,36,98,134,50,25,27,26,85,137,2013-2014,2013
|
||||
Kevin Martin,SG,30,MIN,68,68,2177,440,1023,0.43,115,297,0.387205387205387,325,726,0.447658402203857,0.486,303,340,0.891,34,169,203,121,66,6,106,123,1298,2013-2014,2013
|
||||
Roger Mason,SG,33,MIA,25,2,260,25,67,0.373,17,48,0.354166666666667,8,19,0.421052631578947,0.5,7,7,1,1,21,22,19,6,1,9,26,74,2013-2014,2013
|
||||
Wesley Matthews,SG,27,POR,82,82,2780,445,1009,0.441,201,511,0.393346379647749,244,498,0.48995983935743,0.541,252,301,0.837,51,238,289,197,76,14,110,176,1343,2013-2014,2013
|
||||
Jason Maxiell,PF,30,ORL,34,13,488,47,105,0.448,0,0,NA,47,105,0.447619047619048,0.448,15,31,0.484,28,58,86,9,8,20,14,47,109,2013-2014,2013
|
||||
Eric Maynor,PG,26,TOT,31,0,327,32,101,0.317,12,37,0.324324324324324,20,64,0.3125,0.376,6,11,0.545,9,30,39,52,9,3,29,17,82,2013-2014,2013
|
||||
O.J. Mayo,SG,26,MIL,52,23,1346,224,550,0.407,84,227,0.370044052863436,140,323,0.43343653250774,0.484,76,88,0.864,24,100,124,113,28,13,95,111,608,2013-2014,2013
|
||||
Luc Mbah a Moute,PF,27,TOT,64,7,1003,87,193,0.451,4,17,0.235294117647059,83,176,0.471590909090909,0.461,46,67,0.687,56,90,146,36,30,14,40,68,224,2013-2014,2013
|
||||
Ray McCallum,PG,22,SAC,45,10,897,113,300,0.377,22,59,0.372881355932203,91,241,0.377593360995851,0.413,32,43,0.744,18,61,79,120,22,9,39,69,280,2013-2014,2013
|
||||
C.J. McCollum,SG,22,POR,38,0,476,74,178,0.416,30,80,0.375,44,98,0.448979591836735,0.5,23,34,0.676,7,41,48,27,14,2,35,53,201,2013-2014,2013
|
||||
JaVale McGee,C,26,DEN,5,5,79,17,38,0.447,0,0,NA,17,38,0.447368421052632,0.447,1,1,1,10,7,17,2,1,7,8,16,35,2013-2014,2013
|
||||
Ben McLemore,SG,20,SAC,82,55,2187,255,679,0.376,95,297,0.31986531986532,160,382,0.418848167539267,0.446,115,143,0.804,53,182,235,82,45,18,96,201,720,2013-2014,2013
|
||||
Josh McRoberts,PF,26,CHA,78,78,2360,247,566,0.436,105,291,0.360824742268041,142,275,0.516363636363636,0.529,62,85,0.729,85,288,373,333,58,46,83,189,661,2013-2014,2013
|
||||
Jodie Meeks,SG,26,LAL,77,70,2556,413,892,0.463,162,404,0.400990099009901,251,488,0.514344262295082,0.554,221,258,0.857,30,164,194,138,111,4,111,119,1209,2013-2014,2013
|
||||
Gal Mekel,PG,25,DAL,31,1,292,30,86,0.349,5,20,0.25,25,66,0.378787878787879,0.378,8,12,0.667,5,22,27,63,4,1,31,31,73,2013-2014,2013
|
||||
Khris Middleton,SF,22,MIL,82,64,2460,376,854,0.44,120,290,0.413793103448276,256,564,0.453900709219858,0.511,118,137,0.861,60,250,310,169,83,20,123,243,990,2013-2014,2013
|
||||
C.J. Miles,SG,26,CLE,51,34,984,178,409,0.435,83,211,0.393364928909953,95,198,0.47979797979798,0.537,64,75,0.853,18,85,103,52,46,15,44,103,503,2013-2014,2013
|
||||
Andre Miller,SG,37,TOT,58,2,982,106,231,0.459,11,21,0.523809523809524,95,210,0.452380952380952,0.483,60,77,0.779,28,102,130,197,34,9,61,75,283,2013-2014,2013
|
||||
Darius Miller,SF,23,NOP,45,7,723,73,166,0.44,25,77,0.324675324675325,48,89,0.539325842696629,0.515,29,36,0.806,9,43,52,43,24,9,22,88,200,2013-2014,2013
|
||||
Mike Miller,SF,33,MEM,82,4,1707,213,443,0.481,107,233,0.459227467811159,106,210,0.504761904761905,0.602,46,56,0.821,30,177,207,130,26,5,77,95,579,2013-2014,2013
|
||||
Quincy Miller,SF,21,DEN,52,16,789,94,256,0.367,30,94,0.319148936170213,64,162,0.395061728395062,0.426,39,55,0.709,36,111,147,26,22,32,48,70,257,2013-2014,2013
|
||||
Patrick Mills,PG,25,SAS,81,2,1527,309,666,0.464,135,318,0.424528301886792,174,348,0.5,0.565,73,82,0.89,34,135,169,149,68,9,63,114,826,2013-2014,2013
|
||||
Paul Millsap,PF,28,ATL,74,73,2482,483,1047,0.461,76,212,0.358490566037736,407,835,0.487425149700599,0.498,286,391,0.731,154,473,627,232,129,78,185,210,1328,2013-2014,2013
|
||||
Tony Mitchell,PF,21,DET,21,0,79,5,12,0.417,1,1,1,4,11,0.363636363636364,0.458,11,19,0.579,15,11,26,2,6,3,4,9,22,2013-2014,2013
|
||||
Nazr Mohammed,C,36,CHI,80,1,562,54,126,0.429,0,0,NA,54,126,0.428571428571429,0.429,16,30,0.533,66,109,175,20,14,30,37,77,124,2013-2014,2013
|
||||
Greg Monroe,PF,23,DET,82,82,2690,504,1015,0.497,0,1,0,504,1014,0.497041420118343,0.497,241,367,0.657,256,504,760,171,91,47,166,205,1249,2013-2014,2013
|
||||
E'Twaun Moore,SG,24,ORL,79,3,1506,195,456,0.428,57,161,0.354037267080745,138,295,0.467796610169492,0.49,52,68,0.765,29,107,136,112,60,13,55,106,499,2013-2014,2013
|
||||
Darius Morris,PG,23,TOT,27,0,313,39,96,0.406,12,38,0.315789473684211,27,58,0.46551724137931,0.469,17,26,0.654,7,19,26,44,13,0,27,33,107,2013-2014,2013
|
||||
Marcus Morris,SF,24,PHO,82,1,1800,288,651,0.442,99,260,0.380769230769231,189,391,0.483375959079284,0.518,121,159,0.761,84,235,319,88,72,18,95,157,796,2013-2014,2013
|
||||
Markieff Morris,PF,24,PHO,81,0,2153,411,845,0.486,34,108,0.314814814814815,377,737,0.511533242876526,0.507,259,327,0.792,139,346,485,144,68,51,147,232,1115,2013-2014,2013
|
||||
Anthony Morrow,SG,28,NOP,76,9,1426,238,520,0.458,88,195,0.451282051282051,150,325,0.461538461538462,0.542,72,87,0.828,29,111,140,59,38,12,51,102,636,2013-2014,2013
|
||||
Donatas Motiejunas,PF,23,HOU,62,3,952,131,296,0.443,21,84,0.25,110,212,0.518867924528302,0.478,58,96,0.604,60,165,225,34,20,21,49,132,341,2013-2014,2013
|
||||
Arnett Moultrie,PF,23,PHI,12,2,187,16,38,0.421,0,0,NA,16,38,0.421052631578947,0.421,4,5,0.8,11,24,35,2,8,4,7,22,36,2013-2014,2013
|
||||
Timofey Mozgov,C,27,DEN,82,30,1770,285,545,0.523,4,24,0.166666666666667,281,521,0.539347408829175,0.527,196,260,0.754,171,357,528,62,27,100,122,213,770,2013-2014,2013
|
||||
Shabazz Muhammad,SG,21,MIN,37,0,290,57,124,0.46,3,11,0.272727272727273,54,113,0.47787610619469,0.472,26,40,0.65,24,29,53,6,8,1,16,24,143,2013-2014,2013
|
||||
Byron Mullens,C,24,TOT,45,0,414,73,165,0.442,33,89,0.370786516853933,40,76,0.526315789473684,0.542,10,20,0.5,24,68,92,14,15,11,27,64,189,2013-2014,2013
|
||||
Erik Murphy,C,23,CHI,24,0,62,3,13,0.231,0,3,0,3,10,0.3,0.231,0,0,NA,2,6,8,2,0,4,2,7,6,2013-2014,2013
|
||||
Toure' Murry,PG,24,NYK,51,0,373,56,129,0.434,5,12,0.416666666666667,51,117,0.435897435897436,0.453,23,39,0.59,13,31,44,49,19,1,34,46,140,2013-2014,2013
|
||||
Mike Muscala,C,22,ATL,20,0,215,31,73,0.425,0,3,0,31,70,0.442857142857143,0.425,14,14,1,17,35,52,7,3,10,12,29,76,2013-2014,2013
|
||||
Hamady N'Diaye,C,27,SAC,14,0,74,3,9,0.333,0,0,NA,3,9,0.333333333333333,0.333,0,1,0,5,13,18,3,0,4,3,15,6,2013-2014,2013
|
||||
Steve Nash,PG,39,LAL,15,10,313,36,94,0.383,8,24,0.333333333333333,28,70,0.4,0.426,22,24,0.917,4,25,29,86,7,2,31,18,102,2013-2014,2013
|
||||
Gary Neal,SG,29,TOT,52,3,1114,193,471,0.41,68,180,0.377777777777778,125,291,0.429553264604811,0.482,94,105,0.895,10,80,90,83,18,0,64,65,548,2013-2014,2013
|
||||
Nemanja Nedovic,SG,22,GSW,24,0,142,8,39,0.205,3,18,0.166666666666667,5,21,0.238095238095238,0.244,7,8,0.875,3,12,15,13,0,1,13,13,26,2013-2014,2013
|
||||
Jameer Nelson,PG,31,ORL,68,68,2179,294,747,0.394,136,391,0.347826086956522,158,356,0.443820224719101,0.485,96,112,0.857,29,202,231,476,52,5,166,146,820,2013-2014,2013
|
||||
Andrew Nicholson,PF,24,ORL,76,5,1174,180,420,0.429,28,89,0.314606741573034,152,331,0.459214501510574,0.462,47,57,0.825,53,202,255,25,18,23,51,150,435,2013-2014,2013
|
||||
Joakim Noah,C,28,CHI,80,80,2820,380,800,0.475,0,2,0,380,798,0.476190476190476,0.475,247,335,0.737,282,618,900,431,99,121,194,245,1007,2013-2014,2013
|
||||
Steve Novak,PF,30,TOR,54,1,540,60,146,0.411,52,122,0.426229508196721,8,24,0.333333333333333,0.589,6,6,1,8,50,58,13,12,4,5,44,178,2013-2014,2013
|
||||
Dirk Nowitzki,PF,35,DAL,80,80,2628,633,1273,0.497,131,329,0.398176291793313,502,944,0.531779661016949,0.549,338,376,0.899,40,458,498,216,73,45,117,165,1735,2013-2014,2013
|
||||
James Nunnally,SF,23,TOT,13,0,165,15,46,0.326,8,25,0.32,7,21,0.333333333333333,0.413,6,9,0.667,1,18,19,8,6,2,7,11,44,2013-2014,2013
|
||||
Jermaine O'Neal,PF,35,GSW,44,13,883,125,248,0.504,0,0,NA,125,248,0.504032258064516,0.504,99,132,0.75,85,157,242,25,14,40,52,102,349,2013-2014,2013
|
||||
Kyle O'Quinn,C,23,ORL,69,19,1188,186,371,0.501,0,3,0,186,368,0.505434782608696,0.501,57,83,0.687,100,264,364,78,39,88,78,165,429,2013-2014,2013
|
||||
Greg Oden,C,26,MIA,23,6,212,27,49,0.551,0,0,NA,27,49,0.551020408163265,0.551,13,23,0.565,23,31,54,1,7,13,12,52,67,2013-2014,2013
|
||||
Victor Oladipo,PG,21,ORL,80,44,2487,392,936,0.419,74,226,0.327433628318584,318,710,0.447887323943662,0.458,248,318,0.78,43,286,329,327,129,37,256,210,1106,2013-2014,2013
|
||||
Kelly Olynyk,C,22,BOS,70,9,1400,234,502,0.466,40,114,0.350877192982456,194,388,0.5,0.506,99,122,0.811,140,225,365,109,35,27,106,227,607,2013-2014,2013
|
||||
Arinze Onuaku,PF,26,TOT,5,0,30,1,5,0.2,0,0,NA,1,5,0.2,0.2,1,2,0.5,2,6,8,3,0,0,1,3,3,2013-2014,2013
|
||||
Daniel Orton,C,23,PHI,22,4,251,21,47,0.447,0,0,NA,21,47,0.446808510638298,0.447,23,30,0.767,16,45,61,15,6,16,18,38,65,2013-2014,2013
|
||||
Travis Outlaw,SF,29,SAC,63,4,1065,130,326,0.399,41,117,0.35042735042735,89,209,0.425837320574163,0.462,42,52,0.808,36,132,168,48,20,19,26,94,343,2013-2014,2013
|
||||
Zaza Pachulia,C,29,MIL,53,43,1325,149,349,0.427,0,1,0,149,348,0.42816091954023,0.427,110,130,0.846,141,192,333,136,45,14,92,124,408,2013-2014,2013
|
||||
Jannero Pargo,PG,34,CHA,29,0,242,52,118,0.441,24,60,0.4,28,58,0.482758620689655,0.542,8,11,0.727,1,19,20,52,14,1,26,17,136,2013-2014,2013
|
||||
Tony Parker,PG,31,SAS,68,68,1997,456,914,0.499,25,67,0.373134328358209,431,847,0.508854781582054,0.513,197,243,0.811,17,138,155,388,36,9,151,86,1134,2013-2014,2013
|
||||
Chandler Parsons,SF,25,HOU,74,74,2783,466,987,0.472,130,351,0.37037037037037,336,636,0.528301886792453,0.538,164,221,0.742,69,340,409,298,88,29,144,168,1226,2013-2014,2013
|
||||
Patrick Patterson,PF,24,TOT,65,13,1533,225,489,0.46,55,151,0.364238410596026,170,338,0.502958579881657,0.516,50,71,0.704,117,225,342,78,55,37,65,159,555,2013-2014,2013
|
||||
Chris Paul,PG,28,LAC,62,62,2171,406,870,0.467,78,212,0.367924528301887,328,658,0.498480243161094,0.511,295,345,0.855,38,230,268,663,154,4,145,157,1185,2013-2014,2013
|
||||
Nikola Pekovic,C,28,MIN,54,54,1663,379,701,0.541,0,0,NA,379,701,0.540656205420827,0.541,186,249,0.747,206,262,468,50,30,23,84,129,944,2013-2014,2013
|
||||
Kendrick Perkins,C,29,OKC,62,62,1207,87,193,0.451,0,1,0,87,192,0.453125,0.451,37,67,0.552,82,223,305,67,26,32,90,177,211,2013-2014,2013
|
||||
Paul Pierce,SF,36,BRK,75,68,2098,321,712,0.451,112,300,0.373333333333333,209,412,0.507281553398058,0.529,256,310,0.826,26,322,348,178,86,31,153,190,1010,2013-2014,2013
|
||||
Dexter Pittman,C,25,ATL,2,0,3,0,1,0,0,0,NA,0,1,0,0,0,2,0,3,0,3,0,0,0,0,0,0,2013-2014,2013
|
||||
Mason Plumlee,PF,23,BRK,70,22,1275,199,302,0.659,0,3,0,199,299,0.665551839464883,0.659,122,195,0.626,99,209,308,60,49,55,77,171,520,2013-2014,2013
|
||||
Miles Plumlee,C,25,PHO,80,79,1964,286,553,0.517,0,0,NA,286,553,0.517179023508137,0.517,74,132,0.561,198,428,626,43,50,90,111,185,646,2013-2014,2013
|
||||
Quincy Pondexter,SG,25,MEM,15,2,270,31,79,0.392,11,34,0.323529411764706,20,45,0.444444444444444,0.462,21,26,0.808,10,16,26,20,5,1,15,18,94,2013-2014,2013
|
||||
Otto Porter,SF,20,WAS,37,0,319,33,91,0.363,4,21,0.19047619047619,29,70,0.414285714285714,0.385,8,12,0.667,21,36,57,10,8,1,14,26,78,2013-2014,2013
|
||||
Josh Powell,F,31,HOU,1,0,19,2,6,0.333,0,0,NA,2,6,0.333333333333333,0.333,0,0,NA,0,5,5,0,0,1,1,1,4,2013-2014,2013
|
||||
Phil Pressey,PG,22,BOS,75,11,1132,78,253,0.308,28,106,0.264150943396226,50,147,0.340136054421769,0.364,29,45,0.644,20,85,105,241,68,5,87,97,213,2013-2014,2013
|
||||
A.J. Price,SG,27,MIN,28,0,99,19,46,0.413,6,22,0.272727272727273,13,24,0.541666666666667,0.478,0,2,0,1,9,10,13,1,0,7,5,44,2013-2014,2013
|
||||
Ronnie Price,SG,30,ORL,31,2,377,28,92,0.304,9,43,0.209302325581395,19,49,0.387755102040816,0.353,9,13,0.692,8,35,43,66,25,2,26,50,74,2013-2014,2013
|
||||
Pablo Prigioni,PG,36,NYK,66,27,1283,88,191,0.461,65,140,0.464285714285714,23,51,0.450980392156863,0.631,11,12,0.917,36,93,129,228,67,2,60,132,252,2013-2014,2013
|
||||
Tayshaun Prince,SF,33,MEM,76,76,1948,200,492,0.407,20,69,0.289855072463768,180,423,0.425531914893617,0.427,34,60,0.567,32,202,234,119,39,19,41,63,454,2013-2014,2013
|
||||
Miroslav Raduljica,C,26,MIL,48,2,465,68,126,0.54,0,0,NA,68,126,0.53968253968254,0.54,45,55,0.818,54,54,108,23,7,13,28,84,181,2013-2014,2013
|
||||
Anthony Randolph,PF,24,DEN,43,5,527,68,176,0.386,18,61,0.295081967213115,50,115,0.434782608695652,0.438,52,69,0.754,20,102,122,32,26,19,39,64,206,2013-2014,2013
|
||||
Shavlik Randolph,PF,30,PHO,14,0,95,7,14,0.5,0,0,NA,7,14,0.5,0.5,6,11,0.545,7,18,25,1,3,1,5,15,20,2013-2014,2013
|
||||
Zach Randolph,PF,32,MEM,79,79,2705,560,1198,0.467,2,20,0.1,558,1178,0.473684210526316,0.468,250,337,0.742,265,530,795,200,54,23,183,210,1372,2013-2014,2013
|
||||
J.J. Redick,SG,29,LAC,35,34,987,181,398,0.455,73,185,0.394594594594595,108,213,0.507042253521127,0.546,97,106,0.915,9,65,74,78,28,3,42,65,532,2013-2014,2013
|
||||
Glen Rice,SG,23,WAS,11,1,109,11,37,0.297,5,17,0.294117647058824,6,20,0.3,0.365,5,7,0.714,4,16,20,7,6,1,9,7,32,2013-2014,2013
|
||||
Luke Ridnour,PG,32,TOT,61,14,1141,126,327,0.385,37,108,0.342592592592593,89,219,0.406392694063927,0.442,17,26,0.654,23,74,97,176,32,8,66,92,306,2013-2014,2013
|
||||
Austin Rivers,SG,21,NOP,69,4,1339,192,474,0.405,36,99,0.363636363636364,156,375,0.416,0.443,110,173,0.636,26,103,129,160,45,9,77,134,530,2013-2014,2013
|
||||
Andre Roberson,PF,22,OKC,40,16,399,33,68,0.485,2,13,0.153846153846154,31,55,0.563636363636364,0.5,7,10,0.7,36,58,94,15,19,10,19,74,75,2013-2014,2013
|
||||
Brian Roberts,PG,28,NOP,72,42,1667,244,581,0.42,64,178,0.359550561797753,180,403,0.446650124069479,0.475,125,133,0.94,17,119,136,234,43,7,95,132,677,2013-2014,2013
|
||||
Nate Robinson,PG,29,DEN,44,1,866,164,383,0.428,58,154,0.376623376623377,106,229,0.462882096069869,0.504,71,85,0.835,21,60,81,112,36,4,58,92,457,2013-2014,2013
|
||||
Thomas Robinson,PF,22,POR,70,0,873,141,293,0.481,0,1,0,141,292,0.482876712328767,0.481,57,101,0.564,105,202,307,34,23,20,57,131,339,2013-2014,2013
|
||||
Rajon Rondo,PG,27,BOS,30,30,998,141,350,0.403,26,90,0.288888888888889,115,260,0.442307692307692,0.44,42,67,0.627,22,142,164,294,40,2,99,65,350,2013-2014,2013
|
||||
Derrick Rose,PG,25,CHI,10,10,311,58,164,0.354,16,47,0.340425531914894,42,117,0.358974358974359,0.402,27,32,0.844,9,23,32,43,5,1,34,15,159,2013-2014,2013
|
||||
Terrence Ross,SG,22,TOR,81,62,2159,318,751,0.423,161,408,0.394607843137255,157,343,0.457725947521866,0.531,82,98,0.837,43,209,252,79,64,27,88,183,879,2013-2014,2013
|
||||
Ricky Rubio,PG,23,MIN,82,82,2638,255,670,0.381,44,133,0.330827067669173,211,537,0.39292364990689,0.413,227,283,0.802,61,281,342,704,191,11,221,218,781,2013-2014,2013
|
||||
Brandon Rush,SG,28,UTA,38,0,418,30,90,0.333,16,47,0.340425531914894,14,43,0.325581395348837,0.422,3,5,0.6,5,39,44,24,5,9,20,31,79,2013-2014,2013
|
||||
Robert Sacre,C,24,LAL,65,13,1089,143,300,0.477,0,0,NA,143,300,0.476666666666667,0.477,64,94,0.681,82,172,254,51,24,47,44,134,350,2013-2014,2013
|
||||
John Salmons,SG,34,TOT,78,8,1726,150,413,0.363,63,163,0.386503067484663,87,250,0.348,0.439,40,52,0.769,20,143,163,147,47,19,54,124,403,2013-2014,2013
|
||||
Larry Sanders,C,25,MIL,23,20,584,76,162,0.469,0,1,0,76,161,0.472049689440994,0.469,26,55,0.473,60,105,165,19,18,40,26,74,178,2013-2014,2013
|
||||
Dennis Schröder,PG,20,ATL,49,0,641,72,188,0.383,10,42,0.238095238095238,62,146,0.424657534246575,0.41,29,43,0.674,5,55,60,93,17,0,61,54,183,2013-2014,2013
|
||||
Luis Scola,PF,33,IND,82,2,1399,263,560,0.47,1,7,0.142857142857143,262,553,0.47377938517179,0.471,99,136,0.728,86,305,391,81,26,16,108,164,626,2013-2014,2013
|
||||
Mike Scott,PF,25,ATL,80,6,1482,301,628,0.479,62,200,0.31,239,428,0.558411214953271,0.529,103,132,0.78,62,222,284,75,30,7,79,121,767,2013-2014,2013
|
||||
Thabo Sefolosha,SG,29,OKC,61,61,1584,141,340,0.415,48,152,0.315789473684211,93,188,0.49468085106383,0.485,53,69,0.768,50,170,220,94,79,17,55,90,383,2013-2014,2013
|
||||
Kevin Seraphin,C,24,WAS,53,1,578,111,220,0.505,0,0,NA,111,220,0.504545454545455,0.505,27,31,0.871,53,75,128,17,3,26,41,103,249,2013-2014,2013
|
||||
Ramon Sessions,PG,27,TOT,83,19,2214,330,769,0.429,35,124,0.282258064516129,295,645,0.457364341085271,0.452,326,404,0.807,38,165,203,340,49,9,148,90,1021,2013-2014,2013
|
||||
Mustafa Shakur,PG,29,OKC,3,0,11,0,3,0,0,1,0,0,2,0,0,1,2,0.5,0,0,0,4,0,0,2,2,1,2013-2014,2013
|
||||
Tornike Shengelia,SF,22,TOT,26,0,154,13,28,0.464,0,6,0,13,22,0.590909090909091,0.464,3,8,0.375,4,12,16,14,3,1,12,18,29,2013-2014,2013
|
||||
Iman Shumpert,SG,23,NYK,74,58,1962,183,484,0.378,76,228,0.333333333333333,107,256,0.41796875,0.457,53,71,0.746,81,227,308,129,92,13,79,209,495,2013-2014,2013
|
||||
Alexey Shved,SG,25,MIN,63,0,664,76,237,0.321,30,102,0.294117647058824,46,135,0.340740740740741,0.384,68,90,0.756,21,60,81,68,26,16,48,36,250,2013-2014,2013
|
||||
Henry Sims,C,23,TOT,46,25,875,130,274,0.474,0,1,0,130,273,0.476190476190476,0.474,90,121,0.744,104,133,237,52,28,20,41,116,350,2013-2014,2013
|
||||
Kyle Singler,SF,25,DET,82,36,2337,269,602,0.447,94,246,0.382113821138211,175,356,0.491573033707865,0.525,152,184,0.826,116,187,303,75,61,38,79,211,784,2013-2014,2013
|
||||
Chris Singleton,SF,24,WAS,25,0,250,25,67,0.373,7,19,0.368421052631579,18,48,0.375,0.425,18,25,0.72,18,37,55,6,9,3,17,25,75,2013-2014,2013
|
||||
Peyton Siva,SG,23,DET,24,0,224,18,57,0.316,7,25,0.28,11,32,0.34375,0.377,11,15,0.733,2,12,14,34,9,1,18,27,54,2013-2014,2013
|
||||
Donald Sloan,SG,26,IND,48,1,392,44,117,0.376,10,42,0.238095238095238,34,75,0.453333333333333,0.419,12,20,0.6,4,40,44,50,10,1,22,19,110,2013-2014,2013
|
||||
Chris Smith,PG,26,NYK,2,0,2,0,0,NA,0,0,NA,0,0,NA,NA,0,0,NA,0,0,0,0,0,0,0,0,0,2013-2014,2013
|
||||
Greg Smith,C,23,HOU,11,0,100,18,28,0.643,0,0,NA,18,28,0.642857142857143,0.643,2,5,0.4,11,16,27,0,1,2,5,17,38,2013-2014,2013
|
||||
Ish Smith,PG,25,PHO,70,1,1006,119,281,0.423,1,23,0.0434782608695652,118,258,0.457364341085271,0.425,22,39,0.564,31,98,129,179,49,13,65,66,261,2013-2014,2013
|
||||
J.R. Smith,SF,28,NYK,74,37,2421,396,955,0.415,189,480,0.39375,207,475,0.435789473684211,0.514,90,138,0.652,35,261,296,219,65,20,108,196,1071,2013-2014,2013
|
||||
Jason Smith,PF,27,NOP,31,27,830,131,282,0.465,0,0,NA,131,282,0.464539007092199,0.465,39,50,0.78,51,130,181,29,11,29,28,100,301,2013-2014,2013
|
||||
Josh Smith,SF,28,DET,77,76,2730,517,1233,0.419,70,265,0.264150943396226,447,968,0.461776859504132,0.448,160,301,0.532,102,418,520,252,105,110,199,197,1264,2013-2014,2013
|
||||
Tony Snell,SG,22,CHI,77,12,1231,129,336,0.384,57,178,0.320224719101124,72,158,0.455696202531646,0.469,31,41,0.756,19,105,124,68,29,15,44,84,346,2013-2014,2013
|
||||
James Southerland,SF,23,TOT,4,0,30,5,15,0.333,3,6,0.5,2,9,0.222222222222222,0.433,1,2,0.5,0,8,8,0,1,2,1,3,14,2013-2014,2013
|
||||
Marreese Speights,C,26,GSW,79,3,982,195,442,0.441,8,31,0.258064516129032,187,411,0.454987834549878,0.45,110,134,0.821,101,189,290,32,10,34,66,148,508,2013-2014,2013
|
||||
Tiago Splitter,C,29,SAS,59,50,1271,181,346,0.523,0,3,0,181,343,0.527696793002915,0.523,121,173,0.699,123,240,363,90,29,31,75,117,483,2013-2014,2013
|
||||
D.J. Stephens,SG,23,MIL,3,0,15,3,7,0.429,0,0,NA,3,7,0.428571428571429,0.429,1,1,1,1,4,5,0,0,0,0,0,7,2013-2014,2013
|
||||
Lance Stephenson,SG,23,IND,78,78,2752,427,870,0.491,86,244,0.352459016393443,341,626,0.544728434504792,0.54,140,197,0.711,95,463,558,359,54,7,210,195,1080,2013-2014,2013
|
||||
Greg Stiemsma,C,28,NOP,55,20,1007,70,122,0.574,0,1,0,70,121,0.578512396694215,0.574,19,32,0.594,72,154,226,36,35,57,44,169,159,2013-2014,2013
|
||||
Julyan Stone,SG,25,TOR,21,0,120,7,17,0.412,2,8,0.25,5,9,0.555555555555556,0.471,2,3,0.667,2,18,20,12,3,0,5,13,18,2013-2014,2013
|
||||
Amar'e Stoudemire,C,31,NYK,65,21,1466,311,558,0.557,0,0,NA,311,558,0.557347670250896,0.557,150,203,0.739,112,208,320,34,23,37,91,159,772,2013-2014,2013
|
||||
Rodney Stuckey,SG,27,DET,73,5,1950,372,853,0.436,24,88,0.272727272727273,348,765,0.454901960784314,0.45,244,292,0.836,39,130,169,152,54,10,125,131,1012,2013-2014,2013
|
||||
Jared Sullinger,PF,21,BOS,74,44,2041,384,899,0.427,56,208,0.269230769230769,328,691,0.474674384949349,0.458,158,203,0.778,241,360,601,118,35,49,119,251,982,2013-2014,2013
|
||||
Jeffery Taylor,SF,24,CHA,26,8,629,82,218,0.376,18,67,0.26865671641791,64,151,0.423841059602649,0.417,26,47,0.553,15,45,60,22,13,5,25,62,208,2013-2014,2013
|
||||
Tyshawn Taylor,PG,23,BRK,23,3,270,31,91,0.341,3,12,0.25,28,79,0.354430379746835,0.357,24,30,0.8,3,12,15,36,12,1,31,29,89,2013-2014,2013
|
||||
Jeff Teague,PG,25,ATL,79,79,2542,456,1040,0.438,74,225,0.328888888888889,382,815,0.468711656441718,0.474,318,376,0.846,34,174,208,528,89,17,232,158,1304,2013-2014,2013
|
||||
Marquis Teague,SG,20,TOT,40,3,443,38,119,0.319,5,18,0.277777777777778,33,101,0.326732673267327,0.34,26,35,0.743,1,39,40,58,10,5,39,46,107,2013-2014,2013
|
||||
Mirza Teletovic,SF,28,BRK,72,7,1396,221,529,0.418,136,349,0.389684813753582,85,180,0.472222222222222,0.546,44,62,0.71,60,206,266,57,29,23,54,143,622,2013-2014,2013
|
||||
Garrett Temple,SG,27,WAS,75,0,638,51,141,0.362,6,29,0.206896551724138,45,112,0.401785714285714,0.383,30,43,0.698,21,47,68,72,35,11,42,72,138,2013-2014,2013
|
||||
Jason Terry,PG,36,BRK,35,0,570,55,152,0.362,39,103,0.378640776699029,16,49,0.326530612244898,0.49,10,15,0.667,4,33,37,56,13,0,27,48,159,2013-2014,2013
|
||||
Hasheem Thabeet,C,26,OKC,23,0,192,13,23,0.565,0,0,NA,13,23,0.565217391304348,0.565,1,5,0.2,9,31,40,1,4,9,14,47,27,2013-2014,2013
|
||||
Adonis Thomas,SF,20,TOT,6,1,37,6,14,0.429,1,5,0.2,5,9,0.555555555555556,0.464,1,1,1,0,3,3,3,0,0,1,6,14,2013-2014,2013
|
||||
Isaiah Thomas,PG,24,SAC,72,54,2497,496,1096,0.453,127,364,0.348901098901099,369,732,0.504098360655738,0.51,346,407,0.85,47,163,210,454,93,8,213,185,1465,2013-2014,2013
|
||||
Lance Thomas,SF,25,NOP,5,0,42,2,9,0.222,0,0,NA,2,9,0.222222222222222,0.222,2,4,0.5,2,5,7,3,0,0,2,4,6,2013-2014,2013
|
||||
Malcolm Thomas,PF,25,TOT,8,0,63,7,16,0.438,1,4,0.25,6,12,0.5,0.469,0,2,0,5,16,21,2,0,3,9,5,15,2013-2014,2013
|
||||
Hollis Thompson,SF,22,PHI,77,41,1742,171,372,0.46,67,167,0.401197604790419,104,205,0.507317073170732,0.55,52,73,0.712,73,174,247,73,53,12,60,144,461,2013-2014,2013
|
||||
Jason Thompson,PF,27,SAC,82,61,2007,251,496,0.506,0,0,NA,251,496,0.506048387096774,0.506,84,145,0.579,153,374,527,53,32,56,95,251,586,2013-2014,2013
|
||||
Klay Thompson,SG,23,GSW,81,81,2868,559,1259,0.444,223,535,0.416822429906542,336,724,0.464088397790055,0.533,147,185,0.795,38,211,249,181,74,37,135,234,1488,2013-2014,2013
|
||||
Tristan Thompson,PF,22,CLE,82,82,2594,363,761,0.477,0,1,0,363,760,0.477631578947368,0.477,235,339,0.693,269,485,754,72,42,35,108,188,961,2013-2014,2013
|
||||
Marcus Thornton,SG,26,TOT,72,27,1741,252,639,0.394,109,316,0.34493670886076,143,323,0.442724458204334,0.48,90,112,0.804,57,141,198,77,58,11,67,110,703,2013-2014,2013
|
||||
Jamaal Tinsley,PG,35,UTA,8,5,110,4,20,0.2,1,15,0.0666666666666667,3,5,0.6,0.225,0,0,NA,2,9,11,23,2,0,9,10,9,2013-2014,2013
|
||||
Anthony Tolliver,PF,28,CHA,64,9,1298,129,307,0.42,102,247,0.412955465587045,27,60,0.45,0.586,33,41,0.805,33,135,168,42,19,15,23,82,393,2013-2014,2013
|
||||
P.J. Tucker,SF,28,PHO,81,81,2490,265,615,0.431,74,191,0.387434554973822,191,424,0.450471698113208,0.491,156,201,0.776,161,368,529,141,110,23,102,204,760,2013-2014,2013
|
||||
Ronny Turiaf,PF,31,MIN,31,10,606,64,107,0.598,0,0,NA,64,107,0.598130841121495,0.598,21,50,0.42,55,119,174,24,8,50,24,65,149,2013-2014,2013
|
||||
Hedo Turkoglu,SF,34,LAC,38,0,392,42,109,0.385,22,50,0.44,20,59,0.338983050847458,0.486,9,18,0.5,11,78,89,33,19,10,16,50,115,2013-2014,2013
|
||||
Evan Turner,SF,25,TOT,81,56,2457,434,1021,0.425,50,156,0.320512820512821,384,865,0.44393063583815,0.45,213,262,0.813,62,346,408,262,67,7,189,195,1131,2013-2014,2013
|
||||
Jeremy Tyler,C,22,NYK,41,0,398,60,116,0.517,0,0,NA,60,116,0.517241379310345,0.517,26,48,0.542,38,71,109,8,6,20,26,70,146,2013-2014,2013
|
||||
Ekpe Udoh,PF,26,MIL,42,14,804,57,143,0.399,0,0,NA,57,143,0.398601398601399,0.399,30,47,0.638,61,87,148,31,15,44,38,96,144,2013-2014,2013
|
||||
Beno Udrih,SG,31,TOT,41,12,643,78,178,0.438,19,42,0.452380952380952,59,136,0.433823529411765,0.492,25,30,0.833,10,49,59,116,23,4,47,50,200,2013-2014,2013
|
||||
Jonas Valanciunas,C,21,TOR,81,81,2282,359,676,0.531,0,1,0,359,675,0.531851851851852,0.531,198,260,0.762,226,488,714,57,24,71,136,249,916,2013-2014,2013
|
||||
Anderson Varejao,C,31,CLE,65,29,1800,227,459,0.495,0,7,0,227,452,0.502212389380531,0.495,92,135,0.681,187,442,629,140,69,39,72,164,546,2013-2014,2013
|
||||
Jarvis Varnado,PF,25,TOT,24,0,339,36,60,0.6,0,0,NA,36,60,0.6,0.6,27,52,0.519,19,44,63,13,10,29,10,62,99,2013-2014,2013
|
||||
Greivis Vasquez,SG,27,TOT,79,23,1779,277,658,0.421,109,289,0.377162629757785,168,369,0.455284552845528,0.504,95,108,0.88,20,153,173,323,31,5,128,143,758,2013-2014,2013
|
||||
Jan Vesely,PF,23,TOT,54,1,776,89,173,0.514,0,0,NA,89,173,0.514450867052023,0.514,19,56,0.339,81,110,191,21,53,35,36,121,197,2013-2014,2013
|
||||
Charlie Villanueva,PF,29,DET,20,0,180,35,92,0.38,14,56,0.25,21,36,0.583333333333333,0.457,8,14,0.571,6,28,34,6,4,5,7,16,92,2013-2014,2013
|
||||
Nikola Vucevic,C,23,ORL,57,57,1812,353,696,0.507,0,0,NA,353,696,0.507183908045977,0.507,105,137,0.766,185,441,626,104,60,47,112,169,811,2013-2014,2013
|
||||
Sasha Vujacic,SG,29,LAC,2,0,10,2,5,0.4,1,2,0.5,1,3,0.333333333333333,0.5,0,0,NA,0,3,3,0,1,0,3,1,5,2013-2014,2013
|
||||
Dwyane Wade,SG,32,MIA,54,53,1775,415,761,0.545,9,32,0.28125,406,729,0.556927297668038,0.551,189,258,0.733,60,181,241,252,79,29,161,106,1028,2013-2014,2013
|
||||
Dion Waiters,SG,22,CLE,70,24,2072,430,993,0.433,92,250,0.368,338,743,0.454912516823688,0.479,161,235,0.685,32,163,195,209,63,17,154,153,1113,2013-2014,2013
|
||||
Kemba Walker,PG,23,CHA,73,73,2614,449,1143,0.393,109,327,0.333333333333333,340,816,0.416666666666667,0.441,282,337,0.837,39,267,306,447,86,32,169,128,1289,2013-2014,2013
|
||||
John Wall,PG,23,WAS,82,82,2980,579,1337,0.433,108,308,0.350649350649351,471,1029,0.457725947521866,0.473,317,394,0.805,38,295,333,721,149,40,295,219,1583,2013-2014,2013
|
||||
Gerald Wallace,SF,31,BOS,58,16,1416,116,230,0.504,19,64,0.296875,97,166,0.58433734939759,0.546,47,101,0.465,36,176,212,143,73,14,97,79,298,2013-2014,2013
|
||||
Casper Ware,PG,24,PHI,9,0,116,18,42,0.429,7,21,0.333333333333333,11,21,0.523809523809524,0.512,5,6,0.833,0,9,9,10,8,0,5,11,48,2013-2014,2013
|
||||
C.J. Watson,PG,29,IND,63,5,1193,146,334,0.437,53,145,0.36551724137931,93,189,0.492063492063492,0.516,69,88,0.784,19,82,101,107,60,8,60,66,414,2013-2014,2013
|
||||
Earl Watson,PG,34,POR,24,0,161,3,11,0.273,2,7,0.285714285714286,1,4,0.25,0.364,4,4,1,5,10,15,28,5,1,17,33,12,2013-2014,2013
|
||||
Maalik Wayns,PG,22,LAC,2,0,9,1,2,0.5,0,0,NA,1,2,0.5,0.5,0,0,NA,0,2,2,2,2,0,0,4,2,2013-2014,2013
|
||||
Martell Webster,SF,27,WAS,78,13,2157,254,587,0.433,146,372,0.39247311827957,108,215,0.502325581395349,0.557,105,125,0.84,38,184,222,97,41,15,58,150,759,2013-2014,2013
|
||||
David West,PF,33,IND,80,80,2472,458,939,0.488,4,15,0.266666666666667,454,924,0.491341991341991,0.49,198,251,0.789,120,422,542,223,61,74,133,186,1118,2013-2014,2013
|
||||
Russell Westbrook,PG,25,OKC,46,46,1412,346,791,0.437,68,214,0.317757009345794,278,577,0.481802426343154,0.48,242,293,0.826,55,208,263,319,88,7,177,104,1002,2013-2014,2013
|
||||
D.J. White,PF,27,CHA,2,0,10,0,1,0,0,0,NA,0,1,0,0,0,0,NA,0,2,2,0,1,0,0,1,0,2013-2014,2013
|
||||
Royce White,PF,22,SAC,3,0,9,0,1,0,0,0,NA,0,1,0,0,0,0,NA,0,0,0,0,0,0,0,2,0,2013-2014,2013
|
||||
Deron Williams,PG,29,BRK,64,58,2059,322,716,0.45,98,268,0.365671641791045,224,448,0.5,0.518,173,216,0.801,15,153,168,392,93,13,143,148,915,2013-2014,2013
|
||||
Derrick Williams,SF,22,TOT,78,15,1820,206,482,0.427,26,99,0.262626262626263,180,383,0.469973890339426,0.454,186,259,0.718,71,252,323,56,48,20,76,114,624,2013-2014,2013
|
||||
Elliot Williams,SG,24,PHI,67,2,1157,140,337,0.415,37,125,0.296,103,212,0.485849056603774,0.47,87,119,0.731,30,100,130,72,35,3,68,126,404,2013-2014,2013
|
||||
Louis Williams,PG,27,ATL,60,7,1445,197,493,0.4,79,231,0.341991341991342,118,262,0.450381679389313,0.48,152,179,0.849,10,114,124,210,45,4,92,65,625,2013-2014,2013
|
||||
Marvin Williams,PF,27,UTA,66,50,1674,231,526,0.439,84,234,0.358974358974359,147,292,0.503424657534247,0.519,57,73,0.781,82,252,334,78,54,31,53,151,603,2013-2014,2013
|
||||
Mo Williams,PG,31,POR,74,0,1834,280,672,0.417,83,225,0.368888888888889,197,447,0.440715883668904,0.478,78,89,0.876,42,111,153,321,55,10,149,197,721,2013-2014,2013
|
||||
Reggie Williams,SF,27,OKC,3,0,17,5,9,0.556,1,3,0.333333333333333,4,6,0.666666666666667,0.611,0,0,NA,0,0,0,1,1,0,2,1,11,2013-2014,2013
|
||||
Shawne Williams,PF,27,LAL,36,13,751,73,192,0.38,42,129,0.325581395348837,31,63,0.492063492063492,0.49,14,20,0.7,25,142,167,30,19,30,21,93,202,2013-2014,2013
|
||||
Jeff Withey,C,23,NOP,58,4,684,69,129,0.535,0,1,0,69,128,0.5390625,0.535,52,73,0.712,49,101,150,26,15,50,20,73,190,2013-2014,2013
|
||||
Nate Wolters,PG,22,MIL,58,31,1309,170,389,0.437,18,62,0.290322580645161,152,327,0.464831804281346,0.46,59,90,0.656,33,116,149,187,35,15,57,67,417,2013-2014,2013
|
||||
Metta World Peace,SF,34,NYK,29,1,388,56,141,0.397,17,54,0.314814814814815,39,87,0.448275862068966,0.457,10,16,0.625,18,41,59,17,24,8,19,44,139,2013-2014,2013
|
||||
Brandan Wright,C,26,DAL,58,0,1077,224,331,0.677,0,0,NA,224,331,0.676737160120846,0.677,77,106,0.726,102,142,244,31,32,55,35,94,525,2013-2014,2013
|
||||
Chris Wright,SF,25,MIL,8,0,126,21,35,0.6,0,1,0,21,34,0.617647058823529,0.6,6,15,0.4,10,10,20,5,7,5,5,17,48,2013-2014,2013
|
||||
Dorell Wright,SF,28,POR,68,13,984,111,297,0.374,69,202,0.341584158415842,42,95,0.442105263157895,0.49,52,69,0.754,29,162,191,64,23,16,39,62,343,2013-2014,2013
|
||||
Tony Wroten,SG,20,PHI,72,16,1765,345,808,0.427,40,188,0.212765957446809,305,620,0.491935483870968,0.452,209,326,0.641,69,159,228,217,78,16,204,151,939,2013-2014,2013
|
||||
Nick Young,SG,28,LAL,64,9,1810,387,889,0.435,135,350,0.385714285714286,252,539,0.467532467532468,0.511,235,285,0.825,29,137,166,95,46,12,95,156,1144,2013-2014,2013
|
||||
Thaddeus Young,PF,25,PHI,79,78,2718,582,1283,0.454,90,292,0.308219178082192,492,991,0.496468213925328,0.489,163,229,0.712,166,310,476,182,167,36,165,213,1417,2013-2014,2013
|
||||
Cody Zeller,C,21,CHA,82,3,1416,172,404,0.426,0,1,0,172,403,0.426799007444169,0.426,146,200,0.73,118,235,353,92,40,41,87,170,490,2013-2014,2013
|
||||
Tyler Zeller,C,24,CLE,70,9,1049,156,290,0.538,0,1,0,156,289,0.539792387543253,0.538,87,121,0.719,103,179,282,36,18,38,60,137,399,2013-2014,2013
|
||||
|
@@ -1,642 +0,0 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"ENV[\"PYTHONPATH\"] = joinpath(Pkg.dir(\"Qwt\"), \"src\", \"python\");\n",
|
||||
"\n",
|
||||
"using Plots, Distributions; qwt()\n",
|
||||
"default(size=(500,300), leg=false)\n",
|
||||
"\n",
|
||||
"# creates x/y vectors which can define a grid in a zig-zag pattern\n",
|
||||
"function gridxy(lim, n::Int)\n",
|
||||
" xs = linspace(lim..., n)\n",
|
||||
" xypairs = vec([(x,y) for x in vcat(xs,reverse(xs)), y in xs])\n",
|
||||
" Plots.unzip(xypairs)\n",
|
||||
"end"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# The problem... can we classify the functions?"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# these are the functions we want to classify\n",
|
||||
"scalar = 5 # larger is harder\n",
|
||||
"noise = Distributions.Normal(0, 0.05)\n",
|
||||
"\n",
|
||||
"# # problem #1... non-overlapping\n",
|
||||
"f1(x) = 0.6sin(scalar * x) + 0.1 + rand(noise)\n",
|
||||
"f2(x) = f1(x) - 0.3\n",
|
||||
"\n",
|
||||
"# problem #2... overlapping\n",
|
||||
"# f1(x) = 0.6sin(scalar * x)\n",
|
||||
"# f2(x) = 0.6sin(scalar * (x+0.1))\n",
|
||||
"\n",
|
||||
"# our target function is ∈ {-1,1}\n",
|
||||
"target(f) = f == f1 ? 1.0 : -1.0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# On to the fun..."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# pick the plotting limits\n",
|
||||
"lim = (-1,1)\n",
|
||||
"funcs = [f1, f2]\n",
|
||||
"n = 20\n",
|
||||
"gridx, gridy = gridxy(lim, n)\n",
|
||||
"# default(xlim = lim, ylim = lim)\n",
|
||||
"\n",
|
||||
"function initialize_plot(funcs, lim, gridx, gridy; kw...)\n",
|
||||
" # show the grid\n",
|
||||
" plot([gridx gridy], [gridy gridx], c=:black; kw...)\n",
|
||||
"\n",
|
||||
" # show the funcs\n",
|
||||
" plot!(funcs, lim..., l=(4,[:royalblue :orangered]))\n",
|
||||
"end\n",
|
||||
"\n",
|
||||
"# kick off an animation... we can save frames whenever we want, lets save the starting frame\n",
|
||||
"function initialize_animation()\n",
|
||||
" anim = Animation()\n",
|
||||
" frame(anim)\n",
|
||||
" anim\n",
|
||||
"end\n",
|
||||
"\n",
|
||||
"# lets see what we're dealing with...\n",
|
||||
"p = initialize_plot(funcs, lim, gridx, gridy)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Lets build a neural net!"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"using OnlineAI\n",
|
||||
"\n",
|
||||
"# gradientModel = SGDModel(η=1e-4, μ=0.8, λ=0)\n",
|
||||
"# gradientModel = AdagradModel(η=1e-1)\n",
|
||||
"# gradientModel = AdadeltaModel(η=0.1, ρ=0.99, λ=0)\n",
|
||||
"# gradientModel = AdamModel(η=1e-4, λ=1e-8)\n",
|
||||
"gradientModel = AdaMaxModel(η=1e-4, ρ1=0.9, ρ2=0.9)\n",
|
||||
"\n",
|
||||
"# learningRateModel = FixedLearningRate()\n",
|
||||
"learningRateModel = AdaptiveLearningRate(gradientModel, 2e-2, 0.05, wgt=ExponentialWeighting(30))\n",
|
||||
"\n",
|
||||
"function OnlineAI.initialWeights(nin::Int, nout::Int, activation::Activation)\n",
|
||||
" 0.1randn(nout, nin) / sqrt(nin) + eye(nout, nin)\n",
|
||||
"end\n",
|
||||
"\n",
|
||||
"net = buildTanhClassificationNet(\n",
|
||||
" 2, # number of inputs\n",
|
||||
" 1, # number of outputs\n",
|
||||
" [2,2,2,2,2,2], # hidden layers structure\n",
|
||||
" params = NetParams(gradientModel = gradientModel)\n",
|
||||
")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Update our model and the visualization"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# set up a visualization of the projections\n",
|
||||
"layers = filter(l -> l.nout == 2, net.layers[1:end-1])\n",
|
||||
"num_hidden_layers = length(layers)\n",
|
||||
"plts = [initialize_plot(funcs, lim, gridx, gridy, title=\"Hidden Layer $i\") for i in 1:num_hidden_layers]\n",
|
||||
"sz = round(Int, sqrt(num_hidden_layers) * 400)\n",
|
||||
"projectionviz = subplot(plts..., n=num_hidden_layers, size=(sz,sz))\n",
|
||||
"\n",
|
||||
"# setup animation, then show the plots in a window\n",
|
||||
"anim = initialize_animation()\n",
|
||||
"gui()\n",
|
||||
"\n",
|
||||
"# create another visualization to track the internal progress of the neural net\n",
|
||||
"progressviz = track_progress(net, fields=[:w,:b,:Σ,:a], size=(num_hidden_layers*300,800), m=2, w=0);"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"dist = Distributions.Uniform(lim...)\n",
|
||||
"# dist = Distributions.Uniform(-0.6,0.6)\n",
|
||||
"progressgui = false\n",
|
||||
"\n",
|
||||
"function test_data(n, lim, funcs)\n",
|
||||
" xs = linspace(lim..., n)\n",
|
||||
" x1, x2 = [hcat(xs,map(f,xs)) for f in funcs]\n",
|
||||
" y1, y2 = ones(n), -ones(n)\n",
|
||||
" DataPoints(vcat(x1,x2), vcat(y1,y2))\n",
|
||||
"end\n",
|
||||
"\n",
|
||||
"testn = 100\n",
|
||||
"testdata = test_data(testn, lim, funcs)\n",
|
||||
"\n",
|
||||
"function activateHidden(net, layers, x, y, seriesidx, plts)\n",
|
||||
" n = length(x)\n",
|
||||
" p = length(layers)\n",
|
||||
" projx, projy = zeros(n,p), zeros(n,p)\n",
|
||||
" for i in 1:n\n",
|
||||
" # feed the data through the neural net\n",
|
||||
" OnlineAI.forward!(net, [x[i], y[i]])\n",
|
||||
" \n",
|
||||
" # grab the net's activations at each layer\n",
|
||||
" for j in 1:p\n",
|
||||
" projx[i,j], projy[i,j] = layers[j].Σ\n",
|
||||
" end\n",
|
||||
" end\n",
|
||||
" \n",
|
||||
" # now we can update the plots\n",
|
||||
" for j in 1:p\n",
|
||||
" plts[j][seriesidx] = (vec(projx[:,j]), vec(projy[:,j]))\n",
|
||||
" end\n",
|
||||
"end\n",
|
||||
"\n",
|
||||
"# final plot to track test error\n",
|
||||
"errviz = subplot([totalCost(net, testdata) gradientModel.η], m=3, title=[\"Error\" \"η\"], n=2,nc=1, pos=(800,0))\n",
|
||||
"gui(errviz)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"iterations_per_frame = 1000\n",
|
||||
"total_frames = 100\n",
|
||||
"for frm in 1:total_frames\n",
|
||||
" # pick one of the functions at random, sample from the x line, then update the\n",
|
||||
" # neural net with [x, f(x)] as the inputs\n",
|
||||
" for i in 1:iterations_per_frame\n",
|
||||
" f = sample(funcs)\n",
|
||||
" x = rand(dist)\n",
|
||||
" y = target(f)\n",
|
||||
" update!(net, Float64[x, f(x)], [y])\n",
|
||||
" end\n",
|
||||
" \n",
|
||||
" # update the progress visualization\n",
|
||||
" update!(progressviz, true, show=progressgui)\n",
|
||||
" \n",
|
||||
" # update the error plot\n",
|
||||
" err = totalCost(net, testdata)\n",
|
||||
" push!(errviz.plts[1], err)\n",
|
||||
" update!(learningRateModel, err)\n",
|
||||
" push!(errviz.plts[2], gradientModel.η)\n",
|
||||
" gui(errviz)\n",
|
||||
"\n",
|
||||
" # update the projections\n",
|
||||
" x = linspace(lim..., 70)\n",
|
||||
" for (seriesidx, (x,y)) in enumerate([(gridx,gridy), (gridy,gridx), (x,map(f1,x)), (x,map(f2,x))])\n",
|
||||
" activateHidden(net, layers, x, y, seriesidx, projectionviz.plts)\n",
|
||||
" end\n",
|
||||
" \n",
|
||||
" # show/update the plot\n",
|
||||
" gui(projectionviz)\n",
|
||||
" frame(anim)\n",
|
||||
" sleep(0.001)\n",
|
||||
"end\n",
|
||||
"\n",
|
||||
"# displays the progress if there's no gui\n",
|
||||
"progressgui || progressviz.subplt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# # show stacked and linked histograms of the predictions for each class\n",
|
||||
"xs = OnlineAI.unzip(testdata)[1]\n",
|
||||
"yhat = predict(net, xs)\n",
|
||||
"yhat1, yhat2 = yhat[1:testn], yhat[testn+1:end]\n",
|
||||
"subplot(histogram(yhat1), histogram(yhat2), nc=1, linkx=true, title=[\"f1 prediction\" \"f2 prediction\"])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"xs = xs[1:testn]\n",
|
||||
"plot(xs, hcat(map(f1,xs), map(f2,xs), yhat1, yhat2), leg=true,\n",
|
||||
" line=([2 2 5 5], [:royalblue :orangered], [:solid :solid :dash :dash]))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Animate!"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"gif(anim, fps = 10)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"source": [
|
||||
"# Network viz"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# show the network (uses Qwt, visualize isn't available unless you import it)\n",
|
||||
"ENV[\"PYTHONPATH\"] = joinpath(Pkg.dir(\"Qwt\"), \"src\", \"python\");\n",
|
||||
"import Qwt\n",
|
||||
"viz = visualize(net);"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# update the net representation with weights, etc\n",
|
||||
"update!(viz)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"source": [
|
||||
"# testing..."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"selection[3][2]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"p[4][2] |> length"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"gui(progressviz.subplt)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"histogram(yhat1)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"progressviz.subplt.plts[1].seriesargs[1][:serieshandle][:get_offsets]()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"learningRateModel"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"update!(d,5)\n",
|
||||
"diff(d)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"using Plots\n",
|
||||
"p1 = plot(rand(20))\n",
|
||||
"p2 = plot(rand(10))\n",
|
||||
"p3 = scatter(rand(100))\n",
|
||||
"p4 = plot(rand(1000))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"subplot(p1,p2,p3,p4, nr=1, leg=false)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# ENV[\"MPLBACKEND\"] = \"qt4agg\"\n",
|
||||
"using Plots; pyplot()\n",
|
||||
"p = scatter(rand(10))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"p.seriesargs[1][:serieshandle][:get_offsets]()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"PyPlot.backend"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"gui()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"append!(p,1,rand(10))\n",
|
||||
"gui()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"sp = progressviz.subplt.plts[1].o.widget[:minimumSizeHint]()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"testn = 100\n",
|
||||
"xs = linspace(lim..., testn)\n",
|
||||
"x1, x2 = [hcat(xs,map(f,xs)) for f in funcs]\n",
|
||||
"y1, y2 = ones(testn), -ones(testn)\n",
|
||||
"yhat1, yhat2 = [vec(predict(net, x)) for x in (x1,x2)]\n",
|
||||
"DataPoints(vcat(x1,x2), vcat(y1,y2))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Julia 0.4.0",
|
||||
"language": "julia",
|
||||
"name": "julia-0.4"
|
||||
},
|
||||
"language_info": {
|
||||
"file_extension": ".jl",
|
||||
"mimetype": "application/julia",
|
||||
"name": "julia",
|
||||
"version": "0.4.0"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 0
|
||||
}
|
||||
@@ -1,157 +0,0 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"WARNING: Base.FloatingPoint is deprecated, use AbstractFloat instead.\n",
|
||||
" likely near /home/tom/.julia/v0.4/Qwt/src/widgets.jl:5\n",
|
||||
"WARNING: Base.String is deprecated, use AbstractString instead.\n",
|
||||
" likely near /home/tom/.julia/v0.4/Glob/src/Glob.jl:13\n",
|
||||
"WARNING: Base.Uint32 is deprecated, use UInt32 instead.\n",
|
||||
" likely near /home/tom/.julia/v0.4/Glob/src/Glob.jl:13\n",
|
||||
"WARNING: Base.String is deprecated, use AbstractString instead.\n",
|
||||
" likely near /home/tom/.julia/v0.4/Glob/src/Glob.jl:13\n",
|
||||
"WARNING: Base.String is deprecated, use AbstractString instead.\n",
|
||||
" likely near /home/tom/.julia/v0.4/Glob/src/Glob.jl:18\n",
|
||||
"WARNING: Base.String is deprecated, use AbstractString instead.\n",
|
||||
" likely near /home/tom/.julia/v0.4/Glob/src/Glob.jl:18\n",
|
||||
"WARNING: Base.String is deprecated, use AbstractString instead.\n",
|
||||
" likely near /home/tom/.julia/v0.4/Glob/src/Glob.jl:21\n",
|
||||
"WARNING: Base.String is deprecated, use AbstractString instead.\n",
|
||||
" likely near /home/tom/.julia/v0.4/Glob/src/Glob.jl:21\n",
|
||||
"WARNING: Base.String is deprecated, use AbstractString instead.\n",
|
||||
" likely near /home/tom/.julia/v0.4/Glob/src/Glob.jl:45\n",
|
||||
"WARNING: Base.String is deprecated, use AbstractString instead.\n",
|
||||
" likely near /home/tom/.julia/v0.4/Glob/src/Glob.jl:120\n",
|
||||
"WARNING: Base.String is deprecated, use AbstractString instead.\n",
|
||||
" likely near /home/tom/.julia/v0.4/Glob/src/Glob.jl:191\n",
|
||||
"WARNING: Base.String is deprecated, use AbstractString instead.\n",
|
||||
" likely near /home/tom/.julia/v0.4/Glob/src/Glob.jl:274\n",
|
||||
"WARNING: Base.String is deprecated, use AbstractString instead.\n",
|
||||
" likely near /home/tom/.julia/v0.4/Glob/src/Glob.jl:336\n",
|
||||
"WARNING: Base.String is deprecated, use AbstractString instead.\n",
|
||||
" likely near /home/tom/.julia/v0.4/Glob/src/Glob.jl:338\n",
|
||||
"WARNING: Base.String is deprecated, use AbstractString instead.\n",
|
||||
" likely near /home/tom/.julia/v0.4/Glob/src/Glob.jl:346\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"ename": "LoadError",
|
||||
"evalue": "LoadError: LoadError: LoadError: ArgumentError: Calendar not found in path\nwhile loading /home/tom/.julia/v0.4/CTechCommon/src/CTechCommon.jl, in expression starting on line 9\nwhile loading /home/tom/.julia/v0.4/OnlineAI/src/OnlineAI.jl, in expression starting on line 9\nwhile loading In[1], in expression starting on line 1",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"LoadError: LoadError: LoadError: ArgumentError: Calendar not found in path\nwhile loading /home/tom/.julia/v0.4/CTechCommon/src/CTechCommon.jl, in expression starting on line 9\nwhile loading /home/tom/.julia/v0.4/OnlineAI/src/OnlineAI.jl, in expression starting on line 9\nwhile loading In[1], in expression starting on line 1",
|
||||
"",
|
||||
" in require at ./loading.jl:233",
|
||||
" in include at ./boot.jl:261",
|
||||
" in include_from_node1 at ./loading.jl:304",
|
||||
" in require at ./loading.jl:243",
|
||||
" in include at ./boot.jl:261",
|
||||
" in include_from_node1 at ./loading.jl:304",
|
||||
" in require at ./loading.jl:243"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"using Plots, DataFrames, OnlineStats, OnlineAI\n",
|
||||
"gadfly(); default(size=(500,300))\n",
|
||||
"df = readtable(joinpath(Pkg.dir(\"Plots\"), \"examples\", \"meetup\", \"winequality-white.csv\"), separator=';');"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"y = float(df[:quality] .> 6)\n",
|
||||
"x = Array(df[:,1:11])\n",
|
||||
"n, p = size(x)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# logistic regression\n",
|
||||
"reg = StochasticModel(x, y; model=LogisticRegression())"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"yhat = predict(reg, x)\n",
|
||||
"scatter(yhat, y, xlab=\"Estimate\", ylab=\"Actual\", title=\"Logistic Regression\", smooth=.95, alpha=0.2, w=0, nbins=50)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"for i in 1:10000\n",
|
||||
" row = sample(1:n)\n",
|
||||
" update!(reg, vec(x[row,:]), y[row])\n",
|
||||
"end\n",
|
||||
"reg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"y"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Julia 0.4.0",
|
||||
"language": "julia",
|
||||
"name": "julia-0.4"
|
||||
},
|
||||
"language_info": {
|
||||
"file_extension": ".jl",
|
||||
"mimetype": "application/julia",
|
||||
"name": "julia",
|
||||
"version": "0.4.0"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 0
|
||||
}
|
||||
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 114 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 2.6 MiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 86 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 85 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 2.6 MiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 178 KiB |
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 2.2 MiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 31 KiB |