Compare commits

..

320 Commits

Author SHA1 Message Date
Thomas Breloff 894928d7ca fixes, examples, and readme; also deprecated winston 2015-10-26 14:03:06 -04:00
Thomas Breloff afb1486f86 tests and readme 2015-10-26 13:18:22 -04:00
Thomas Breloff 2799bd18e1 moved refimg dirs 2015-10-26 12:44:16 -04:00
Thomas Breloff 43c2a885b9 travis and 0.3 fixes 2015-10-26 12:25:09 -04:00
Thomas Breloff be7feb0eaa travis and readme 2015-10-26 11:43:30 -04:00
Thomas Breloff e3d653a8d9 tests 2015-10-26 11:38:33 -04:00
Thomas Breloff b9f9d8160d working on tests 2015-10-26 11:28:49 -04:00
Thomas Breloff 141b5c604d pyplot test fixes; pyplot ref imgs; travis fix 2015-10-26 10:52:29 -04:00
Thomas Breloff 8a0fc00435 imgcmp and travis 2015-10-26 09:59:26 -04:00
Thomas Breloff a3a8cb9368 nnet 2015-10-26 01:40:12 -04:00
Thomas Breloff 96c66b33a2 nnet 2015-10-26 00:11:43 -04:00
Thomas Breloff 62fad3724f pyplot push and nnet 2015-10-25 17:08:42 -04:00
Thomas Breloff ca2b6c87ef enabled lfs 2015-10-25 13:53:09 -04:00
Thomas Breloff 20348645a3 pyplot fixes 2015-10-25 00:44:18 -04:00
Thomas Breloff a9b39fad64 pyplot gui fixes and background/foreground fixes with writemime 2015-10-25 00:34:20 -04:00
Thomas Breloff 1c556ade57 more subplot fixes 2015-10-24 22:29:27 -04:00
Thomas Breloff e08957f5ec cleanup and fixes for subplot logic 2015-10-24 20:59:42 -04:00
Thomas Breloff e76ded69e6 some fixes for subplots and imgcmp 2015-10-24 16:11:55 -04:00
Thomas Breloff 7e740861d8 palette fixes and working on imgcmp 2015-10-24 15:09:13 -04:00
Thomas Breloff f28e65a26c meetup 2015-10-24 00:00:26 -04:00
Thomas Breloff a29f0c820b nnet 2015-10-23 17:05:35 -04:00
Thomas Breloff b2bc30cfed qwt fix 2015-10-23 15:58:42 -04:00
Thomas Breloff 6ce235bb68 immerse gui fix 2015-10-23 13:53:13 -04:00
Thomas Breloff 479ab989df immerse subplot gui fix; pyplot colorbars; subplot creation fix 2015-10-23 13:26:34 -04:00
Thomas Breloff 8d490b9e52 meetup nnet 2015-10-22 16:53:39 -04:00
Thomas Breloff 949f11a8c9 meetup 2015-10-22 15:10:15 -04:00
Thomas Breloff d4896e1978 improved color palette generation; removed some predefined gradients 2015-10-22 12:16:00 -04:00
Thomas Breloff c4020080b3 nnet 2015-10-22 00:40:41 -04:00
Thomas Breloff 5a68003d16 fixed empty plots 2015-10-21 21:30:05 -04:00
Thomas Breloff 9fcc3cdc24 pre/post processing subplots 2015-10-21 13:52:58 -04:00
Thomas Breloff ee80ce5ae6 subplots and colors 2015-10-21 12:27:13 -04:00
Thomas Breloff 456c4019c4 misc 2015-10-21 01:34:50 -04:00
Thomas Breloff f65627a505 travis; wine 2015-10-21 00:44:48 -04:00
Thomas Breloff 38d1fc15fe travis; wine 2015-10-21 00:29:53 -04:00
Thomas Breloff 5eead5b0fa travis; wine 2015-10-21 00:21:55 -04:00
Thomas Breloff 4223bd57f1 travis; wine 2015-10-21 00:15:11 -04:00
Thomas Breloff 5bfa653858 travis; wine 2015-10-20 23:57:18 -04:00
Thomas Breloff 5342764caf travis 2015-10-20 23:23:38 -04:00
Thomas Breloff 04a44a82c9 tests 2015-10-20 23:07:47 -04:00
Thomas Breloff c28820f39c colors and tests 2015-10-20 17:11:21 -04:00
Thomas Breloff 546955a78b working on colors and tests 2015-10-20 14:49:01 -04:00
Thomas Breloff d1e9cc5800 palettes notebook 2015-10-20 12:55:36 -04:00
Thomas Breloff 4ef2fb9933 palettes notebook 2015-10-20 12:23:45 -04:00
Thomas Breloff d7bc8adf21 palettes notebook 2015-10-20 12:15:13 -04:00
Thomas Breloff b5f44efc69 palettes notebook 2015-10-20 11:56:06 -04:00
Thomas Breloff 5e8abea222 palettes notebook 2015-10-20 11:53:02 -04:00
Thomas Breloff f291454ccb palettes notebook 2015-10-20 10:40:49 -04:00
Thomas Breloff bac6637b46 messing with colors 2015-10-20 08:24:58 -04:00
Thomas Breloff 866ac9fb72 working on test framework 2015-10-19 17:53:17 -04:00
Thomas Breloff 8208f6947f pdf/ps/svg outputs 2015-10-19 14:11:22 -04:00
Thomas Breloff dcd50a7c62 started work on imgcomp tests 2015-10-19 00:31:43 -04:00
Thomas Breloff 781aa86568 started work on imgcomp tests 2015-10-19 00:24:04 -04:00
Thomas Breloff 3facc116c8 gadfly examples 2015-10-18 00:56:38 -04:00
Thomas Breloff 9178c3b087 winston examples 2015-10-18 00:50:30 -04:00
Thomas Breloff 5c6c85a22f qwt fixes and examples 2015-10-18 00:41:04 -04:00
Thomas Breloff b8adb4d229 unicodeplots examples 2015-10-18 00:08:42 -04:00
Thomas Breloff 093118da8b unicodeplots examples 2015-10-17 23:52:07 -04:00
Thomas Breloff 0aa760119f examples 2015-10-17 23:43:52 -04:00
Thomas Breloff 60b3a1583d examples 2015-10-17 23:31:50 -04:00
Thomas Breloff 593c47b938 examples 2015-10-17 23:29:03 -04:00
Thomas Breloff 0f6bb7ce6f examples 2015-10-17 23:10:45 -04:00
Thomas Breloff 048c2541e6 readme 2015-10-17 23:07:35 -04:00
Thomas Breloff f3e7d1a43b examples 2015-10-17 22:43:36 -04:00
Thomas Breloff 5df24d6683 custom markers example; pyplot markers 2015-10-17 22:16:06 -04:00
Thomas Breloff 73779898b7 pyplot fonts and fixes; examples 2015-10-17 16:49:45 -04:00
Thomas Breloff 7200b6adc6 pyplot set/get data; examples 2015-10-17 16:17:18 -04:00
Thomas Breloff d48f15ab4d examples 2015-10-17 15:22:00 -04:00
Thomas Breloff 2747671935 readme 2015-10-17 14:07:53 -04:00
Thomas Breloff d86f24dd35 pyplot fixes 2015-10-17 01:26:58 -04:00
Thomas Breloff 60edccade5 readme 2015-10-16 17:46:20 -04:00
Thomas Breloff 540460cae9 readme 2015-10-16 17:37:30 -04:00
Thomas Breloff df44d86f46 examples and readme 2015-10-16 17:25:54 -04:00
Thomas Breloff c287b446c9 fixes and examples 2015-10-16 17:21:28 -04:00
Thomas Breloff 1db36c05a8 animations 2015-10-16 16:36:40 -04:00
Thomas Breloff 2c884ab5ab animations 2015-10-16 12:03:40 -04:00
Thomas Breloff cd0dfc956d gadfly cleanup 2015-10-16 11:03:34 -04:00
Thomas Breloff 03392a5f03 gadfly cleanup 2015-10-16 10:58:44 -04:00
Thomas Breloff a7da999bd7 Font and tick/guide/legend fonts 2015-10-16 10:52:36 -04:00
Thomas Breloff 47f21b1652 fixes; changed reg to smooth, added loess smoothing in gadfly 2015-10-16 00:47:46 -04:00
Thomas Breloff 7c91d10c79 several fixes after gadfly reorg 2015-10-16 00:21:37 -04:00
Thomas Breloff fac2f5494b gadfly overhaul 2015-10-15 23:11:17 -04:00
Thomas Breloff bfcdb7e840 example 2015-10-15 17:30:44 -04:00
Thomas Breloff 21d55db3b4 slides 2015-10-15 17:19:57 -04:00
Thomas Breloff 18e49888fe jpg 2015-10-15 16:51:48 -04:00
Thomas Breloff 7ba2f61361 0.3 fix 2015-10-15 16:50:57 -04:00
Thomas Breloff 407df158ef PlotText/text for annotations; fixes 2015-10-15 14:46:29 -04:00
Thomas Breloff eab46ba9c4 fixes 2015-10-15 01:34:06 -04:00
Thomas Breloff 39318e5e61 working on shapes 2015-10-14 20:53:44 -04:00
Thomas Breloff ac1ce03fe5 working on shapes overhaul 2015-10-14 20:46:17 -04:00
Thomas Breloff 4fa697ec75 big shapes overhaul; gadfly ShapeGeometry; some reorg and cleanup... still working on it 2015-10-14 18:14:44 -04:00
Thomas Breloff 027961bffa various fixes 2015-10-14 12:11:20 -04:00
Thomas Breloff 7dfcbabe0c wine 2015-10-13 17:35:10 -04:00
Thomas Breloff dfc7658426 misc 2015-10-13 16:51:19 -04:00
Thomas Breloff 04c6726b76 pyplot cleanup 2015-10-13 15:56:14 -04:00
Thomas Breloff 8fdbbe4c16 pyplot subplots 2015-10-13 15:30:25 -04:00
Thomas Breloff 09fceab75b pyplot subplots 2015-10-13 15:02:27 -04:00
Thomas Breloff 8df4c27285 pyplot, corrplot, and nba 2015-10-13 01:16:11 -04:00
Thomas Breloff e38820b74a working on pyplot 2015-10-12 18:16:55 -04:00
Thomas Breloff c052e731f8 fix links to keep separate lims per row/column 2015-10-12 16:42:34 -04:00
Thomas Breloff 3636860262 subplot linkfunc, fixes, cleanup 2015-10-12 14:31:27 -04:00
Thomas Breloff ce7421bef4 immerse fix 2015-10-12 10:42:29 -04:00
Thomas Breloff 23b51c4c3e working on pyplot subplots 2015-10-10 00:57:48 -04:00
Thomas Breloff 48d802fc40 qwt subplots 2015-10-10 00:03:23 -04:00
Thomas Breloff 51e8f3ff6e working on subplots 2015-10-09 23:21:45 -04:00
Thomas Breloff 7917397bf3 working on corrplot and recipes 2015-10-09 17:08:17 -04:00
Thomas Breloff e0c0052b63 working on corrplot and recipes 2015-10-09 17:08:06 -04:00
Thomas Breloff 15a4b50ce4 working on corrplot and recipes 2015-10-09 17:03:54 -04:00
Thomas Breloff a51a8abf27 working on subplots and recipes 2015-10-09 16:00:24 -04:00
Thomas Breloff 45747e3635 working on recipes 2015-10-09 14:35:00 -04:00
Thomas Breloff 64b8e15918 working on subplots and recipes 2015-10-09 13:12:40 -04:00
Thomas Breloff f4b716b255 working on linked subplots 2015-10-08 17:44:00 -04:00
Thomas Breloff 1115ff83bb working on contours 2015-10-08 14:18:49 -04:00
Thomas Breloff c24550c756 0.3 fix gadfly shapes 2015-10-08 14:01:30 -04:00
Thomas Breloff b5cdfe30ea readme and examples 2015-10-08 13:33:14 -04:00
Thomas Breloff a10e594da1 tests 2015-10-08 12:31:33 -04:00
Thomas Breloff 63aee387f0 badges and test fix 2015-10-08 12:05:21 -04:00
Thomas Breloff ab9de1e199 added 0.3 and nightly to travis; force Winston to use gtk 2015-10-08 11:48:54 -04:00
Thomas Breloff e60c463328 0.3 support; require Compat; pyplot scatter colormaps 2015-10-08 11:30:20 -04:00
Thomas Breloff 537d74196b working on contours 2015-10-08 07:49:26 -04:00
Thomas Breloff a8bbbe8582 working on contours 2015-10-08 00:49:30 -04:00
Thomas Breloff 29471a7aac readme 2015-10-07 18:18:44 -04:00
Thomas Breloff 894a4a5567 winston fixes/examples and updated readme 2015-10-07 18:09:32 -04:00
Thomas Breloff f7cd5276f0 fixed qwt and examples 2015-10-07 17:42:08 -04:00
Thomas Breloff 95b8c71083 examples 2015-10-07 17:04:19 -04:00
Thomas Breloff 52c82e6fe2 examples 2015-10-07 16:54:42 -04:00
Thomas Breloff cef1abd6aa readme 2015-10-07 16:29:32 -04:00
Thomas Breloff 91da261128 working on colors/args and examples 2015-10-07 16:04:30 -04:00
Thomas Breloff 1c70346a61 bringing pyplot up to speed 2015-10-07 13:45:38 -04:00
Thomas Breloff 2de017086d working on colors and args 2015-10-07 12:50:07 -04:00
Thomas Breloff d6253c72d4 working on colors, args, and axis flip 2015-10-06 18:19:44 -04:00
Thomas Breloff e5007b6c87 working on colors, args, and axis flip 2015-10-06 17:51:54 -04:00
Thomas Breloff bbc18549b3 working on args 2015-10-06 11:37:45 -05:00
Thomas Breloff b6855b6fba working on args 2015-10-06 10:07:18 -05:00
Thomas Breloff 70db97d576 working on args 2015-10-06 09:49:33 -05:00
Thomas Breloff f632f2f39e working on args 2015-10-06 09:04:57 -05:00
Thomas Breloff b23f968d57 working on axis/line/marker/fill overhaul 2015-10-06 08:45:53 -05:00
Thomas Breloff ea88877a11 working on color schemes 2015-10-05 17:06:52 -05:00
Thomas Breloff 1de3decede working on color schemes 2015-10-05 16:28:43 -05:00
Thomas Breloff 78045fd2ab working on spy and nbins tuple 2015-10-04 21:39:32 -05:00
Thomas Breloff 7c8898158b working on gadfly continuous colors 2015-10-04 16:52:29 -05:00
Thomas Breloff 3fc5f87388 added better error for Winston output_surface 2015-10-04 09:41:42 -05:00
Thomas Breloff 623ca1effc winston log10 scale 2015-10-03 17:18:58 -05:00
Thomas Breloff da05e7fe5e qwt log10 scale 2015-10-03 17:03:13 -05:00
Thomas Breloff f3734d4c64 added pyplot scales 2015-10-03 09:46:02 -05:00
Thomas Breloff 9ab458e109 switched gadfly heatmap to Geom.histogram2d 2015-10-01 12:55:05 -05:00
Thomas Breloff d4c72e6f78 gadfly ribbon 2015-09-30 10:36:00 -04:00
Thomas Breloff 1f58ef5140 don't error on savefig without an ext, use default; closes #32 2015-09-30 09:55:07 -04:00
Thomas Breloff 69d574c587 added scales globally and to gadfly/immerse 2015-09-30 09:18:16 -04:00
Thomas Breloff a027fdded7 autoload dataframes 2015-09-29 14:40:11 -04:00
Thomas Breloff 443df0501d supported graphs 2015-09-29 14:27:18 -04:00
Thomas Breloff d68fe5f80d supported readme 2015-09-29 14:14:13 -04:00
Thomas Breloff ebf868bae3 supported readme 2015-09-29 14:13:46 -04:00
Thomas Breloff 8a9b3286e9 supportedGraphs utils and pngs; removed args/kwargs from defaults 2015-09-29 14:05:24 -04:00
Thomas Breloff a0455561b6 unicode hline/vline; supportGraph utils 2015-09-29 13:46:31 -04:00
Thomas Breloff 518ccf5a74 pyplot hline/vline 2015-09-29 12:20:58 -04:00
Thomas Breloff 54f09c58cb unicodeplots lims 2015-09-29 12:00:48 -04:00
Thomas Breloff 029ad1045a qwt lims/ticks 2015-09-29 11:50:02 -04:00
Thomas Breloff 2f55fb4d84 winston lims 2015-09-29 10:40:46 -04:00
Thomas Breloff add724eee9 working on gadfly ticks 2015-09-29 09:50:53 -04:00
Thomas Breloff 07324ae892 working on gadfly ticks 2015-09-29 09:49:58 -04:00
Thomas Breloff ffc05e971f working on ticks 2015-09-28 23:49:03 -04:00
Thomas Breloff 30f42fd1d4 added lims/ticks for pyplot 2015-09-28 22:49:46 -04:00
Thomas Breloff f284857438 added qwt hline/vline; working on setTicksFromStringVector 2015-09-28 17:56:32 -04:00
Thomas Breloff 06ab514472 qwt annotations and examples 2015-09-28 17:11:43 -04:00
Thomas Breloff 85b65acbe0 readme 2015-09-28 16:48:32 -04:00
Thomas Breloff 4d1d9de22f gitignore 2015-09-28 16:43:04 -04:00
Thomas Breloff a68ec9b191 savefig and png 2015-09-28 16:42:02 -04:00
Thomas Breloff e386636d66 readme 2015-09-28 16:01:48 -04:00
Thomas Breloff cc3311b8eb examples 2015-09-28 15:49:46 -04:00
Thomas Breloff d3d1181769 examples and readme 2015-09-28 15:44:50 -04:00
Thomas Breloff 001abf684c examples 2015-09-28 15:35:45 -04:00
Thomas Breloff 92a65296b5 redid supportedArgs 2015-09-28 15:21:45 -04:00
Thomas Breloff 3a7887d003 working on massive naming overhaul and fixes 2015-09-28 14:58:56 -04:00
Thomas Breloff 3334c4a87a winston annotations 2015-09-28 12:52:44 -04:00
Thomas Breloff 228ce768e0 pyplot annotations and ioff fix 2015-09-28 12:09:52 -04:00
Thomas Breloff eafc1a784c working on annotations 2015-09-28 11:09:45 -04:00
Thomas Breloff fd3a4d0a0e working on annotations 2015-09-28 10:46:53 -04:00
Thomas Breloff 77d679b63b working on handling string input data 2015-09-27 23:46:42 -04:00
Thomas Breloff 730d764c6e gadfly color group 2015-09-25 17:03:57 -04:00
Thomas Breloff 6f1ef82e89 gadfly color groups for line segments 2015-09-25 16:47:17 -04:00
Thomas Breloff d4da910f19 call Gadfly.get_stroke_vector; added getindex/setindex to qwt 2015-09-25 13:33:06 -04:00
Thomas Breloff a0a0773bd2 fix push warning 2015-09-25 09:42:16 -04:00
Thomas Breloff 9ce8d138d5 working on data updating and notebooks 2015-09-25 01:00:22 -04:00
Thomas Breloff 0041b034e0 working on various things 2015-09-24 16:47:30 -04:00
Thomas Breloff d781c437de started real time updates; fixes #29 (pyplot ijulia display) 2015-09-24 13:01:31 -04:00
Thomas Breloff 2fe21b8547 fixes, gadfly star shape, readme example 2015-09-24 00:35:18 -04:00
Thomas Breloff dbc90c9417 working on groups and iris notebook 2015-09-23 23:34:54 -04:00
Thomas Breloff 431d60a58a working on groups and iris notebook 2015-09-23 23:15:15 -04:00
Thomas Breloff fcfcc9a94a working on groups and iris notebook 2015-09-23 17:13:20 -04:00
Thomas Breloff 870fb4e2df working on groups and iris notebook 2015-09-23 17:12:26 -04:00
Thomas Breloff e3612b973f working on groups and iris notebook 2015-09-23 16:48:49 -04:00
Thomas Breloff 75f4ca928f working on auto-labels from dataframes meta info, and started group arg 2015-09-23 15:34:42 -04:00
Thomas Breloff 22fd25b30f readme 2015-09-23 13:36:51 -04:00
Thomas Breloff 610ddb09ff readme and cleanup 2015-09-23 13:33:12 -04:00
Thomas Breloff 33602aca11 fixed tests 2015-09-23 13:03:37 -04:00
Thomas Breloff a207856e99 lims/ticks for gadfly/immerse 2015-09-23 12:45:24 -04:00
Thomas Breloff 80e8b5b5e4 fixes 2015-09-23 11:35:08 -04:00
Thomas Breloff 273996aa91 working on ticks/lims 2015-09-23 00:14:32 -04:00
Thomas Breloff 646b88c5be working on ticks 2015-09-22 23:30:20 -04:00
Thomas Breloff 88cfd82a25 unicodeplots fixes 2015-09-22 17:19:37 -04:00
Thomas Breloff 2f8436be87 winston examples 2015-09-22 17:04:51 -04:00
Thomas Breloff a6237cdda3 qwt examples 2015-09-22 17:02:19 -04:00
Thomas Breloff eb93a767fc pyplot fixes and examples 2015-09-22 16:57:23 -04:00
Thomas Breloff 41852412ca gadfly/immerse fixes and examples 2015-09-22 16:46:54 -04:00
Thomas Breloff 224b2b7323 various fixes; readme 2015-09-22 16:30:40 -04:00
Thomas Breloff ec939f9f9a more display fun 2015-09-22 14:56:37 -04:00
Thomas Breloff eced15b712 working on display/writemime overhaul 2015-09-22 12:54:55 -04:00
Thomas Breloff f8fb473981 reexport Colors; move default backend choice into __init__; fixed pickDefaultBackend 2015-09-22 08:10:30 -04:00
Thomas Breloff f2bcb77cfb trying fgcolor gadfly 2015-09-22 00:04:35 -04:00
Thomas Breloff dc5da28176 initial dataframes support 2015-09-21 23:36:07 -04:00
Thomas Breloff be43e64743 foreground_color fixes and added support in pyplot 2015-09-21 23:04:37 -04:00
Thomas Breloff 454630dace qwt fixes 2015-09-21 22:14:59 -04:00
Thomas Breloff c9df244333 qwt fixes 2015-09-21 17:38:27 -04:00
Thomas Breloff 2649d97d69 readme 2015-09-21 17:31:36 -04:00
Thomas Breloff bcb9ac5501 readme 2015-09-21 17:29:51 -04:00
Thomas Breloff 76d1e26f7d readme 2015-09-21 17:04:20 -04:00
Thomas Breloff ba13ab9926 readme 2015-09-21 16:59:15 -04:00
Thomas Breloff c43b34b67f auto-generated readme 2015-09-21 16:49:45 -04:00
Thomas Breloff 3739c2881b fixed linetype aliases; for qwt as well 2015-09-21 16:18:58 -04:00
Thomas Breloff bc13b81351 working on readme_template; added path linetype and sorting logic for line 2015-09-21 16:03:59 -04:00
Thomas Breloff 86a56e487a working on aliases 2015-09-21 14:38:03 -04:00
Thomas Breloff 031058cd0c cleanup and renaming constants 2015-09-21 12:15:40 -04:00
Thomas Breloff 85040d6104 fix creating empty plot with plot() 2015-09-21 12:05:17 -04:00
Thomas Breloff efbf74b44c working on auto generated color palette 2015-09-21 11:45:37 -04:00
Thomas Breloff 774fc42e8e replaced creation of kw args 2015-09-20 23:48:45 -04:00
Thomas Breloff 692cfe4f52 added srand calls to tests and examples 2015-09-20 22:59:25 -04:00
Thomas Breloff 8b34d4417b gadfly display size and fix: check for line_style 2015-09-20 21:12:56 -04:00
Thomas Breloff c20a7b3c69 added fillto for gadfly/immerse 2015-09-19 17:23:18 -04:00
Thomas Breloff ff6e83c55e working on new plot logic 2015-09-19 14:39:25 -04:00
Thomas Breloff 6aa56fd30f fixed subplot bug 2015-09-19 00:38:50 -04:00
Thomas Breloff f5a6f129dd foreground_color 2015-09-19 00:05:24 -04:00
Thomas Breloff 5405c1d240 working on colors 2015-09-18 17:20:35 -04:00
Thomas Breloff 455f85e230 working on colors, args 2015-09-18 16:53:43 -04:00
Thomas Breloff fa899a67a7 added support for gadfly linestyles... depends on gadfly PR 695 2015-09-18 12:26:18 -04:00
Thomas Breloff 56cf25eebf gadfly shapes 2015-09-18 01:55:16 -04:00
Thomas Breloff 1a490551e6 working on arg aliases and reorg 2015-09-18 01:48:00 -04:00
Thomas Breloff 4514802e35 replacing String with AbstractString 2015-09-17 21:32:27 -04:00
Thomas Breloff a9062b0611 examples 2015-09-17 17:11:25 -04:00
Thomas Breloff eb6b30aab1 markers, fixes, and rerun examples 2015-09-17 17:05:08 -04:00
Thomas Breloff 922abd7ad3 examples 2015-09-17 16:21:13 -04:00
Thomas Breloff c4596dda75 more shape fun... completed gadfly's set 2015-09-17 16:18:48 -04:00
Thomas Breloff 168b77326b fixing markers 2015-09-17 15:44:01 -04:00
Thomas Breloff f674bba861 added gadfly shapes utriangle, dtriangle, and xcross 2015-09-17 15:28:54 -04:00
Thomas Breloff 6b2e65e738 ohlc example 2015-09-17 14:49:37 -04:00
Thomas Breloff 51021c799d accept vectors of tuples; implement ohlc for gadfly with an example 2015-09-17 14:44:29 -04:00
Thomas Breloff 01cb036976 added fillto support for winston 2015-09-17 11:26:26 -04:00
Thomas Breloff ea7867429f added hline/vline support in gadfly 2015-09-17 10:14:13 -04:00
Thomas Breloff c5300cd7be notes 2015-09-17 08:32:32 -04:00
Thomas Breloff ea34c7d226 working on winston and examples 2015-09-16 17:17:05 -04:00
Thomas Breloff 537e04989f working on winston 2015-09-16 16:34:40 -04:00
Thomas Breloff d447c5dc25 moved exports into backend files 2015-09-16 15:11:44 -04:00
Thomas Breloff 73944fc9bf first draft winston 2015-09-16 15:08:50 -04:00
Thomas Breloff 01e994e0f1 regenerate markdown 2015-09-16 14:32:36 -04:00
Thomas Breloff af3f3f436c improving markdown 2015-09-16 14:24:58 -04:00
Thomas Breloff 56e90a266a examples 2015-09-16 14:16:58 -04:00
Thomas Breloff 1fc59ed522 fix ALL_ARGS; unicodeplots examples 2015-09-16 14:01:53 -04:00
Thomas Breloff 3a3b1a6c17 examples 2015-09-16 13:40:23 -04:00
Thomas Breloff 242ce807df examples 2015-09-16 13:32:43 -04:00
Thomas Breloff 734967152c fixed suppported typo 2015-09-16 13:29:51 -04:00
Thomas Breloff 8023e15bb9 examples 2015-09-16 13:17:06 -04:00
Thomas Breloff ceb58a6fe1 supported functions; renamed a few things package to backend 2015-09-16 13:03:37 -04:00
Thomas Breloff ae48bd1abb working on big set of fixes/reorg; better example code, supportedArgs and subplotSupported, change dots to scatter and handle better 2015-09-16 12:07:08 -04:00
Thomas Breloff d27fe2fbad examples 2015-09-16 01:47:17 -04:00
Thomas Breloff 970686efaf supported functions and gadfly shapes 2015-09-16 01:42:47 -04:00
Thomas Breloff 8df46ec0e9 gadfly_shapes.jl 2015-09-16 00:25:51 -04:00
Thomas Breloff 864057a6ed unicode examples 2015-09-16 00:12:14 -04:00
Thomas Breloff 92ca4cb1d1 examples 2015-09-16 00:01:38 -04:00
Thomas Breloff aabf811fe7 working on Immerse subplot support 2015-09-15 23:27:00 -04:00
Thomas Breloff 9b0a645a05 working on immerse subplot window 2015-09-15 17:54:40 -04:00
Thomas Breloff 24b5e7ff09 pushtomaster 2015-09-15 17:11:36 -04:00
Thomas Breloff 48969ecee3 added sticks and sticksHack for Gadfly 2015-09-15 16:49:56 -04:00
Thomas Breloff 6ae0912e0e readme 2015-09-15 13:24:14 -04:00
Thomas Breloff e8062d544d readme 2015-09-15 13:18:49 -04:00
Thomas Breloff 07332aa4ac readme 2015-09-15 13:16:19 -04:00
Thomas Breloff 1e2b3559f2 gadfly marker fixes and examples 2015-09-15 13:08:04 -04:00
Thomas Breloff 8bfaa14edb added backend template 2015-09-15 10:03:56 -04:00
Thomas Breloff d4e87d3fe8 working on gadfly and immerse 2015-09-14 23:44:28 -04:00
Thomas Breloff 460348c0b6 working on gadfly and immerse 2015-09-14 23:28:47 -04:00
Thomas Breloff 264e8c735e working on gadfly markers 2015-09-14 17:27:37 -04:00
Thomas Breloff c4b04e2327 immerse final fixes and examples 2015-09-14 15:30:09 -04:00
Thomas Breloff dc1389bd1a working on immerse 2015-09-14 15:24:18 -04:00
Thomas Breloff 51e38c80d8 working on immerse 2015-09-14 15:08:25 -04:00
Thomas Breloff a33f5fabd1 working on immerse 2015-09-14 14:41:13 -04:00
Thomas Breloff e6c8344970 working on immerse 2015-09-14 13:44:58 -04:00
Thomas Breloff 2207ae6617 working on immerse 2015-09-14 12:35:24 -04:00
Thomas Breloff cdc6707ad3 pyplot bg color 2015-09-14 10:46:33 -04:00
Thomas Breloff 448fdaecbd readme 2015-09-14 00:45:55 -04:00
Thomas Breloff 4aa79aed6f readme 2015-09-14 00:45:00 -04:00
Thomas Breloff c8fcc373f8 examples and readme 2015-09-14 00:28:08 -04:00
Thomas Breloff 1410141b46 examples 2015-09-14 00:16:24 -04:00
Thomas Breloff 76efabb5f3 heatmaps, fixes 2015-09-14 00:15:51 -04:00
Thomas Breloff 36effc6dc4 working on pyplot 2015-09-13 22:20:15 -04:00
Thomas Breloff 8d5412a38f working on pyplot 2015-09-13 21:34:28 -04:00
Thomas Breloff 465b5d20b4 working on pyplot 2015-09-13 18:39:56 -04:00
Thomas Breloff 60a22b1897 working on pyplot 2015-09-13 17:02:03 -04:00
Thomas Breloff 09a685e977 gitignore 2015-09-13 16:36:32 -04:00
Thomas Breloff 31da90865c added args and kwargs to PLOT_DEFAULTS 2015-09-13 14:06:33 -04:00
Thomas Breloff 9ea98bcb56 readme 2015-09-12 22:54:16 -04:00
Thomas Breloff 4f9804d24e readme 2015-09-12 22:48:07 -04:00
Thomas Breloff 0a88518188 readme 2015-09-12 22:38:56 -04:00
Thomas Breloff ccae6373be readme 2015-09-12 22:31:05 -04:00
Thomas Breloff 31e5d07a45 readme 2015-09-12 22:24:44 -04:00
Thomas Breloff 056fee4b28 added parametric plot with example 2015-09-12 22:02:17 -04:00
Thomas Breloff 5a47864d73 readme 2015-09-12 21:46:30 -04:00
Thomas Breloff 1c7da432f1 readme 2015-09-12 21:40:25 -04:00
Thomas Breloff 3d3ceacaab pickDefaultBackend with warning; readme improvements 2015-09-12 21:33:38 -04:00
Thomas Breloff 35df39a44b readme and shorthands for switching plotters 2015-09-12 21:12:18 -04:00
Thomas Breloff c23d6d62e7 examples, fixes, and reorg img dir 2015-09-12 20:47:09 -04:00
Thomas Breloff 243d4a7ac3 working on unicodeplots savepng and examples 2015-09-12 20:28:40 -04:00
Thomas Breloff 50254d06d7 working on unicodeplots savepng and examples 2015-09-12 20:23:36 -04:00
Thomas Breloff 475b46f516 working on unicodeplots 2015-09-12 16:49:02 -04:00
Thomas Breloff f4573f7e87 added unicodeplots to examples 2015-09-12 16:37:34 -04:00
Thomas Breloff 7fb1a4ec0f better error when importing a package that is not installed; xmin/xmax functions example 2015-09-12 16:10:42 -04:00
Thomas Breloff 4299aa0ff8 more ways to plot Funtions 2015-09-12 15:59:45 -04:00
Thomas Breloff 4eb7e3810e unicodeplots 2015-09-12 14:58:15 -04:00
Thomas Breloff 3e7e7e9ac0 working on unicodeplots 2015-09-12 00:57:58 -04:00
Thomas Breloff 9e1058ec0a working on unicodeplots 2015-09-12 00:54:41 -04:00
Thomas Breloff 426a9eb6d3 working on unicodeplots 2015-09-12 00:31:48 -04:00
Thomas Breloff f322b9ac1c working on unicodeplots; added args to Plot; some reorg 2015-09-12 00:24:35 -04:00
Thomas Breloff e13fec08ca readme 2015-09-11 22:12:33 -04:00
258 changed files with 117067 additions and 1061 deletions
+1
View File
@@ -0,0 +1 @@
*.gif filter=lfs diff=lfs merge=lfs -text
+3
View File
@@ -1,3 +1,6 @@
*.jl.cov
*.jl.*.cov
*.jl.mem
.DS_Store
examples/.ipynb_checkpoints/*
examples/meetup/.ipynb_checkpoints/*
+10 -2
View File
@@ -4,10 +4,18 @@ os:
- linux
- osx
julia:
- 0.3
- 0.4
#- nightly
notifications:
email: false
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(pwd()); Pkg.build("Plots"); Pkg.add("Gadfly"); Pkg.test("Plots"; coverage=true)'
- 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())'
+325 -143
View File
@@ -1,224 +1,406 @@
# Plots
[![Build Status](https://travis-ci.org/tbreloff/Plots.jl.svg?branch=master)](https://travis-ci.org/tbreloff/Plots.jl)
[![Plots](http://pkg.julialang.org/badges/Plots_0.3.svg)](http://pkg.julialang.org/?pkg=Plots&ver=0.3)
[![Plots](http://pkg.julialang.org/badges/Plots_0.4.svg)](http://pkg.julialang.org/?pkg=Plots&ver=0.4)
<!-- [![Coverage Status](https://coveralls.io/repos/tbreloff/Plots.jl/badge.svg?branch=master)](https://coveralls.io/r/tbreloff/Plots.jl?branch=master) -->
<!-- [![codecov.io](http://codecov.io/github/tbreloff/Plots.jl/coverage.svg?branch=master)](http://codecov.io/github/tbreloff/Plots.jl?branch=master) -->
Plotting interface and wrapper for several plotting packages.
#### 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
## 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)
- [Gadfly.jl](docs/gadfly_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, clone the package, and get any plotting packages you need:
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")
```
Pkg.clone("https://github.com/tbreloff/Plots.jl.git")
Pkg.add("Gadfly") # [optional]
Pkg.clone("https://github.com/tbreloff/Qwt.jl.git") # [optional] requires pyqt and pyqwt
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 `plotter()` is called (which happens
on your first call to `plot`). This means that you don't need any backends to be installed when you call `using Plots`.
For now, the default backend is Gadfly.
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, then save a png:
Do a plot in Gadfly (inspired by [this example](http://gadflyjl.org/geom_point.html)), then save a png:
```
plot(rand(10,2); marker = :rect)
savepng(Plots.IMG_DIR * "gadfly1.png")
```
```julia
gadfly() # switch to Gadfly as a backend
dataframes() # turn on support for DataFrames inputs
which saves:
# 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")
```
![gadfly_plt](img/gadfly1.png)
## API
Do a plot in Qwt, then save a png:
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:
```
plotter!(:qwt) # switches the backend to Qwt
plot(rand(10,2); marker = :rect)
savepng(Plots.IMG_DIR * "qwt1.png")
```
which saves:
![qwt_plt](img/qwt1.png)
## plot and plotter! interface (WIP)
The main plot command. Call `plotter!(:module)` to set the current plotting backend.
Commands are converted into the relevant plotting commands for that package:
```
plotter!(:gadfly)
plot(1:10) # this effectively calls `y = 1:10; Gadfly.plot(x=1:length(y), y=y)`
plotter!(:qwt)
plot(1:10) # this effectively calls `Qwt.plot(1:10)`
```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:
```
plot(args...; kw...) # creates a new plot window, and sets it to be the `currentPlot`
plot!(args...; kw...) # adds to the `currentPlot`
plot!(plotobj, args...; kw...) # adds to the plot `plotobj`
```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.
Here are some various args to supply, and the implicit mapping (AVec == AbstractVector and AMat == AbstractMatrix):
There are many ways to pass in data to the plot functions... some examples:
```
plot(y::AVec; kw...) # one line... x = 1:length(y)
plot(x::AVec, y::AVec; kw...) # one line (will assert length(x) == length(y))
plot(y::AMat; kw...) # multiple lines (one per column of x), all sharing x = 1:size(y,1)
plot(x::AVec, y::AMat; kw...) # multiple lines (one per column of x), all sharing x (will assert length(x) == size(y,1))
plot(x::AMat, y::AMat; kw...) # multiple lines (one per column of x/y... will assert size(x) == size(y))
plot(x::AVec, f::Function; kw...) # one line, y = f(x)
plot(x::AMat, f::Function; kw...) # multiple lines, yᵢⱼ = f(xᵢⱼ)
plot(x::AVec, fs::AVec{Function}; kw...) # multiple lines, yᵢⱼ = fⱼ(xᵢ)
plot(y::AVec{AVec}; kw...) # multiple lines, each with x = 1:length(y[i])
plot(x::AVec, y::AVec{AVec}; kw...) # multiple lines, will assert length(x) == length(y[i])
plot(x::AVec{AVec}, y::AVec{AVec}; kw...) # multiple lines, will assert length(x[i]) == length(y[i])
plot(n::Integer; kw...) # n lines, all empty (for updating plots)
- 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()`)
# TODO: how do we handle NA values in dataframes?
plot(df::DataFrame; kw...) # one line per DataFrame column, labels == names(df)
plot(df::DataFrame, columns; kw...) # one line per column, but on a subset of column names
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)
```
[TODO] You can swap out `plot` for `subplot`. Each line will go into a separate plot. Use the layout keyword:
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)
```
y = rand(100,3)
subplot(y; layout=(2,2), kw...) # creates 3 lines going into 3 separate plots, laid out on a 2x2 grid (last row is filled with plot #3)
subplot(y; layout=(1,3), kw...) # again 3 plots, all in the same row
subplot(y; layout=[1,[2,3]]) # pass a nested Array to fully specify the layout. here the first plot will take up the first row,
# and the others will share the second row
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:
```
scatter(args...; kw...) = plot(args...; kw..., linetype = :none, marker = :hexagon)
scatter!(args...; kw...) = plot!(args...; kw..., linetype = :none, marker = :hexagon)
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)
```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)
```
Some keyword arguments you can set:
### 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:
```
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, :dots, :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
fillto # fillto 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)
show # true or false, show the plot (in case you don't want the window to pop up right away)
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)
```
If you don't include a keyword argument, these are the defaults:
```
axis = :left
color = :auto
label = automatically generated (y1, y2, ...., or y1 (R), y2 (R) for the right axis)
width = 1
linetype = :line
linestype = :solid
marker = :none
markercolor = :match
markersize = 3
nbins = 100
heatmap_c = (0.15, 0.5)
fillto = nothing
title = ""
xlabel = ""
ylabel = ""
yrightlabel = ""
reg = false
size = (800,600)
pos = (0,0)
windowtitle = ""
screen = 1
show = true
__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
```
When plotting multiple lines, you can give every line the same trait by using the singular, or add an "s" to pluralize.
(yes I know it's not gramatically correct, but it's easy to use and implement)
__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()`
```
plot(rand(100,2); colors = [:red, RGB(.5,.5,0)], axiss = [:left, :right], width = 5) # note the width=5 is applied to both lines
```
__Tip__: Call `gui()` to display the plot in a window. Interactivity depends on backend. Plotting at the REPL (without semicolon) implicitly calls `gui()`.
# TODO
### 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
- [ ] Plot DataFrames
- [ ] Subplots
- [ ] Histograms
- [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
- [ ] PyPlot.jl
- [ ] Winston.jl
- [ ] Gaston.jl
- [ ] GLPlot.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
- [ ] Vega.jl
- [ ] PLplot.jl
- [ ] TextPlots.jl
- [ ] ASCIIPlots.jl
- [ ] Sparklines.jl
- [ ] UnicodePlots.jl
- [ ] Hinton.jl
- [ ] ImageTerm.jl
- [ ] GraphViz.jl
- [ ] TikzGraphs.jl
- [ ] GraphLayout.jl
# Backends
## More information on backends (both supported and unsupported)
See the wiki at: https://github.com/JuliaPlot/juliaplot_docs/wiki
# Author
Thomas Breloff (@tbreloff)
+3 -2
View File
@@ -1,4 +1,5 @@
julia 0.4-
julia 0.3
Colors
FactCheck
Reexport
Compat
+304 -39
View File
@@ -3,100 +3,223 @@ module PlotExamples
using Plots
using Colors
using Compat
const DOCDIR = Pkg.dir("Plots") * "/docs"
const IMGDIR = Pkg.dir("Plots") * "/img"
doc"""
"""
Holds all data needed for a documentation example... header, description, and plotting expression (Expr)
"""
type PlotExample
header::String
desc::String
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 3 columns.",
[:(plot(rand(100,3)))]),
PlotExample("Functions",
"Plot multiple functions",
[:(plot(0:0.01:4π, [sin,cos]))]),
"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 without a separate call.",
[:(plot(rand(10); title="TITLE", xlabel="XLABEL", ylabel="YLABEL", background_color = RGB(0.5,0.5,0.5)))]),
"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` or `axiss` arguments.\n\nNote: This is only supported with Qwt right now",
[:(plot(Vector[randn(100), randn(100)*100]; axiss = [:left,:right]))]),
PlotExample("Vectors w/ pluralized args",
"Plot multiple series with different numbers of points. Mix arguments that apply to all series (singular... see `marker`) with arguments unique to each series (pluralized... see `colors`).",
[:(plot(Vector[rand(10), rand(20)]; marker=:ellipse, markersize=8, colors=[:red,:blue]))]),
"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, fillto=0))]),
[
:(plot(rand(100)/3, reg=true, fill=(0,:green)))
]),
PlotExample("",
"and add to it later.",
[:(scatter!(rand(100); markersize=6, color=:blue))]),
[
:(scatter!(rand(100), markersize=6, c=:orange))
]),
PlotExample("Heatmaps",
"",
[:(heatmap(randn(10000),randn(10000); nbins=200))]),
PlotExample("Lots of line types",
"Options: (:line, :step, :stepinverted, :sticks, :dots, :none, :heatmap, :hexbin, :hist, :bar) \nNote: some may not work with all backends",
[:(plot(rand(20,4); linetypes=[:line, :step, :sticks, :dots]))]),
[
:(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(1000)))]),
[
:(bar(randn(999)))
]),
PlotExample("Histogram",
"note: fillto isn't supported on all backends",
[:(histogram(randn(1000); nbins=50, fillto=20))]),
"",
[
:(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`.
Note: Gadfly is not very friendly here, and although you can create a plot and save a PNG, I haven't been able to actually display it.
number of columns `nc`), or you can set the layout directly with `layout`.
""",
[:(subplot(randn(100,5); layout=[1,1,3], linetypes=[:line,:hist,:dots,:step,:bar], nbins=10, legend=false))]),
[
:(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(randn(100,5); n=4))]),
[
:(subplot(Plots.fakedata(100,10), n=4, palette=[:grays :blues :heat :lightrainbow], bg=[:orange :pink :darkblue :black]))
]),
PlotExample("",
"",
[:(subplot!(randn(100,3)))]),
[
:(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 plotter, and don't show the plots by default
plotter!(pkgname)
plotDefault!(:show, false)
# 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"
savepng("$IMGDIR/$imgname")
# # 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, "![](../img/$imgname)\n\n")
write(md, "![](../img/$pkgname/$imgname)\n\n")
catch ex
# TODO: put error info into markdown?
@@ -106,12 +229,154 @@ function generate_markdown(pkgname::Symbol)
#
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!
map(generate_markdown, (:qwt, :gadfly))
# 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
+144 -43
View File
@@ -1,148 +1,249 @@
## Examples for backend: gadfly
### Initialize
```julia
using Plots
gadfly()
```
### Lines
A simple line plot of the 3 columns.
A simple line plot of the columns.
```julia
plot(rand(100,3))
plot(Plots.fakedata(50,5),w=3)
```
![](../img/gadfly_example_1.png)
![](../img/gadfly/gadfly_example_1.png)
### Functions
### Functions, adding data, and animations
Plot multiple functions
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
plot(0:0.01:4π,[sin,cos])
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
```
![](../img/gadfly_example_2.png)
![](../img/gadfly/gadfly_example_2.gif)
### 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))
```
![](../img/gadfly/gadfly_example_3.png)
### 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")
```
![](../img/gadfly/gadfly_example_4.png)
### Global
Change the guides/background without a separate call.
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(10); title="TITLE",xlabel="XLABEL",ylabel="YLABEL",background_color=RGB(0.5,0.5,0.5))
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)
```
![](../img/gadfly_example_3.png)
![](../img/gadfly/gadfly_example_5.png)
### Two-axis
Use the `axis` or `axiss` arguments.
Use the `axis` arguments.
Note: This is only supported with Qwt right now
Note: Currently only supported with Qwt and PyPlot
```julia
plot(Vector[randn(100),randn(100) * 100]; axiss=[:left,:right])
plot(Vector[randn(100),randn(100) * 100],axis=[:l :r],ylabel="LEFT",yrightlabel="RIGHT")
```
![](../img/gadfly_example_4.png)
![](../img/gadfly/gadfly_example_6.png)
### Vectors w/ pluralized args
### Arguments
Plot multiple series with different numbers of points. Mix arguments that apply to all series (singular... see `marker`) with arguments unique to each series (pluralized... see `colors`).
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,markersize=8,colors=[:red,:blue])
plot(Vector[rand(10),rand(20)],marker=(:ellipse,8),line=(:dot,3,[:black :orange]))
```
![](../img/gadfly_example_5.png)
![](../img/gadfly/gadfly_example_7.png)
### Build plot in pieces
Start with a base plot...
```julia
plot(rand(100) / 3; reg=true,fillto=0)
plot(rand(100) / 3,reg=true,fill=(0,:green))
```
![](../img/gadfly_example_6.png)
![](../img/gadfly/gadfly_example_8.png)
###
and add to it later.
```julia
scatter!(rand(100); markersize=6,color=:blue)
scatter!(rand(100),markersize=6,c=:orange)
```
![](../img/gadfly_example_7.png)
![](../img/gadfly/gadfly_example_9.png)
### Heatmaps
```julia
heatmap(randn(10000),randn(10000); nbins=200)
heatmap(randn(10000),randn(10000),nbins=100)
```
![](../img/gadfly_example_8.png)
![](../img/gadfly/gadfly_example_10.png)
### Line types
### Lots of line types
Options: (:line, :step, :stepinverted, :sticks, :dots, :none, :heatmap, :hexbin, :hist, :bar)
Note: some may not work with all backends
```julia
plot(rand(20,4); linetypes=[:line,:step,:sticks,:dots])
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)
```
![](../img/gadfly_example_9.png)
![](../img/gadfly/gadfly_example_11.png)
### Line styles
```julia
styles = setdiff(supportedStyles(),[:auto])'
plot(cumsum(randn(20,length(styles)),1),style=:auto,label=map(string,styles),w=5)
```
![](../img/gadfly/gadfly_example_12.png)
### 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)
```
![](../img/gadfly/gadfly_example_13.png)
### Bar
x is the midpoint of the bar. (todo: allow passing of edges instead of midpoints)
```julia
bar(randn(1000))
bar(randn(999))
```
![](../img/gadfly_example_10.png)
![](../img/gadfly/gadfly_example_14.png)
### Histogram
note: fillto isn't supported on all backends
```julia
histogram(randn(1000); nbins=50,fillto=20)
histogram(randn(1000),nbins=50)
```
![](../img/gadfly_example_11.png)
![](../img/gadfly/gadfly_example_15.png)
### 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`.
Note: Gadfly is not very friendly here, and although you can create a plot and save a PNG, I haven't been able to actually display it.
number of columns `nc`), or you can set the layout directly with `layout`.
```julia
subplot(randn(100,5); layout=[1,1,3],linetypes=[:line,:hist,:dots,:step,:bar],nbins=10,legend=false)
subplot(randn(100,5),layout=[1,1,3],t=[:line :hist :scatter :step :bar],nbins=10,leg=false)
```
![](../img/gadfly_example_12.png)
![](../img/gadfly/gadfly_example_16.png)
### 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(randn(100,5); n=4)
subplot(Plots.fakedata(100,10),n=4,palette=[:grays :blues :heat :lightrainbow],bg=[:orange :pink :darkblue :black])
```
![](../img/gadfly_example_13.png)
![](../img/gadfly/gadfly_example_17.png)
###
```julia
subplot!(randn(100,3))
subplot!(Plots.fakedata(100,10))
```
![](../img/gadfly_example_14.png)
![](../img/gadfly/gadfly_example_18.png)
### 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"))])
```
![](../img/gadfly/gadfly_example_20.png)
### 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)
```
![](../img/gadfly/gadfly_example_21.png)
- 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)
+235
View File
@@ -0,0 +1,235 @@
# 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)
```
![](../img/immerse/immerse_example_1.png)
### 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
```
![](../img/immerse/immerse_example_2.gif)
###
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))
```
![](../img/immerse/immerse_example_3.png)
### 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")
```
![](../img/immerse/immerse_example_4.png)
### 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)
```
![](../img/immerse/immerse_example_5.png)
### 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")
```
![](../img/immerse/immerse_example_6.png)
### 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]))
```
![](../img/immerse/immerse_example_7.png)
### Build plot in pieces
Start with a base plot...
```julia
plot(rand(100) / 3,reg=true,fill=(0,:green))
```
![](../img/immerse/immerse_example_8.png)
###
and add to it later.
```julia
scatter!(rand(100),markersize=6,c=:orange)
```
![](../img/immerse/immerse_example_9.png)
### Heatmaps
```julia
heatmap(randn(10000),randn(10000),nbins=100)
```
![](../img/immerse/immerse_example_10.png)
### 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)
```
![](../img/immerse/immerse_example_11.png)
### Line styles
```julia
styles = setdiff(supportedStyles(),[:auto])'
plot(cumsum(randn(20,length(styles)),1),style=:auto,label=map(string,styles),w=5)
```
![](../img/immerse/immerse_example_12.png)
### 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)
```
![](../img/immerse/immerse_example_13.png)
### Bar
x is the midpoint of the bar. (todo: allow passing of edges instead of midpoints)
```julia
bar(randn(999))
```
![](../img/immerse/immerse_example_14.png)
### Histogram
```julia
histogram(randn(1000),nbins=50)
```
![](../img/immerse/immerse_example_15.png)
### 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)
```
![](../img/immerse/immerse_example_16.png)
### 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])
```
![](../img/immerse/immerse_example_17.png)
###
```julia
subplot!(fakedata(100,10))
```
![](../img/immerse/immerse_example_18.png)
### 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"))])
```
![](../img/immerse/immerse_example_20.png)
+249
View File
@@ -0,0 +1,249 @@
## 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)
```
![](../img/pyplot/pyplot_example_1.png)
### 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
```
![](../img/pyplot/pyplot_example_2.gif)
### 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))
```
![](../img/pyplot/pyplot_example_3.png)
### 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")
```
![](../img/pyplot/pyplot_example_4.png)
### 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)
```
![](../img/pyplot/pyplot_example_5.png)
### 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")
```
![](../img/pyplot/pyplot_example_6.png)
### 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]))
```
![](../img/pyplot/pyplot_example_7.png)
### Build plot in pieces
Start with a base plot...
```julia
plot(rand(100) / 3,reg=true,fill=(0,:green))
```
![](../img/pyplot/pyplot_example_8.png)
###
and add to it later.
```julia
scatter!(rand(100),markersize=6,c=:orange)
```
![](../img/pyplot/pyplot_example_9.png)
### Heatmaps
```julia
heatmap(randn(10000),randn(10000),nbins=100)
```
![](../img/pyplot/pyplot_example_10.png)
### 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)
```
![](../img/pyplot/pyplot_example_11.png)
### Line styles
```julia
styles = setdiff(supportedStyles(),[:auto])'
plot(cumsum(randn(20,length(styles)),1),style=:auto,label=map(string,styles),w=5)
```
![](../img/pyplot/pyplot_example_12.png)
### 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)
```
![](../img/pyplot/pyplot_example_13.png)
### Bar
x is the midpoint of the bar. (todo: allow passing of edges instead of midpoints)
```julia
bar(randn(999))
```
![](../img/pyplot/pyplot_example_14.png)
### Histogram
```julia
histogram(randn(1000),nbins=50)
```
![](../img/pyplot/pyplot_example_15.png)
### 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)
```
![](../img/pyplot/pyplot_example_16.png)
### 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])
```
![](../img/pyplot/pyplot_example_17.png)
###
```julia
subplot!(Plots.fakedata(100,10))
```
![](../img/pyplot/pyplot_example_18.png)
### 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"))])
```
![](../img/pyplot/pyplot_example_20.png)
### 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)
```
![](../img/pyplot/pyplot_example_21.png)
- 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)
+133 -43
View File
@@ -1,148 +1,238 @@
## Examples for backend: qwt
### Initialize
```julia
using Plots
qwt()
```
### Lines
A simple line plot of the 3 columns.
A simple line plot of the columns.
```julia
plot(rand(100,3))
plot(Plots.fakedata(50,5),w=3)
```
![](../img/qwt_example_1.png)
![](../img/qwt/qwt_example_1.png)
### Functions
### Functions, adding data, and animations
Plot multiple functions
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
plot(0:0.01:4π,[sin,cos])
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
```
![](../img/qwt_example_2.png)
![](../img/qwt/qwt_example_2.gif)
### 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))
```
![](../img/qwt/qwt_example_3.png)
### 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")
```
![](../img/qwt/qwt_example_4.png)
### Global
Change the guides/background without a separate call.
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(10); title="TITLE",xlabel="XLABEL",ylabel="YLABEL",background_color=RGB(0.5,0.5,0.5))
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)
```
![](../img/qwt_example_3.png)
![](../img/qwt/qwt_example_5.png)
### Two-axis
Use the `axis` or `axiss` arguments.
Use the `axis` arguments.
Note: This is only supported with Qwt right now
Note: Currently only supported with Qwt and PyPlot
```julia
plot(Vector[randn(100),randn(100) * 100]; axiss=[:left,:right])
plot(Vector[randn(100),randn(100) * 100],axis=[:l :r],ylabel="LEFT",yrightlabel="RIGHT")
```
![](../img/qwt_example_4.png)
![](../img/qwt/qwt_example_6.png)
### Vectors w/ pluralized args
### Arguments
Plot multiple series with different numbers of points. Mix arguments that apply to all series (singular... see `marker`) with arguments unique to each series (pluralized... see `colors`).
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,markersize=8,colors=[:red,:blue])
plot(Vector[rand(10),rand(20)],marker=(:ellipse,8),line=(:dot,3,[:black :orange]))
```
![](../img/qwt_example_5.png)
![](../img/qwt/qwt_example_7.png)
### Build plot in pieces
Start with a base plot...
```julia
plot(rand(100) / 3; reg=true,fillto=0)
plot(rand(100) / 3,reg=true,fill=(0,:green))
```
![](../img/qwt_example_6.png)
![](../img/qwt/qwt_example_8.png)
###
and add to it later.
```julia
scatter!(rand(100); markersize=6,color=:blue)
scatter!(rand(100),markersize=6,c=:orange)
```
![](../img/qwt_example_7.png)
![](../img/qwt/qwt_example_9.png)
### Heatmaps
```julia
heatmap(randn(10000),randn(10000); nbins=200)
heatmap(randn(10000),randn(10000),nbins=100)
```
![](../img/qwt_example_8.png)
![](../img/qwt/qwt_example_10.png)
### Line types
### Lots of line types
Options: (:line, :step, :stepinverted, :sticks, :dots, :none, :heatmap, :hexbin, :hist, :bar)
Note: some may not work with all backends
```julia
plot(rand(20,4); linetypes=[:line,:step,:sticks,:dots])
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)
```
![](../img/qwt_example_9.png)
![](../img/qwt/qwt_example_11.png)
### Line styles
```julia
styles = setdiff(supportedStyles(),[:auto])'
plot(cumsum(randn(20,length(styles)),1),style=:auto,label=map(string,styles),w=5)
```
![](../img/qwt/qwt_example_12.png)
### 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)
```
![](../img/qwt/qwt_example_13.png)
### Bar
x is the midpoint of the bar. (todo: allow passing of edges instead of midpoints)
```julia
bar(randn(1000))
bar(randn(999))
```
![](../img/qwt_example_10.png)
![](../img/qwt/qwt_example_14.png)
### Histogram
note: fillto isn't supported on all backends
```julia
histogram(randn(1000); nbins=50,fillto=20)
histogram(randn(1000),nbins=50)
```
![](../img/qwt_example_11.png)
![](../img/qwt/qwt_example_15.png)
### 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`.
Note: Gadfly is not very friendly here, and although you can create a plot and save a PNG, I haven't been able to actually display it.
number of columns `nc`), or you can set the layout directly with `layout`.
```julia
subplot(randn(100,5); layout=[1,1,3],linetypes=[:line,:hist,:dots,:step,:bar],nbins=10,legend=false)
subplot(randn(100,5),layout=[1,1,3],t=[:line :hist :scatter :step :bar],nbins=10,leg=false)
```
![](../img/qwt_example_12.png)
![](../img/qwt/qwt_example_16.png)
### 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(randn(100,5); n=4)
subplot(Plots.fakedata(100,10),n=4,palette=[:grays :blues :heat :lightrainbow],bg=[:orange :pink :darkblue :black])
```
![](../img/qwt_example_13.png)
![](../img/qwt/qwt_example_17.png)
###
```julia
subplot!(randn(100,3))
subplot!(Plots.fakedata(100,10))
```
![](../img/qwt_example_14.png)
![](../img/qwt/qwt_example_18.png)
### 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"))])
```
![](../img/qwt/qwt_example_20.png)
- 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)
+304
View File
@@ -0,0 +1,304 @@
# Plots
[![Build Status](https://travis-ci.org/tbreloff/Plots.jl.svg?branch=master)](https://travis-ci.org/tbreloff/Plots.jl)
[![Plots](http://pkg.julialang.org/badges/Plots_0.3.svg)](http://pkg.julialang.org/?pkg=Plots&ver=0.3)
[![Plots](http://pkg.julialang.org/badges/Plots_0.4.svg)](http://pkg.julialang.org/?pkg=Plots&ver=0.4)
<!-- [![Coverage Status](https://coveralls.io/repos/tbreloff/Plots.jl/badge.svg?branch=master)](https://coveralls.io/r/tbreloff/Plots.jl?branch=master) -->
<!-- [![codecov.io](http://codecov.io/github/tbreloff/Plots.jl/coverage.svg?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")
```
![gadfly_plt](img/gadfly1.png)
## 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
+208
View File
@@ -0,0 +1,208 @@
## Examples for backend: unicodeplots
### Initialize
```julia
using Plots
unicodeplots()
```
### Lines
A simple line plot of the columns.
```julia
plot(fakedata(50,5),w=3)
```
![](../img/unicodeplots/unicodeplots_example_1.png)
### 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))
```
![](../img/unicodeplots/unicodeplots_example_3.png)
### 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")
```
![](../img/unicodeplots/unicodeplots_example_4.png)
### 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)
```
![](../img/unicodeplots/unicodeplots_example_5.png)
### 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")
```
![](../img/unicodeplots/unicodeplots_example_6.png)
### 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]))
```
![](../img/unicodeplots/unicodeplots_example_7.png)
### Build plot in pieces
Start with a base plot...
```julia
plot(rand(100) / 3,reg=true,fill=(0,:green))
```
![](../img/unicodeplots/unicodeplots_example_8.png)
###
and add to it later.
```julia
scatter!(rand(100),markersize=6,c=:orange)
```
![](../img/unicodeplots/unicodeplots_example_9.png)
### 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)
```
![](../img/unicodeplots/unicodeplots_example_11.png)
### Line styles
```julia
styles = setdiff(supportedStyles(),[:auto])'
plot(cumsum(randn(20,length(styles)),1),style=:auto,label=map(string,styles),w=5)
```
![](../img/unicodeplots/unicodeplots_example_12.png)
### 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)
```
![](../img/unicodeplots/unicodeplots_example_13.png)
### Bar
x is the midpoint of the bar. (todo: allow passing of edges instead of midpoints)
```julia
bar(randn(999))
```
![](../img/unicodeplots/unicodeplots_example_14.png)
### Histogram
```julia
histogram(randn(1000),nbins=50)
```
![](../img/unicodeplots/unicodeplots_example_15.png)
### 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)
```
![](../img/unicodeplots/unicodeplots_example_16.png)
### 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])
```
![](../img/unicodeplots/unicodeplots_example_17.png)
###
```julia
subplot!(fakedata(100,10))
```
![](../img/unicodeplots/unicodeplots_example_18.png)
### 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)
```
![](../img/unicodeplots/unicodeplots_example_21.png)
- 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)
+164
View File
@@ -0,0 +1,164 @@
## Examples for backend: winston
### Initialize
```julia
using Plots
winston()
```
### Lines
A simple line plot of the columns.
```julia
plot(fakedata(50,5),w=3)
```
![](../img/winston/winston_example_1.png)
### 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))
```
![](../img/winston/winston_example_3.png)
### 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")
```
![](../img/winston/winston_example_4.png)
### 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)
```
![](../img/winston/winston_example_5.png)
### 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")
```
![](../img/winston/winston_example_6.png)
### 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]))
```
![](../img/winston/winston_example_7.png)
### Build plot in pieces
Start with a base plot...
```julia
plot(rand(100) / 3,reg=true,fill=(0,:green))
```
![](../img/winston/winston_example_8.png)
###
and add to it later.
```julia
scatter!(rand(100),markersize=6,c=:orange)
```
![](../img/winston/winston_example_9.png)
### 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)
```
![](../img/winston/winston_example_11.png)
### Line styles
```julia
styles = setdiff(supportedStyles(),[:auto])'
plot(cumsum(randn(20,length(styles)),1),style=:auto,label=map(string,styles),w=5)
```
![](../img/winston/winston_example_12.png)
### 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)
```
![](../img/winston/winston_example_13.png)
### Bar
x is the midpoint of the bar. (todo: allow passing of edges instead of midpoints)
```julia
bar(randn(999))
```
![](../img/winston/winston_example_14.png)
### Histogram
```julia
histogram(randn(1000),nbins=50)
```
![](../img/winston/winston_example_15.png)
- 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)
+119
View File
@@ -0,0 +1,119 @@
{
"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
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+232
View File
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

+482
View File
@@ -0,0 +1,482 @@
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 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
2 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
3 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
4 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
5 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
6 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
7 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
8 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
9 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
10 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
11 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
12 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
13 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
14 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
15 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
16 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
17 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
18 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
19 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
20 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
21 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
22 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
23 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
24 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
25 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
26 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
27 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
28 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
29 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
30 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
31 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
32 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
33 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
34 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
35 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
36 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
37 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
38 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
39 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
40 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
41 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
42 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
43 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
44 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
45 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
46 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
47 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
48 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
49 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
50 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
51 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
52 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
53 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
54 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
55 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
56 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
57 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
58 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
59 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
60 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
61 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
62 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
63 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
64 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
65 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
66 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
67 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
68 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
69 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
70 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
71 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
72 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
73 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
74 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
75 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
76 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
77 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
78 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
79 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
80 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
81 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
82 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
83 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
84 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
85 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
86 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
87 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
88 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
89 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
90 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
91 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
92 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
93 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
94 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
95 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
96 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
97 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
98 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
99 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
100 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
101 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
102 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
103 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
104 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
105 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
106 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
107 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
108 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
109 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
110 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
111 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
112 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
113 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
114 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
115 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
116 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
117 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
118 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
119 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
120 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
121 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
122 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
123 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
124 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
125 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
126 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
127 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
128 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
129 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
130 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
131 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
132 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
133 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
134 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
135 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
136 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
137 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
138 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
139 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
140 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
141 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
142 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
143 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
144 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
145 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
146 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
147 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
148 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
149 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
150 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
151 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
152 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
153 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
154 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
155 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
156 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
157 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
158 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
159 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
160 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
161 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
162 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
163 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
164 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
165 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
166 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
167 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
168 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
169 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
170 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
171 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
172 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
173 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
174 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
175 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
176 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
177 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
178 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
179 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
180 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
181 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
182 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
183 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
184 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
185 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
186 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
187 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
188 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
189 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
190 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
191 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
192 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
193 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
194 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
195 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
196 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
197 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
198 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
199 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
200 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
201 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
202 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
203 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
204 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
205 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
206 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
207 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
208 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
209 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
210 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
211 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
212 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
213 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
214 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
215 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
216 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
217 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
218 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
219 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
220 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
221 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
222 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
223 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
224 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
225 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
226 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
227 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
228 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
229 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
230 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
231 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
232 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
233 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
234 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
235 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
236 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
237 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
238 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
239 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
240 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
241 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
242 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
243 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
244 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
245 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
246 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
247 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
248 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
249 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
250 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
251 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
252 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
253 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
254 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
255 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
256 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
257 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
258 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
259 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
260 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
261 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
262 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
263 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
264 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
265 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
266 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
267 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
268 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
269 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
270 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
271 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
272 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
273 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
274 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
275 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
276 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
277 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
278 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
279 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
280 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
281 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
282 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
283 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
284 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
285 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
286 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
287 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
288 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
289 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
290 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
291 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
292 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
293 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
294 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
295 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
296 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
297 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
298 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
299 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
300 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
301 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
302 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
303 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
304 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
305 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
306 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
307 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
308 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
309 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
310 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
311 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
312 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
313 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
314 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
315 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
316 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
317 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
318 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
319 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
320 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
321 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
322 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
323 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
324 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
325 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
326 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
327 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
328 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
329 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
330 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
331 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
332 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
333 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
334 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
335 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
336 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
337 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
338 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
339 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
340 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
341 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
342 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
343 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
344 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
345 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
346 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
347 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
348 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
349 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
350 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
351 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
352 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
353 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
354 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
355 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
356 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
357 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
358 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
359 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
360 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
361 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
362 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
363 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
364 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
365 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
366 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
367 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
368 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
369 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
370 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
371 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
372 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
373 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
374 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
375 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
376 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
377 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
378 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
379 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
380 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
381 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
382 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
383 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
384 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
385 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
386 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
387 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
388 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
389 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
390 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
391 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
392 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
393 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
394 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
395 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
396 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
397 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
398 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
399 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
400 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
401 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
402 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
403 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
404 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
405 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
406 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
407 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
408 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
409 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
410 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
411 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
412 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
413 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
414 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
415 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
416 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
417 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
418 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
419 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
420 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
421 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
422 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
423 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
424 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
425 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
426 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
427 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
428 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
429 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
430 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
431 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
432 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
433 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
434 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
435 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
436 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
437 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
438 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
439 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
440 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
441 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
442 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
443 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
444 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
445 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
446 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
447 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
448 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
449 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
450 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
451 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
452 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
453 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
454 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
455 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
456 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
457 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
458 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
459 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
460 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
461 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
462 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
463 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
464 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
465 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
466 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
467 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
468 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
469 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
470 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
471 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
472 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
473 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
474 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
475 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
476 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
477 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
478 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
479 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
480 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
481 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
482 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
File diff suppressed because one or more lines are too long
+642
View File
@@ -0,0 +1,642 @@
{
"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
}
File diff suppressed because one or more lines are too long
+157
View File
@@ -0,0 +1,157 @@
{
"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
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

File diff suppressed because one or more lines are too long
+4899
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+158
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Some files were not shown because too many files have changed in this diff Show More