Extra Coordinate Systems, 'Geoms', Statistical Transformations, Scales and Fonts for 'ggplot2'
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

340 lines
3.5 MiB

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="pandoc" />
8 years ago
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
8 years ago
<script src="data:application/x-javascript;base64,LyohIGpRdWVyeSB2MS4xMS4zIHwgKGMpIDIwMDUsIDIwMTUgalF1ZXJ5IEZvdW5kYXRpb24sIEluYy4gfCBqcXVlcnkub3JnL2xpY2Vuc2UgKi8KIWZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9YS5kb2N1bWVudD9iKGEsITApOmZ1bmN0aW9uKGEpe2lmKCFhLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiBiKGEpfTpiKGEpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ9Yy5zbGljZSxlPWMuY29uY2F0LGY9Yy5wdXNoLGc9Yy5pbmRleE9mLGg9e30saT1oLnRvU3RyaW5nLGo9aC5oYXNPd25Qcm9wZXJ0eSxrPXt9LGw9IjEuMTEuMyIsbT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgbS5mbi5pbml0KGEsYil9LG49L15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nLG89L14tbXMtLyxwPS8tKFtcZGEtel0pL2dpLHE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfTttLmZuPW0ucHJvdG90eXBlPXtqcXVlcnk6bCxjb25zdHJ1Y3RvcjptLHNlbGVjdG9yOiIiLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gZC5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/MD5hP3RoaXNbYSt0aGlzLmxlbmd0aF06dGhpc1thXTpkLmNhbGwodGhpcyl9LHB1c2hTdGFjazpmdW5jdGlvbihhKXt2YXIgYj1tLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxhKTtyZXR1cm4gYi5wcmV2T2JqZWN0PXRoaXMsYi5jb250ZXh0PXRoaXMuY29udGV4dCxifSxlYWNoOmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uZWFjaCh0aGlzLGEsYil9LG1hcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobS5tYXAodGhpcyxmdW5jdGlvbihiLGMpe3JldHVybiBhLmNhbGwoYixjLGIpfSkpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhkLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGVxOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubGVuZ3RoLGM9K2ErKDA+YT9iOjApO3JldHVybiB0aGlzLnB1c2hTdGFjayhjPj0wJiZiPmM/W3RoaXNbY11dOltdKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcihudWxsKX0scHVzaDpmLHNvcnQ6Yy5zb3J0LHNwbGljZTpjLnNwbGljZX0sbS5leHRlbmQ9bS5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlLGYsZz1hcmd1bWVudHNbMF18fHt9LGg9MSxpPWFyZ3VtZW50cy5sZW5ndGgsaj0hMTtmb3IoImJvb2xlYW4iPT10eXBlb2YgZyYmKGo9ZyxnPWFyZ3VtZW50c1toXXx8e30saCsrKSwib2JqZWN0Ij09dHlwZW9mIGd8fG0uaXNGdW5jdGlvbihnKXx8KGc9e30pLGg9PT1pJiYoZz10aGlzLGgtLSk7aT5oO2grKylpZihudWxsIT0oZT1hcmd1bWVudHNbaF0pKWZvcihkIGluIGUpYT1nW2RdLGM9ZVtkXSxnIT09YyYmKGomJmMmJihtLmlzUGxhaW5PYmplY3QoYyl8fChiPW0uaXNBcnJheShjKSkpPyhiPyhiPSExLGY9YSYmbS5pc0FycmF5KGEpP2E6W10pOmY9YSYmbS5pc1BsYWluT2JqZWN0KGEpP2E6e30sZ1tkXT1tLmV4dGVuZChqLGYsYykpOnZvaWQgMCE9PWMmJihnW2RdPWMpKTtyZXR1cm4gZ30sbS5leHRlbmQoe2V4cGFuZG86ImpRdWVyeSIrKGwrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXEQvZywiIiksaXNSZWFkeTohMCxlcnJvcjpmdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoYSl9LG5vb3A6ZnVuY3Rpb24oKXt9LGlzRnVuY3Rpb246ZnVuY3Rpb24oYSl7cmV0dXJuImZ1bmN0aW9uIj09PW0udHlwZShhKX0saXNBcnJheTpBcnJheS5pc0FycmF5fHxmdW5jdGlvbihhKXtyZXR1cm4iYXJyYXkiPT09bS50eXBlKGEpfSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YSYmYT09YS53aW5kb3d9LGlzTnVtZXJpYzpmdW5jdGlvbihhKXtyZXR1cm4hbS5pc0FycmF5KGEpJiZhLXBhcnNlRmxvYXQoYSkrMT49MH0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihhKXt2YXIgYjtmb3IoYiBpbiBhKXJldHVybiExO3JldHVybiEwfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBiO2lmKCFhfHwib2JqZWN0IiE9PW0udHlwZShhKXx8YS5ub2RlVHlwZXx8bS5pc1dpbmRvdyhhKSlyZXR1cm4hMTt0cnl7aWYoYS5jb25zdHJ1Y3RvciYmIWouY2FsbChhLCJjb25zdHJ1Y3RvciIpJiYhai5jYWxsKGEuY29uc3RydWN0b3IucHJvdG90eXBlLCJpc1Byb3RvdHlwZU9mIikpcmV0dXJuITF9Y2F0Y2goYyl7cmV0dXJuITF9aWYoay5vd25MYXN0KWZvcihiIGluIGEpcmV0dXJuIGouY2FsbChhLGIpO2ZvcihiIGluIGEpO3JldHVybiB2b2lkIDA9PT1ifHxqLmNhbGwoYSxiKX0sdHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT9hKyIiOiJvYmplY3QiPT10eXBlb2YgYXx8ImZ1bmN0aW9uIj09dHlwZW9mIGE/aFtpLmNhbGwoYSldfHwib2JqZWN0Ijp0eXBlb2YgYX0sZ2xvYmFsRXZhbDpmdW5jdGlvbihiKXtiJiZtLnRyaW0oYikmJihhLmV4ZWNTY3JpcHR8fGZ1bmN0aW9uKGIpe2EuZXZhbC5jYWxsKGEsYil9KShiKX0sY2FtZWxDYXNlOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UobywibXMtIikucmVwbGFjZShwLHEpfSxub2RlTmFtZTpmdW5jdGlvbihhLGIpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iLnRvTG93ZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9MCxmPWEubGVuZ3RoLGc9cihhKTtpZihjKXtpZihnKXtmb3IoO2Y+ZTtlKyspaWYoZD1iLmFwcGx5KGFbZV0sYyksZD09PSExKWJyZWFrfWVsc2UgZm9yKGUgaW4gYSlpZihkPWIuYXBwbHkoYVtlXSxjKSxkPT09ITEpYnJlYWt9ZWxzZSBpZ
<meta name="viewport" content="width=device-width, initial-scale=1" />
8 years ago
<link href="data:text/css;charset=utf-8,html%7Bfont%2Dfamily%3Asans%2Dserif%3B%2Dwebkit%2Dtext%2Dsize%2Dadjust%3A100%25%3B%2Dms%2Dtext%2Dsize%2Dadjust%3A100%25%7Dbody%7Bmargin%3A0%7Darticle%2Caside%2Cdetails%2Cfigcaption%2Cfigure%2Cfooter%2Cheader%2Chgroup%2Cmain%2Cmenu%2Cnav%2Csection%2Csummary%7Bdisplay%3Ablock%7Daudio%2Ccanvas%2Cprogress%2Cvideo%7Bdisplay%3Ainline%2Dblock%3Bvertical%2Dalign%3Abaseline%7Daudio%3Anot%28%5Bcontrols%5D%29%7Bdisplay%3Anone%3Bheight%3A0%7D%5Bhidden%5D%2Ctemplate%7Bdisplay%3Anone%7Da%7Bbackground%2Dcolor%3Atransparent%7Da%3Aactive%2Ca%3Ahover%7Boutline%3A0%7Dabbr%5Btitle%5D%7Bborder%2Dbottom%3A1px%20dotted%7Db%2Cstrong%7Bfont%2Dweight%3A700%7Ddfn%7Bfont%2Dstyle%3Aitalic%7Dh1%7Bmargin%3A%2E67em%200%3Bfont%2Dsize%3A2em%7Dmark%7Bcolor%3A%23000%3Bbackground%3A%23ff0%7Dsmall%7Bfont%2Dsize%3A80%25%7Dsub%2Csup%7Bposition%3Arelative%3Bfont%2Dsize%3A75%25%3Bline%2Dheight%3A0%3Bvertical%2Dalign%3Abaseline%7Dsup%7Btop%3A%2D%2E5em%7Dsub%7Bbottom%3A%2D%2E25em%7Dimg%7Bborder%3A0%7Dsvg%3Anot%28%3Aroot%29%7Boverflow%3Ahidden%7Dfigure%7Bmargin%3A1em%2040px%7Dhr%7Bheight%3A0%3B%2Dwebkit%2Dbox%2Dsizing%3Acontent%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Acontent%2Dbox%3Bbox%2Dsizing%3Acontent%2Dbox%7Dpre%7Boverflow%3Aauto%7Dcode%2Ckbd%2Cpre%2Csamp%7Bfont%2Dfamily%3Amonospace%2Cmonospace%3Bfont%2Dsize%3A1em%7Dbutton%2Cinput%2Coptgroup%2Cselect%2Ctextarea%7Bmargin%3A0%3Bfont%3Ainherit%3Bcolor%3Ainherit%7Dbutton%7Boverflow%3Avisible%7Dbutton%2Cselect%7Btext%2Dtransform%3Anone%7Dbutton%2Chtml%20input%5Btype%3Dbutton%5D%2Cinput%5Btype%3Dreset%5D%2Cinput%5Btype%3Dsubmit%5D%7B%2Dwebkit%2Dappearance%3Abutton%3Bcursor%3Apointer%7Dbutton%5Bdisabled%5D%2Chtml%20input%5Bdisabled%5D%7Bcursor%3Adefault%7Dbutton%3A%3A%2Dmoz%2Dfocus%2Dinner%2Cinput%3A%3A%2Dmoz%2Dfocus%2Dinner%7Bpadding%3A0%3Bborder%3A0%7Dinput%7Bline%2Dheight%3Anormal%7Dinput%5Btype%3Dcheckbox%5D%2Cinput%5Btype%3Dradio%5D%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%3Bpadding%3A0%7Dinput%5Btype%3Dnumber%5D%3A%3A%2Dwebkit%2Dinner%2Dspin%2Dbutton%2Cinput%5Btype%3Dnumber%5D%3A%3A%2Dwebkit%2Douter%2Dspin%2Dbutton%7Bheight%3Aauto%7Dinput%5Btype%3Dsearch%5D%7B%2Dwebkit%2Dbox%2Dsizing%3Acontent%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Acontent%2Dbox%3Bbox%2Dsizing%3Acontent%2Dbox%3B%2Dwebkit%2Dappearance%3Atextfield%7Dinput%5Btype%3Dsearch%5D%3A%3A%2Dwebkit%2Dsearch%2Dcancel%2Dbutton%2Cinput%5Btype%3Dsearch%5D%3A%3A%2Dwebkit%2Dsearch%2Ddecoration%7B%2Dwebkit%2Dappearance%3Anone%7Dfieldset%7Bpadding%3A%2E35em%20%2E625em%20%2E75em%3Bmargin%3A0%202px%3Bborder%3A1px%20solid%20silver%7Dlegend%7Bpadding%3A0%3Bborder%3A0%7Dtextarea%7Boverflow%3Aauto%7Doptgroup%7Bfont%2Dweight%3A700%7Dtable%7Bborder%2Dspacing%3A0%3Bborder%2Dcollapse%3Acollapse%7Dtd%2Cth%7Bpadding%3A0%7D%40media%20print%7B%2A%2C%3Aafter%2C%3Abefore%7Bcolor%3A%23000%21important%3Btext%2Dshadow%3Anone%21important%3Bbackground%3A0%200%21important%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%21important%3Bbox%2Dshadow%3Anone%21important%7Da%2Ca%3Avisited%7Btext%2Ddecoration%3Aunderline%7Da%5Bhref%5D%3Aafter%7Bcontent%3A%22%20%28%22%20attr%28href%29%20%22%29%22%7Dabbr%5Btitle%5D%3Aafter%7Bcontent%3A%22%20%28%22%20attr%28title%29%20%22%29%22%7Da%5Bhref%5E%3D%22javascript%3A%22%5D%3Aafter%2Ca%5Bhref%5E%3D%22%23%22%5D%3Aafter%7Bcontent%3A%22%22%7Dblockquote%2Cpre%7Bborder%3A1px%20solid%20%23999%3Bpage%2Dbreak%2Dinside%3Aavoid%7Dthead%7Bdisplay%3Atable%2Dheader%2Dgroup%7Dimg%2Ctr%7Bpage%2Dbreak%2Dinside%3Aavoid%7Dimg%7Bmax%2Dwidth%3A100%25%21important%7Dh2%2Ch3%2Cp%7Borphans%3A3%3Bwidows%3A3%7Dh2%2Ch3%7Bpage%2Dbreak%2Dafter%3Aavoid%7D%2Enavbar%7Bdisplay%3Anone%7D%2Ebtn%3E%2Ecaret%2C%2Edropup%3E%2Ebtn%3E%2Ecaret%7Bborder%2Dtop%2Dcolor%3A%23000%21important%7D%2Elabel%7Bborder%3A1px%20solid%20%23000%7D%2Etable%7Bborder%2Dcollapse%3Acollapse%21important%7D%2Etable%20td%2C%2Etable%20th%7Bbackground%2Dcolor%3A%23fff%21important%7D%2Etable%2Dbordered%20td%2C%2Etable%2Dbordered%20th%7Bborder%3A1px%20solid%20%23ddd%21important%7D%7D%40font%2Dface%7Bfont%2Dfamily%3A%27Glyphicons%20Halflings%2
<script src="data:application/x-javascript;base64,LyohCiAqIEJvb3RzdHJhcCB2My4zLjUgKGh0dHA6Ly9nZXRib290c3RyYXAuY29tKQogKiBDb3B5cmlnaHQgMjAxMS0yMDE1IFR3aXR0ZXIsIEluYy4KICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlCiAqLwppZigidW5kZWZpbmVkIj09dHlwZW9mIGpRdWVyeSl0aHJvdyBuZXcgRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5Iik7K2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0Ijt2YXIgYj1hLmZuLmpxdWVyeS5zcGxpdCgiICIpWzBdLnNwbGl0KCIuIik7aWYoYlswXTwyJiZiWzFdPDl8fDE9PWJbMF0mJjk9PWJbMV0mJmJbMl08MSl0aHJvdyBuZXcgRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5IHZlcnNpb24gMS45LjEgb3IgaGlnaGVyIil9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYm9vdHN0cmFwIiksYj17V2Via2l0VHJhbnNpdGlvbjoid2Via2l0VHJhbnNpdGlvbkVuZCIsTW96VHJhbnNpdGlvbjoidHJhbnNpdGlvbmVuZCIsT1RyYW5zaXRpb246Im9UcmFuc2l0aW9uRW5kIG90cmFuc2l0aW9uZW5kIix0cmFuc2l0aW9uOiJ0cmFuc2l0aW9uZW5kIn07Zm9yKHZhciBjIGluIGIpaWYodm9pZCAwIT09YS5zdHlsZVtjXSlyZXR1cm57ZW5kOmJbY119O3JldHVybiExfWEuZm4uZW11bGF0ZVRyYW5zaXRpb25FbmQ9ZnVuY3Rpb24oYil7dmFyIGM9ITEsZD10aGlzO2EodGhpcykub25lKCJic1RyYW5zaXRpb25FbmQiLGZ1bmN0aW9uKCl7Yz0hMH0pO3ZhciBlPWZ1bmN0aW9uKCl7Y3x8YShkKS50cmlnZ2VyKGEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCl9O3JldHVybiBzZXRUaW1lb3V0KGUsYiksdGhpc30sYShmdW5jdGlvbigpe2Euc3VwcG9ydC50cmFuc2l0aW9uPWIoKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmKGEuZXZlbnQuc3BlY2lhbC5ic1RyYW5zaXRpb25FbmQ9e2JpbmRUeXBlOmEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxkZWxlZ2F0ZVR5cGU6YS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLGhhbmRsZTpmdW5jdGlvbihiKXtyZXR1cm4gYShiLnRhcmdldCkuaXModGhpcyk/Yi5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfX0pfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLGU9Yy5kYXRhKCJicy5hbGVydCIpO2V8fGMuZGF0YSgiYnMuYWxlcnQiLGU9bmV3IGQodGhpcykpLCJzdHJpbmciPT10eXBlb2YgYiYmZVtiXS5jYWxsKGMpfSl9dmFyIGM9J1tkYXRhLWRpc21pc3M9ImFsZXJ0Il0nLGQ9ZnVuY3Rpb24oYil7YShiKS5vbigiY2xpY2siLGMsdGhpcy5jbG9zZSl9O2QuVkVSU0lPTj0iMy4zLjUiLGQuVFJBTlNJVElPTl9EVVJBVElPTj0xNTAsZC5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oYil7ZnVuY3Rpb24gYygpe2cuZGV0YWNoKCkudHJpZ2dlcigiY2xvc2VkLmJzLmFsZXJ0IikucmVtb3ZlKCl9dmFyIGU9YSh0aGlzKSxmPWUuYXR0cigiZGF0YS10YXJnZXQiKTtmfHwoZj1lLmF0dHIoImhyZWYiKSxmPWYmJmYucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCIiKSk7dmFyIGc9YShmKTtiJiZiLnByZXZlbnREZWZhdWx0KCksZy5sZW5ndGh8fChnPWUuY2xvc2VzdCgiLmFsZXJ0IikpLGcudHJpZ2dlcihiPWEuRXZlbnQoImNsb3NlLmJzLmFsZXJ0IikpLGIuaXNEZWZhdWx0UHJldmVudGVkKCl8fChnLnJlbW92ZUNsYXNzKCJpbiIpLGEuc3VwcG9ydC50cmFuc2l0aW9uJiZnLmhhc0NsYXNzKCJmYWRlIik/Zy5vbmUoImJzVHJhbnNpdGlvbkVuZCIsYykuZW11bGF0ZVRyYW5zaXRpb25FbmQoZC5UUkFOU0lUSU9OX0RVUkFUSU9OKTpjKCkpfTt2YXIgZT1hLmZuLmFsZXJ0O2EuZm4uYWxlcnQ9YixhLmZuLmFsZXJ0LkNvbnN0cnVjdG9yPWQsYS5mbi5hbGVydC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uYWxlcnQ9ZSx0aGlzfSxhKGRvY3VtZW50KS5vbigiY2xpY2suYnMuYWxlcnQuZGF0YS1hcGkiLGMsZC5wcm90b3R5cGUuY2xvc2UpfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMuYnV0dG9uIiksZj0ib2JqZWN0Ij09dHlwZW9mIGImJmI7ZXx8ZC5kYXRhKCJicy5idXR0b24iLGU9bmV3IGModGhpcyxmKSksInRvZ2dsZSI9PWI/ZS50b2dnbGUoKTpiJiZlLnNldFN0YXRlKGIpfSl9dmFyIGM9ZnVuY3Rpb24oYixkKXt0aGlzLiRlbGVtZW50PWEoYiksdGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZCksdGhpcy5pc0xvYWRpbmc9ITF9O2MuVkVSU0lPTj0iMy4zLjUiLGMuREVGQVVMVFM9e2xvYWRpbmdUZXh0OiJsb2FkaW5nLi4uIn0sYy5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oYil7dmFyIGM9ImRpc2FibGVkIixkPXRoaXMuJGVsZW1lbnQsZT1kLmlzKCJpbnB1dCIpPyJ2YWwiOiJodG1sIixmPWQuZGF0YSgpO2IrPSJUZXh0IixudWxsPT1mLnJlc2V0VGV4dCYmZC5kYXRhKCJyZXNldFRleHQiLGRbZV0oKSksc2V0VGltZW91dChhLnByb3h5KGZ1bmN0aW9uKCl7ZFtlXShudWxsPT1mW2JdP3RoaXMub3B0aW9uc1tiXTpmW2JdKSwibG9hZGluZ1RleHQiPT1iPyh0aGlzLmlzTG9hZGluZz0hMCxkLmFkZENsYXNzKGMpLmF0dHIoYyxjKSk6dGhpcy5pc0xvYWRpbmcmJih0aGlzLmlzTG9hZGluZz0hMSxkLnJlbW92ZUNsYXNzKGMpLnJlbW92ZUF0dHIoYykpfSx0aGlzKSwwKX0sYy5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKCl7dmFyIGE9ITAsYj10aGlzLiRlbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLXRvZ2dsZT0iYnV0dG9ucyJdJyk7aWYoYi5sZW5ndGgpe3ZhciBjPXRoaXMuJGVsZW1lbnQuZmluZCgiaW5wdXQiKTsicmFkaW8iPT1jLnByb3AoInR5cGUiKT8oYy5wcm9wKCJjaGVja2VkIikmJihhPSExKSxiLmZpbmQoI
<script src="data:application/x-javascript;base64,LyoqCiogQHByZXNlcnZlIEhUTUw1IFNoaXYgMy43LjIgfCBAYWZhcmthcyBAamRhbHRvbiBAam9uX25lYWwgQHJlbSB8IE1JVC9HUEwyIExpY2Vuc2VkCiovCi8vIE9ubHkgcnVuIHRoaXMgY29kZSBpbiBJRSA4CmlmICghIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKCJNU0lFIDgiKSkgewohZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEsYil7dmFyIGM9YS5jcmVhdGVFbGVtZW50KCJwIiksZD1hLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fGEuZG9jdW1lbnRFbGVtZW50O3JldHVybiBjLmlubmVySFRNTD0ieDxzdHlsZT4iK2IrIjwvc3R5bGU+IixkLmluc2VydEJlZm9yZShjLmxhc3RDaGlsZCxkLmZpcnN0Q2hpbGQpfWZ1bmN0aW9uIGQoKXt2YXIgYT10LmVsZW1lbnRzO3JldHVybiJzdHJpbmciPT10eXBlb2YgYT9hLnNwbGl0KCIgIik6YX1mdW5jdGlvbiBlKGEsYil7dmFyIGM9dC5lbGVtZW50czsic3RyaW5nIiE9dHlwZW9mIGMmJihjPWMuam9pbigiICIpKSwic3RyaW5nIiE9dHlwZW9mIGEmJihhPWEuam9pbigiICIpKSx0LmVsZW1lbnRzPWMrIiAiK2EsaihiKX1mdW5jdGlvbiBmKGEpe3ZhciBiPXNbYVtxXV07cmV0dXJuIGJ8fChiPXt9LHIrKyxhW3FdPXIsc1tyXT1iKSxifWZ1bmN0aW9uIGcoYSxjLGQpe2lmKGN8fChjPWIpLGwpcmV0dXJuIGMuY3JlYXRlRWxlbWVudChhKTtkfHwoZD1mKGMpKTt2YXIgZTtyZXR1cm4gZT1kLmNhY2hlW2FdP2QuY2FjaGVbYV0uY2xvbmVOb2RlKCk6cC50ZXN0KGEpPyhkLmNhY2hlW2FdPWQuY3JlYXRlRWxlbShhKSkuY2xvbmVOb2RlKCk6ZC5jcmVhdGVFbGVtKGEpLCFlLmNhbkhhdmVDaGlsZHJlbnx8by50ZXN0KGEpfHxlLnRhZ1Vybj9lOmQuZnJhZy5hcHBlbmRDaGlsZChlKX1mdW5jdGlvbiBoKGEsYyl7aWYoYXx8KGE9YiksbClyZXR1cm4gYS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Yz1jfHxmKGEpO2Zvcih2YXIgZT1jLmZyYWcuY2xvbmVOb2RlKCksZz0wLGg9ZCgpLGk9aC5sZW5ndGg7aT5nO2crKyllLmNyZWF0ZUVsZW1lbnQoaFtnXSk7cmV0dXJuIGV9ZnVuY3Rpb24gaShhLGIpe2IuY2FjaGV8fChiLmNhY2hlPXt9LGIuY3JlYXRlRWxlbT1hLmNyZWF0ZUVsZW1lbnQsYi5jcmVhdGVGcmFnPWEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCxiLmZyYWc9Yi5jcmVhdGVGcmFnKCkpLGEuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihjKXtyZXR1cm4gdC5zaGl2TWV0aG9kcz9nKGMsYSxiKTpiLmNyZWF0ZUVsZW0oYyl9LGEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudD1GdW5jdGlvbigiaCxmIiwicmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49Zi5jbG9uZU5vZGUoKSxjPW4uY3JlYXRlRWxlbWVudDtoLnNoaXZNZXRob2RzJiYoIitkKCkuam9pbigpLnJlcGxhY2UoL1tcd1wtOl0rL2csZnVuY3Rpb24oYSl7cmV0dXJuIGIuY3JlYXRlRWxlbShhKSxiLmZyYWcuY3JlYXRlRWxlbWVudChhKSwnYygiJythKyciKSd9KSsiKTtyZXR1cm4gbn0iKSh0LGIuZnJhZyl9ZnVuY3Rpb24gaihhKXthfHwoYT1iKTt2YXIgZD1mKGEpO3JldHVybiF0LnNoaXZDU1N8fGt8fGQuaGFzQ1NTfHwoZC5oYXNDU1M9ISFjKGEsImFydGljbGUsYXNpZGUsZGlhbG9nLGZpZ2NhcHRpb24sZmlndXJlLGZvb3RlcixoZWFkZXIsaGdyb3VwLG1haW4sbmF2LHNlY3Rpb257ZGlzcGxheTpibG9ja31tYXJre2JhY2tncm91bmQ6I0ZGMDtjb2xvcjojMDAwfXRlbXBsYXRle2Rpc3BsYXk6bm9uZX0iKSksbHx8aShhLGQpLGF9dmFyIGssbCxtPSIzLjcuMiIsbj1hLmh0bWw1fHx7fSxvPS9ePHxeKD86YnV0dG9ufG1hcHxzZWxlY3R8dGV4dGFyZWF8b2JqZWN0fGlmcmFtZXxvcHRpb258b3B0Z3JvdXApJC9pLHA9L14oPzphfGJ8Y29kZXxkaXZ8ZmllbGRzZXR8aDF8aDJ8aDN8aDR8aDV8aDZ8aXxsYWJlbHxsaXxvbHxwfHF8c3BhbnxzdHJvbmd8c3R5bGV8dGFibGV8dGJvZHl8dGR8dGh8dHJ8dWwpJC9pLHE9Il9odG1sNXNoaXYiLHI9MCxzPXt9OyFmdW5jdGlvbigpe3RyeXt2YXIgYT1iLmNyZWF0ZUVsZW1lbnQoImEiKTthLmlubmVySFRNTD0iPHh5ej48L3h5ej4iLGs9ImhpZGRlbiJpbiBhLGw9MT09YS5jaGlsZE5vZGVzLmxlbmd0aHx8ZnVuY3Rpb24oKXtiLmNyZWF0ZUVsZW1lbnQoImEiKTt2YXIgYT1iLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIGEuY2xvbmVOb2RlfHwidW5kZWZpbmVkIj09dHlwZW9mIGEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudHx8InVuZGVmaW5lZCI9PXR5cGVvZiBhLmNyZWF0ZUVsZW1lbnR9KCl9Y2F0Y2goYyl7az0hMCxsPSEwfX0oKTt2YXIgdD17ZWxlbWVudHM6bi5lbGVtZW50c3x8ImFiYnIgYXJ0aWNsZSBhc2lkZSBhdWRpbyBiZGkgY2FudmFzIGRhdGEgZGF0YWxpc3QgZGV0YWlscyBkaWFsb2cgZmlnY2FwdGlvbiBmaWd1cmUgZm9vdGVyIGhlYWRlciBoZ3JvdXAgbWFpbiBtYXJrIG1ldGVyIG5hdiBvdXRwdXQgcGljdHVyZSBwcm9ncmVzcyBzZWN0aW9uIHN1bW1hcnkgdGVtcGxhdGUgdGltZSB2aWRlbyIsdmVyc2lvbjptLHNoaXZDU1M6bi5zaGl2Q1NTIT09ITEsc3VwcG9ydHNVbmtub3duRWxlbWVudHM6bCxzaGl2TWV0aG9kczpuLnNoaXZNZXRob2RzIT09ITEsdHlwZToiZGVmYXVsdCIsc2hpdkRvY3VtZW50OmosY3JlYXRlRWxlbWVudDpnLGNyZWF0ZURvY3VtZW50RnJhZ21lbnQ6aCxhZGRFbGVtZW50czplfTthLmh0bWw1PXQsaihiKX0odGhpcyxkb2N1bWVudCk7Cn07Cg=="></script>
<script src="data:application/x-javascript;base64,LyohIFJlc3BvbmQuanMgdjEuNC4yOiBtaW4vbWF4LXdpZHRoIG1lZGlhIHF1ZXJ5IHBvbHlmaWxsICogQ29weXJpZ2h0IDIwMTMgU2NvdHQgSmVobAogKiBMaWNlbnNlZCB1bmRlciBodHRwczovL2dpdGh1Yi5jb20vc2NvdHRqZWhsL1Jlc3BvbmQvYmxvYi9tYXN0ZXIvTElDRU5TRS1NSVQKICogICovCgovLyBPbmx5IHJ1biB0aGlzIGNvZGUgaW4gSUUgOAppZiAoISF3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgiTVNJRSA4IikpIHsKIWZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjthLm1hdGNoTWVkaWE9YS5tYXRjaE1lZGlhfHxmdW5jdGlvbihhKXt2YXIgYixjPWEuZG9jdW1lbnRFbGVtZW50LGQ9Yy5maXJzdEVsZW1lbnRDaGlsZHx8Yy5maXJzdENoaWxkLGU9YS5jcmVhdGVFbGVtZW50KCJib2R5IiksZj1hLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBmLmlkPSJtcS10ZXN0LTEiLGYuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7dG9wOi0xMDBlbSIsZS5zdHlsZS5iYWNrZ3JvdW5kPSJub25lIixlLmFwcGVuZENoaWxkKGYpLGZ1bmN0aW9uKGEpe3JldHVybiBmLmlubmVySFRNTD0nJnNoeTs8c3R5bGUgbWVkaWE9IicrYSsnIj4gI21xLXRlc3QtMSB7IHdpZHRoOiA0MnB4OyB9PC9zdHlsZT4nLGMuaW5zZXJ0QmVmb3JlKGUsZCksYj00Mj09PWYub2Zmc2V0V2lkdGgsYy5yZW1vdmVDaGlsZChlKSx7bWF0Y2hlczpiLG1lZGlhOmF9fX0oYS5kb2N1bWVudCl9KHRoaXMpLGZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKCl7dSghMCl9dmFyIGM9e307YS5yZXNwb25kPWMsYy51cGRhdGU9ZnVuY3Rpb24oKXt9O3ZhciBkPVtdLGU9ZnVuY3Rpb24oKXt2YXIgYj0hMTt0cnl7Yj1uZXcgYS5YTUxIdHRwUmVxdWVzdH1jYXRjaChjKXtiPW5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGJ9fSgpLGY9ZnVuY3Rpb24oYSxiKXt2YXIgYz1lKCk7YyYmKGMub3BlbigiR0VUIixhLCEwKSxjLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpezQhPT1jLnJlYWR5U3RhdGV8fDIwMCE9PWMuc3RhdHVzJiYzMDQhPT1jLnN0YXR1c3x8YihjLnJlc3BvbnNlVGV4dCl9LDQhPT1jLnJlYWR5U3RhdGUmJmMuc2VuZChudWxsKSl9O2lmKGMuYWpheD1mLGMucXVldWU9ZCxjLnJlZ2V4PXttZWRpYTovQG1lZGlhW15ce10rXHsoW15ce1x9XSpce1teXH1ce10qXH0pKy9naSxrZXlmcmFtZXM6L0AoPzpcLSg/Om98bW96fHdlYmtpdClcLSk/a2V5ZnJhbWVzW15ce10rXHsoPzpbXlx7XH1dKlx7W15cfVx7XSpcfSkrW15cfV0qXH0vZ2ksdXJsczovKHVybFwoKVsnIl0/KFteXC9cKSciXVteOlwpJyJdKylbJyJdPyhcKSkvZyxmaW5kU3R5bGVzOi9AbWVkaWEgKihbXlx7XSspXHsoW1xTXHNdKz8pJC8sb25seTovKG9ubHlccyspPyhbYS16QS1aXSspXHM/LyxtaW53Oi9cKFtcc10qbWluXC13aWR0aFxzKjpbXHNdKihbXHNdKlswLTlcLl0rKShweHxlbSlbXHNdKlwpLyxtYXh3Oi9cKFtcc10qbWF4XC13aWR0aFxzKjpbXHNdKihbXHNdKlswLTlcLl0rKShweHxlbSlbXHNdKlwpL30sYy5tZWRpYVF1ZXJpZXNTdXBwb3J0ZWQ9YS5tYXRjaE1lZGlhJiZudWxsIT09YS5tYXRjaE1lZGlhKCJvbmx5IGFsbCIpJiZhLm1hdGNoTWVkaWEoIm9ubHkgYWxsIikubWF0Y2hlcywhYy5tZWRpYVF1ZXJpZXNTdXBwb3J0ZWQpe3ZhciBnLGgsaSxqPWEuZG9jdW1lbnQsaz1qLmRvY3VtZW50RWxlbWVudCxsPVtdLG09W10sbj1bXSxvPXt9LHA9MzAscT1qLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fGsscj1qLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJiYXNlIilbMF0scz1xLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIiksdD1mdW5jdGlvbigpe3ZhciBhLGI9ai5jcmVhdGVFbGVtZW50KCJkaXYiKSxjPWouYm9keSxkPWsuc3R5bGUuZm9udFNpemUsZT1jJiZjLnN0eWxlLmZvbnRTaXplLGY9ITE7cmV0dXJuIGIuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7Zm9udC1zaXplOjFlbTt3aWR0aDoxZW0iLGN8fChjPWY9ai5jcmVhdGVFbGVtZW50KCJib2R5IiksYy5zdHlsZS5iYWNrZ3JvdW5kPSJub25lIiksay5zdHlsZS5mb250U2l6ZT0iMTAwJSIsYy5zdHlsZS5mb250U2l6ZT0iMTAwJSIsYy5hcHBlbmRDaGlsZChiKSxmJiZrLmluc2VydEJlZm9yZShjLGsuZmlyc3RDaGlsZCksYT1iLm9mZnNldFdpZHRoLGY/ay5yZW1vdmVDaGlsZChjKTpjLnJlbW92ZUNoaWxkKGIpLGsuc3R5bGUuZm9udFNpemU9ZCxlJiYoYy5zdHlsZS5mb250U2l6ZT1lKSxhPWk9cGFyc2VGbG9hdChhKX0sdT1mdW5jdGlvbihiKXt2YXIgYz0iY2xpZW50V2lkdGgiLGQ9a1tjXSxlPSJDU1MxQ29tcGF0Ij09PWouY29tcGF0TW9kZSYmZHx8ai5ib2R5W2NdfHxkLGY9e30sbz1zW3MubGVuZ3RoLTFdLHI9KG5ldyBEYXRlKS5nZXRUaW1lKCk7aWYoYiYmZyYmcD5yLWcpcmV0dXJuIGEuY2xlYXJUaW1lb3V0KGgpLGg9YS5zZXRUaW1lb3V0KHUscCksdm9pZCAwO2c9cjtmb3IodmFyIHYgaW4gbClpZihsLmhhc093blByb3BlcnR5KHYpKXt2YXIgdz1sW3ZdLHg9dy5taW53LHk9dy5tYXh3LHo9bnVsbD09PXgsQT1udWxsPT09eSxCPSJlbSI7eCYmKHg9cGFyc2VGbG9hdCh4KSooeC5pbmRleE9mKEIpPi0xP2l8fHQoKToxKSkseSYmKHk9cGFyc2VGbG9hdCh5KSooeS5pbmRleE9mKEIpPi0xP2l8fHQoKToxKSksdy5oYXNxdWVyeSYmKHomJkF8fCEoenx8ZT49eCl8fCEoQXx8eT49ZSkpfHwoZlt3Lm1lZGlhXXx8KGZbdy5tZWRpYV09W10pLGZbdy5tZWRpYV0ucHVzaChtW3cucnVsZXNdKSl9Zm9yKHZhciBDIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShDKSYmbltDXSYmbltDXS5wYXJlbnROb2RlPT09cSYmcS5yZW1vdmVDaGlsZChuW0NdKTtuLmxlbmd0aD0wO2Zvcih2YXIgRCBpbiBmKWlmKGYuaGFzT3duUHJvcGVydHkoRCkpe3ZhciBFPWouY3JlYXRlRWxlbWVudCgic3R5bGUiKSxGPWZbRF0uam9pbigiXG4iKTtFLnR5cGU9InRleHQvY3NzIixFLm1lZGlhPUQscS5pbnNlc
<style type="text/css">code{white-space: pre;}</style>
8 years ago
<link href="data:text/css;charset=utf-8,pre%20%2Eoperator%2C%0Apre%20%2Eparen%20%7B%0Acolor%3A%20rgb%28104%2C%20118%2C%20135%29%0A%7D%0Apre%20%2Eliteral%20%7B%0Acolor%3A%20%23990073%0A%7D%0Apre%20%2Enumber%20%7B%0Acolor%3A%20%23099%3B%0A%7D%0Apre%20%2Ecomment%20%7B%0Acolor%3A%20%23998%3B%0Afont%2Dstyle%3A%20italic%0A%7D%0Apre%20%2Ekeyword%20%7B%0Acolor%3A%20%23900%3B%0Afont%2Dweight%3A%20bold%0A%7D%0Apre%20%2Eidentifier%20%7B%0Acolor%3A%20rgb%280%2C%200%2C%200%29%3B%0A%7D%0Apre%20%2Estring%20%7B%0Acolor%3A%20%23d14%3B%0A%7D%0A" rel="stylesheet" type="text/css" />
<script src="data:application/x-javascript;base64,CnZhciBobGpzPW5ldyBmdW5jdGlvbigpe2Z1bmN0aW9uIG0ocCl7cmV0dXJuIHAucmVwbGFjZSgvJi9nbSwiJmFtcDsiKS5yZXBsYWNlKC88L2dtLCImbHQ7Iil9ZnVuY3Rpb24gZihyLHEscCl7cmV0dXJuIFJlZ0V4cChxLCJtIisoci5jST8iaSI6IiIpKyhwPyJnIjoiIikpfWZ1bmN0aW9uIGIocil7Zm9yKHZhciBwPTA7cDxyLmNoaWxkTm9kZXMubGVuZ3RoO3ArKyl7dmFyIHE9ci5jaGlsZE5vZGVzW3BdO2lmKHEubm9kZU5hbWU9PSJDT0RFIil7cmV0dXJuIHF9aWYoIShxLm5vZGVUeXBlPT0zJiZxLm5vZGVWYWx1ZS5tYXRjaCgvXHMrLykpKXticmVha319fWZ1bmN0aW9uIGgodCxzKXt2YXIgcD0iIjtmb3IodmFyIHI9MDtyPHQuY2hpbGROb2Rlcy5sZW5ndGg7cisrKXtpZih0LmNoaWxkTm9kZXNbcl0ubm9kZVR5cGU9PTMpe3ZhciBxPXQuY2hpbGROb2Rlc1tyXS5ub2RlVmFsdWU7aWYocyl7cT1xLnJlcGxhY2UoL1xuL2csIiIpfXArPXF9ZWxzZXtpZih0LmNoaWxkTm9kZXNbcl0ubm9kZU5hbWU9PSJCUiIpe3ArPSJcbiJ9ZWxzZXtwKz1oKHQuY2hpbGROb2Rlc1tyXSl9fX1pZigvTVNJRSBbNjc4XS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSl7cD1wLnJlcGxhY2UoL1xyL2csIlxuIil9cmV0dXJuIHB9ZnVuY3Rpb24gYShzKXt2YXIgcj1zLmNsYXNzTmFtZS5zcGxpdCgvXHMrLyk7cj1yLmNvbmNhdChzLnBhcmVudE5vZGUuY2xhc3NOYW1lLnNwbGl0KC9ccysvKSk7Zm9yKHZhciBxPTA7cTxyLmxlbmd0aDtxKyspe3ZhciBwPXJbcV0ucmVwbGFjZSgvXmxhbmd1YWdlLS8sIiIpO2lmKGVbcF0pe3JldHVybiBwfX19ZnVuY3Rpb24gYyhxKXt2YXIgcD1bXTsoZnVuY3Rpb24ocyx0KXtmb3IodmFyIHI9MDtyPHMuY2hpbGROb2Rlcy5sZW5ndGg7cisrKXtpZihzLmNoaWxkTm9kZXNbcl0ubm9kZVR5cGU9PTMpe3QrPXMuY2hpbGROb2Rlc1tyXS5ub2RlVmFsdWUubGVuZ3RofWVsc2V7aWYocy5jaGlsZE5vZGVzW3JdLm5vZGVOYW1lPT0iQlIiKXt0Kz0xfWVsc2V7aWYocy5jaGlsZE5vZGVzW3JdLm5vZGVUeXBlPT0xKXtwLnB1c2goe2V2ZW50OiJzdGFydCIsb2Zmc2V0OnQsbm9kZTpzLmNoaWxkTm9kZXNbcl19KTt0PWFyZ3VtZW50cy5jYWxsZWUocy5jaGlsZE5vZGVzW3JdLHQpO3AucHVzaCh7ZXZlbnQ6InN0b3AiLG9mZnNldDp0LG5vZGU6cy5jaGlsZE5vZGVzW3JdfSl9fX19cmV0dXJuIHR9KShxLDApO3JldHVybiBwfWZ1bmN0aW9uIGsoeSx3LHgpe3ZhciBxPTA7dmFyIHo9IiI7dmFyIHM9W107ZnVuY3Rpb24gdSgpe2lmKHkubGVuZ3RoJiZ3Lmxlbmd0aCl7aWYoeVswXS5vZmZzZXQhPXdbMF0ub2Zmc2V0KXtyZXR1cm4oeVswXS5vZmZzZXQ8d1swXS5vZmZzZXQpP3k6d31lbHNle3JldHVybiB3WzBdLmV2ZW50PT0ic3RhcnQiP3k6d319ZWxzZXtyZXR1cm4geS5sZW5ndGg/eTp3fX1mdW5jdGlvbiB0KEQpe3ZhciBBPSI8IitELm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7Zm9yKHZhciBCPTA7QjxELmF0dHJpYnV0ZXMubGVuZ3RoO0IrKyl7dmFyIEM9RC5hdHRyaWJ1dGVzW0JdO0ErPSIgIitDLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYoQy52YWx1ZSE9PXVuZGVmaW5lZCYmQy52YWx1ZSE9PWZhbHNlJiZDLnZhbHVlIT09bnVsbCl7QSs9Jz0iJyttKEMudmFsdWUpKyciJ319cmV0dXJuIEErIj4ifXdoaWxlKHkubGVuZ3RofHx3Lmxlbmd0aCl7dmFyIHY9dSgpLnNwbGljZSgwLDEpWzBdO3orPW0oeC5zdWJzdHIocSx2Lm9mZnNldC1xKSk7cT12Lm9mZnNldDtpZih2LmV2ZW50PT0ic3RhcnQiKXt6Kz10KHYubm9kZSk7cy5wdXNoKHYubm9kZSl9ZWxzZXtpZih2LmV2ZW50PT0ic3RvcCIpe3ZhciBwLHI9cy5sZW5ndGg7ZG97ci0tO3A9c1tyXTt6Kz0oIjwvIitwLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkrIj4iKX13aGlsZShwIT12Lm5vZGUpO3Muc3BsaWNlKHIsMSk7d2hpbGUocjxzLmxlbmd0aCl7eis9dChzW3JdKTtyKyt9fX19cmV0dXJuIHorbSh4LnN1YnN0cihxKSl9ZnVuY3Rpb24gaigpe2Z1bmN0aW9uIHEoeCx5LHYpe2lmKHguY29tcGlsZWQpe3JldHVybn12YXIgdTt2YXIgcz1bXTtpZih4Lmspe3gubFI9Zih5LHgubHx8aGxqcy5JUix0cnVlKTtmb3IodmFyIHcgaW4geC5rKXtpZigheC5rLmhhc093blByb3BlcnR5KHcpKXtjb250aW51ZX1pZih4Lmtbd10gaW5zdGFuY2VvZiBPYmplY3Qpe3U9eC5rW3ddfWVsc2V7dT14Lms7dz0ia2V5d29yZCJ9Zm9yKHZhciByIGluIHUpe2lmKCF1Lmhhc093blByb3BlcnR5KHIpKXtjb250aW51ZX14Lmtbcl09W3csdVtyXV07cy5wdXNoKHIpfX19aWYoIXYpe2lmKHguYldLKXt4LmI9IlxcYigiK3Muam9pbigifCIpKyIpXFxzIn14LmJSPWYoeSx4LmI/eC5iOiJcXEJ8XFxiIik7aWYoIXguZSYmIXguZVcpe3guZT0iXFxCfFxcYiJ9aWYoeC5lKXt4LmVSPWYoeSx4LmUpfX1pZih4Lmkpe3guaVI9Zih5LHguaSl9aWYoeC5yPT09dW5kZWZpbmVkKXt4LnI9MX1pZigheC5jKXt4LmM9W119eC5jb21waWxlZD10cnVlO2Zvcih2YXIgdD0wO3Q8eC5jLmxlbmd0aDt0Kyspe2lmKHguY1t0XT09InNlbGYiKXt4LmNbdF09eH1xKHguY1t0XSx5LGZhbHNlKX1pZih4LnN0YXJ0cyl7cSh4LnN0YXJ0cyx5LGZhbHNlKX19Zm9yKHZhciBwIGluIGUpe2lmKCFlLmhhc093blByb3BlcnR5KHApKXtjb250aW51ZX1xKGVbcF0uZE0sZVtwXSx0cnVlKX19ZnVuY3Rpb24gZChCLEMpe2lmKCFqLmNhbGxlZCl7aigpO2ouY2FsbGVkPXRydWV9ZnVuY3Rpb24gcShyLE0pe2Zvcih2YXIgTD0wO0w8TS5jLmxlbmd0aDtMKyspe2lmKChNLmNbTF0uYlIuZXhlYyhyKXx8W251bGxdKVswXT09cil7cmV0dXJuIE0uY1tMXX19fWZ1bmN0aW9uIHYoTCxyKXtpZihEW0xdLmUmJkRbTF0uZVIudGVzdChyKSl7cmV0dXJuIDF9aWYoRFtMXS5lVyl7dmFyIE09dihMLTEscik7cmV0dXJuIE0/TSsxOjB9cmV0dXJuIDB9ZnVuY3Rpb24gdyhyLEwpe3JldHVybiBMLmkmJkwuaVIudGVzdChyKX1mdW5jdGlvbiBLKE4sTyl7dmFyIE09W107Zm9yKHZhciBMPTA7TDxOLmMubGVuZ3RoO0wrKyl7TS5wdXNoKE4uY1tMXS5iKX12Y
<style type="text/css">
pre:not([class]) {
background-color: white;
}
</style>
<script type="text/javascript">
if (window.hljs && document.readyState && document.readyState === "complete") {
window.setTimeout(function() {
hljs.initHighlighting();
}, 0);
}
</script>
</head>
<body>
<style type="text/css">
.main-container {
max-width: 940px;
margin-left: auto;
margin-right: auto;
}
code {
color: inherit;
background-color: rgba(0, 0, 0, 0.04);
}
8 years ago
img {
max-width:100%;
height: auto;
}
h1 {
font-size: 34px;
}
h1.title {
font-size: 38px;
}
h2 {
font-size: 30px;
}
h3 {
font-size: 24px;
}
h4 {
font-size: 18px;
}
h5 {
font-size: 16px;
}
h6 {
font-size: 12px;
}
.tabbed-pane {
padding-top: 12px;
}
button.code-folding-btn:focus {
outline: none;
}
</style>
<div class="container-fluid main-container">
8 years ago
<!-- tabsets -->
<script src="data:application/x-javascript;base64,Cgp3aW5kb3cuYnVpbGRUYWJzZXRzID0gZnVuY3Rpb24odG9jSUQpIHsKCiAgLy8gYnVpbGQgYSB0YWJzZXQgZnJvbSBhIHNlY3Rpb24gZGl2IHdpdGggdGhlIC50YWJzZXQgY2xhc3MKICBmdW5jdGlvbiBidWlsZFRhYnNldCh0YWJzZXQpIHsKCiAgICAvLyBjaGVjayBmb3IgZmFkZSBhbmQgcGlsbHMgb3B0aW9ucwogICAgdmFyIGZhZGUgPSB0YWJzZXQuaGFzQ2xhc3MoInRhYnNldC1mYWRlIik7CiAgICB2YXIgcGlsbHMgPSB0YWJzZXQuaGFzQ2xhc3MoInRhYnNldC1waWxscyIpOwogICAgdmFyIG5hdkNsYXNzID0gcGlsbHMgPyAibmF2LXBpbGxzIiA6ICJuYXYtdGFicyI7CgogICAgLy8gZGV0ZXJtaW5lIHRoZSBoZWFkaW5nIGxldmVsIG9mIHRoZSB0YWJzZXQgYW5kIHRhYnMKICAgIHZhciBtYXRjaCA9IHRhYnNldC5hdHRyKCdjbGFzcycpLm1hdGNoKC9sZXZlbChcZCkgLyk7CiAgICBpZiAobWF0Y2ggPT09IG51bGwpCiAgICAgIHJldHVybjsKICAgIHZhciB0YWJzZXRMZXZlbCA9IE51bWJlcihtYXRjaFsxXSk7CiAgICB2YXIgdGFiTGV2ZWwgPSB0YWJzZXRMZXZlbCArIDE7CgogICAgLy8gZmluZCBhbGwgc3ViaGVhZGluZ3MgaW1tZWRpYXRlbHkgYmVsb3cKICAgIHZhciB0YWJzID0gdGFic2V0LmZpbmQoImRpdi5zZWN0aW9uLmxldmVsIiArIHRhYkxldmVsKTsKICAgIGlmICghdGFicy5sZW5ndGgpCiAgICAgIHJldHVybjsKCiAgICAvLyBjcmVhdGUgdGFibGlzdCBhbmQgdGFiLWNvbnRlbnQgZWxlbWVudHMKICAgIHZhciB0YWJMaXN0ID0gJCgnPHVsIGNsYXNzPSJuYXYgJyArIG5hdkNsYXNzICsgJyIgcm9sZT0idGFibGlzdCI+PC91bD4nKTsKICAgICQodGFic1swXSkuYmVmb3JlKHRhYkxpc3QpOwogICAgdmFyIHRhYkNvbnRlbnQgPSAkKCc8ZGl2IGNsYXNzPSJ0YWItY29udGVudCI+PC9kaXY+Jyk7CiAgICAkKHRhYnNbMF0pLmJlZm9yZSh0YWJDb250ZW50KTsKCiAgICAvLyBidWlsZCB0aGUgdGFic2V0CiAgICB0YWJzLmVhY2goZnVuY3Rpb24oaSkgewoKICAgICAgLy8gZ2V0IHRoZSB0YWIgZGl2CiAgICAgIHZhciB0YWIgPSAkKHRhYnNbaV0pOwoKICAgICAgLy8gZ2V0IHRoZSBpZCB0aGVuIHNhbml0aXplIGl0IGZvciB1c2Ugd2l0aCBib290c3RyYXAgdGFicwogICAgICB2YXIgaWQgPSB0YWIuYXR0cignaWQnKTsKCiAgICAgIC8vIHJlbW92ZSBhbnkgdGFibGUgb2YgY29udGVudHMgZW50cmllcyBhc3NvY2lhdGVkIHdpdGgKICAgICAgLy8gdGhpcyBJRCAoc2luY2Ugd2UnbGwgYmUgcmVtb3ZpbmcgdGhlIGhlYWRpbmcgZWxlbWVudCkKICAgICAgJCgiZGl2IyIgKyB0b2NJRCArICIgbGkgYVtocmVmPScjIiArIGlkICsgIiddIikucGFyZW50KCkucmVtb3ZlKCk7CgogICAgICAvLyBzYW5pdGl6ZSB0aGUgaWQgZm9yIHVzZSB3aXRoIGJvb3RzdHJhcCB0YWJzCiAgICAgIGlkID0gaWQucmVwbGFjZSgvWy5cLz8mISM8Pl0vZywgJycpLnJlcGxhY2UoL1xzL2csICdfJyk7CiAgICAgIHRhYi5hdHRyKCdpZCcsIGlkKTsKCiAgICAgIC8vIGdldCB0aGUgaGVhZGluZyBlbGVtZW50IHdpdGhpbiBpdCwgZ3JhYiBpdCdzIHRleHQsIHRoZW4gcmVtb3ZlIGl0CiAgICAgIHZhciBoZWFkaW5nID0gdGFiLmZpbmQoJ2gnICsgdGFiTGV2ZWwgKyAnOmZpcnN0Jyk7CiAgICAgIHZhciBoZWFkaW5nVGV4dCA9IGhlYWRpbmcuaHRtbCgpOwogICAgICBoZWFkaW5nLnJlbW92ZSgpOwoKICAgICAgLy8gYnVpbGQgYW5kIGFwcGVuZCB0aGUgdGFiIGxpc3QgaXRlbQogICAgICB2YXIgYSA9ICQoJzxhIHJvbGU9InRhYiIgZGF0YS10b2dnbGU9InRhYiI+JyArIGhlYWRpbmdUZXh0ICsgJzwvYT4nKTsKICAgICAgYS5hdHRyKCdocmVmJywgJyMnICsgaWQpOwogICAgICBhLmF0dHIoJ2FyaWEtY29udHJvbHMnLCBpZCk7CiAgICAgIHZhciBsaSA9ICQoJzxsaSByb2xlPSJwcmVzZW50YXRpb24iPjwvbGk+Jyk7CiAgICAgIGxpLmFwcGVuZChhKTsKICAgICAgaWYgKGkgPT09IDApCiAgICAgICAgbGkuYXR0cignY2xhc3MnLCAnYWN0aXZlJyk7CiAgICAgIHRhYkxpc3QuYXBwZW5kKGxpKTsKCiAgICAgIC8vIHNldCBpdCdzIGF0dHJpYnV0ZXMKICAgICAgdGFiLmF0dHIoJ3JvbGUnLCAndGFicGFuZWwnKTsKICAgICAgdGFiLmFkZENsYXNzKCd0YWItcGFuZScpOwogICAgICB0YWIuYWRkQ2xhc3MoJ3RhYmJlZC1wYW5lJyk7CiAgICAgIGlmIChmYWRlKQogICAgICAgIHRhYi5hZGRDbGFzcygnZmFkZScpOwogICAgICBpZiAoaSA9PT0gMCkgewogICAgICAgIHRhYi5hZGRDbGFzcygnYWN0aXZlJyk7CiAgICAgICAgaWYgKGZhZGUpCiAgICAgICAgICB0YWIuYWRkQ2xhc3MoJ2luJyk7CiAgICAgIH0KCiAgICAgIC8vIG1vdmUgaXQgaW50byB0aGUgdGFiIGNvbnRlbnQgZGl2CiAgICAgIHRhYi5kZXRhY2goKS5hcHBlbmRUbyh0YWJDb250ZW50KTsKICAgIH0pOwogIH0KCiAgLy8gY29udmVydCBzZWN0aW9uIGRpdnMgd2l0aCB0aGUgLnRhYnNldCBjbGFzcyB0byB0YWJzZXRzCiAgdmFyIHRhYnNldHMgPSAkKCJkaXYuc2VjdGlvbi50YWJzZXQiKTsKICB0YWJzZXRzLmVhY2goZnVuY3Rpb24oaSkgewogICAgYnVpbGRUYWJzZXQoJCh0YWJzZXRzW2ldKSk7CiAgfSk7Cn07Cgo="></script>
<script>
$(document).ready(function () {
window.buildTabsets("TOC");
});
</script>
8 years ago
<!-- code folding -->
<div class="fluid-row" id="header">
</div>
<!-- README.md is generated from README.Rmd. Please edit that file -->
8 years ago
<p><a href="http://www.repostatus.org/#active"><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMTkiIGhlaWdodD0iMTgiPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDI9IjAiIHkyPSIxMDAlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNmZmYiIHN0b3Atb3BhY2l0eT0iLjciLz48c3RvcCBvZmZzZXQ9Ii4xIiBzdG9wLWNvbG9yPSIjYWFhIiBzdG9wLW9wYWNpdHk9Ii4xIi8+PHN0b3Agb2Zmc2V0PSIuOSIgc3RvcC1vcGFjaXR5PSIuMyIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1vcGFjaXR5PSIuNSIvPjwvbGluZWFyR3JhZGllbnQ+PHJlY3Qgcng9IjQiIHdpZHRoPSIxMTkiIGhlaWdodD0iMTgiIGZpbGw9IiM1NTUiLz48cmVjdCByeD0iNCIgeD0iNzQiIHdpZHRoPSI0NSIgaGVpZ2h0PSIxOCIgZmlsbD0iIzRjMSIvPjxwYXRoIGZpbGw9IiM0YzEiIGQ9Ik03NCAwaDR2MThoLTR6Ii8+PHJlY3Qgcng9IjQiIHdpZHRoPSIxMTkiIGhlaWdodD0iMTgiIGZpbGw9InVybCgjYSkiLz48ZyBmaWxsPSIjZmZmIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LWZhbWlseT0iRGVqYVZ1IFNhbnMsVmVyZGFuYSxHZW5ldmEsc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMSI+PHRleHQgeD0iMzgiIHk9IjE0IiBmaWxsPSIjMDEwMTAxIiBmaWxsLW9wYWNpdHk9Ii4zIj5yZXBvIHN0YXR1czwvdGV4dD48dGV4dCB4PSIzOCIgeT0iMTMiPnJlcG8gc3RhdHVzPC90ZXh0Pjx0ZXh0IHg9Ijk1LjUiIHk9IjE0IiBmaWxsPSIjMDEwMTAxIiBmaWxsLW9wYWNpdHk9Ii4zIj5BY3RpdmU8L3RleHQ+PHRleHQgeD0iOTUuNSIgeT0iMTMiPkFjdGl2ZTwvdGV4dD48L2c+PC9zdmc+" alt="Project Status: Active - The project has reached a stable, usable state and is being actively developed." /></a> <a href="https://travis-ci.org/hrbrmstr/ggalt"><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5MCIgaGVpZ2h0PSIyMCI+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4Mj0iMCIgeTI9IjEwMCUiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2JiYiIgc3RvcC1vcGFjaXR5PSIuMSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1vcGFjaXR5PSIuMSIvPjwvbGluZWFyR3JhZGllbnQ+PHJlY3Qgcng9IjMiIHdpZHRoPSI5MCIgaGVpZ2h0PSIyMCIgZmlsbD0iIzU1NSIvPjxyZWN0IHJ4PSIzIiB4PSIzNyIgd2lkdGg9IjUzIiBoZWlnaHQ9IjIwIiBmaWxsPSIjNGMxIi8+PHBhdGggZmlsbD0iIzRjMSIgZD0iTTM3IDBoNHYyMGgtNHoiLz48cmVjdCByeD0iMyIgd2lkdGg9IjkwIiBoZWlnaHQ9IjIwIiBmaWxsPSJ1cmwoI2EpIi8+PGcgZmlsbD0iI2ZmZiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1mYW1pbHk9IkRlamFWdSBTYW5zLFZlcmRhbmEsR2VuZXZhLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTEiPjx0ZXh0IHg9IjE5LjUiIHk9IjE1IiBmaWxsPSIjMDEwMTAxIiBmaWxsLW9wYWNpdHk9Ii4zIj5idWlsZDwvdGV4dD48dGV4dCB4PSIxOS41IiB5PSIxNCI+YnVpbGQ8L3RleHQ+PHRleHQgeD0iNjIuNSIgeT0iMTUiIGZpbGw9IiMwMTAxMDEiIGZpbGwtb3BhY2l0eT0iLjMiPnBhc3Npbmc8L3RleHQ+PHRleHQgeD0iNjIuNSIgeT0iMTQiPnBhc3Npbmc8L3RleHQ+PC9nPjwvc3ZnPg==" alt="Travis-CI Build Status" /></a> <a href="http://cran.r-project.org/web/packages/ggalt"><img src="data:image/svg+xml; charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MiIgaGVpZ2h0PSIyMCI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJiIiB4Mj0iMCIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjYmJiIiBzdG9wLW9wYWNpdHk9Ii4xIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3Atb3BhY2l0eT0iLjEiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxtYXNrIGlkPSJhIj4KICAgIDxyZWN0IHdpZHRoPSI4MiIgaGVpZ2h0PSIyMCIgcng9IjMiIGZpbGw9IiNmZmYiLz4KICA8L21hc2s+CiAgPGcgbWFzaz0idXJsKCNhKSI+CiAgICA8cGF0aCBmaWxsPSIjNTU1IiBkPSJNMCAwaDQzdjIwSDB6Ii8+CiAgICA8cGF0aCBmaWxsPSIjNGMxIiBkPSJNNDMgMGg2NXYyMEg0M3oiLz4KICAgIDxwYXRoIGZpbGw9InVybCgjYikiIGQ9Ik0wIDBoODJ2MjBIMHoiLz4KICA8L2c+CiAgPGcgZmlsbD0iI2ZmZiIgdGV4dC1hbmNob3I9Im1pZGRsZSIKICAgICBmb250LWZhbWlseT0iRGVqYVZ1IFNhbnMsVmVyZGFuYSxHZW5ldmEsc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMSI+CiAgICA8dGV4dCB4PSIyMS41IiB5PSIxNSIgZmlsbD0iIzAxMDEwMSIgZmlsbC1vcGFjaXR5PSIuMyI+CiAgICAgIENSQU4KICAgIDwvdGV4dD4KICAgIDx0ZXh0IHg9IjIxLjUiIHk9IjE0Ij4KICAgICAgQ1JBTgogICAgPC90ZXh0PgogICAgPHRleHQgeD0iNjEuNSIgeT0iMTUiIGZpbGw9IiMwMTAxMDEiIGZpbGwtb3BhY2l0eT0iLjMiPgogICAgICAwLjEuMQogICAgPC90ZXh0PgogICAgPHRleHQgeD0iNjEuNSIgeT0iMTQiPgogICAgICAwLjEuMQogICAgPC90ZXh0PgogIDwvZz4KPC9zdmc+" alt="CRAN_Status_Badge" /></a> <img src="data:image/svg+xml; charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDgiIGhlaWdodD0iMjAiPgogIDxsaW5lYXJHcmFkaWVudCBpZD0iYiIgeDI9IjAiIHkyPSIxMDAlIj4KICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2JiYiIgc3RvcC1vcGFjaXR5PSIuMSIvPgogICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLW9wYWNpdHk9Ii4xIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8bWFzayBpZD0iYSI+CiAgICA8cmVjdCB3aWR0aD0iMTA4IiBoZWlnaHQ9IjIwI
8 years ago
<p><code>ggalt</code> : Extra Coordinate Systems, Geoms and Statistical Transformations for ‘ggplot2’</p>
<p>A compendium of ‘geoms’, ‘coords’ and ‘stats’ for ‘ggplot2’, including splines, 1d and 2d densities, univariate average shifted histograms and a new map coordinate system based on the ‘PROJ.4’-library.</p>
<p>The first three forays into this brave, new <code>ggplot2</code> world are <em>splines</em>! and being able to use the (much better) <code>KernSmooth::bkde</code> and <code>KernSmooth::bkde2D</code> for density plots and an initial port of the (still needing work) <code>coord_proj</code>.</p>
<p>The following functions are implemented:</p>
<ul>
<li><code>coord_proj</code> : Like <code>coord_map</code> only better 😜</li>
<li><code>geom_xspline</code> : Connect control points/observations with an X-spline</li>
<li><code>stat_xspline</code> : Connect control points/observations with an X-spline</li>
<li><code>geom_bkde</code> : Display a smooth density estimate (uses <code>KernSmooth::bkde</code>)</li>
<li><code>stat_bkde</code> : Display a smooth density estimate (uses <code>KernSmooth::bkde</code>)</li>
<li><code>geom_bkde2d</code> : Contours from a 2d density estimate. (uses <code>KernSmooth::bkde2D</code>)</li>
<li><code>stat_bkde2d</code> : Contours from a 2d density estimate. (uses <code>KernSmooth::bkde2D</code>)</li>
<li><code>stat_ash</code> : Compute and display a univariate averaged shifted histogram (polynomial kernel) (uses <code>ash::ash1</code>/<code>ash::bin1</code>)</li>
8 years ago
<li><code>scale_color_pokemon</code> :</li>
<li><code>scale_fill_pokemon</code> : discrete pokemon scales (data taken from the hard work by the <a href="http://www.pokegraphs.com/" class="uri">http://www.pokegraphs.com/</a>)</li>
</ul>
<div id="news" class="section level3">
<h3>News</h3>
<ul>
8 years ago
<li>Version 0.1.5.9000 - Pokemon discrete color scales!</li>
<li>Version 0.1.2.9000 - Fixed bug with limits not working thx to <span class="citation">@mstrimas</span></li>
<li>Version 0.1.1 - CRAN!</li>
<li>Version 0.1.0.9000 - Tweaks for ggplot2 2.0 release</li>
<li>Version 0.0.4.9000 - <code>stat_ash</code></li>
<li>Version 0.0.3.9000 - <code>coord_proj</code>! (requires my github copy of ggplot2 for now)</li>
<li>Version 0.0.2.9005 - cleanup before blog post</li>
<li>Version 0.0.2.9002 - working 2D density plots</li>
<li>Version 0.0.2.9000 initial release</li>
</ul>
</div>
<div id="installation" class="section level3">
<h3>Installation</h3>
<pre class="r"><code># you'll want to see the vignettes, trust me
install.packages(&quot;ggplot2&quot;)
8 years ago
install.packages(&quot;ggalt&quot;)
# OR: devtools::install_github(&quot;hrbrmstr/ggalt&quot;)</code></pre>
</div>
<div id="usage" class="section level3">
<h3>Usage</h3>
<pre class="r"><code>library(ggplot2)
library(gridExtra)
library(ggalt)
# current verison
packageVersion(&quot;ggalt&quot;)
8 years ago
#&gt; [1] '0.1.5.9000'
set.seed(1492)
dat &lt;- data.frame(x=c(1:10, 1:10, 1:10),
y=c(sample(15:30, 10), 2*sample(15:30, 10), 3*sample(15:30, 10)),
group=factor(c(rep(1, 10), rep(2, 10), rep(3, 10)))
)</code></pre>
</div>
<div id="splines" class="section level3">
<h3>Splines!</h3>
<pre class="r"><code>ggplot(dat, aes(x, y, group=group, color=group)) +
geom_point() +
geom_line()</code></pre>
<p><img src="data:image/png;base64,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ii5nzpwpf4WuowajRo26jq3ZFIH+CTACtH9ubIUAAggggAACCCCAAAIIIIAAAggggAACFhAgAGqBTqKKCCCAAAIIIIAAAggggAACCCCAAAIIINA/AQKg/XNjKwQQQAABBBBAAAEEEEAAAQQQQAABBBCwgAABUAt0ElVEAAEEEEAAAQQQQAABBBBAAAEEEEAAgf4JEADtnxtbIYAAAggggAACCCCAAAIIIIAAAggggIAFBAiAWqCTqCICCCCAAAIIIIAAAggggAACCCCAAAII9E+AAGj/3NgKAQQQQAABBBBAAAEEEEAAAQQQQAABBCwgQADUAp1EFRFAAAEEEEAAAQQQQAABBBBAAAEEEECgfwIEQPvnxlYIIIAAAggggAACCCCAAAIIIIAAAgggYAEBAqAW6CSqiAACCCCAAAIIIIAAAggggAACCCCAAAL9EyAA2j83tkIAAQQQQAABBBBAAAEEEEAAAQQQQAABCwgQALVAJ1FFBBBAAAEEEEAAAQQQQAABBBBAAAEEEOifAAHQ/rmxFQIIIIAAAggggAACCCCAAAIIIIAAAghYQIAAqAU6iSoigAACCCCAAAIIIIAAAggggAACCCCAQP8ECID2z42tEEAAAQQQQAABBBBAAAEEEEAAAQQQQMACAgRALdBJVBEBBBBAAAEEEEAAAQQQQAABBBBAAAEE+idAALR/bmyFAAIIIIAAAggggAACCCCAAAIIIIAAAhYQIABqgU6iiggggAACCCCAAAIIIIAAAggggAACCCDQPwECoP1zYysEEEAAAQQQQAABBBBAAAEEEEAAAQQQsIAAAVALdBJVRAABBBBAAAEEEEAAAQQQQAABBBBAAIH+CRAA7Z8bWyGAAAIIIIAAAggggAACCCCAAAIIIICABQQIgFqgk6giAggggAACCCCAAAIIIIAAAggggAACCPRPgABo/9zYCgEEEEAAAQQQQAABBBBAAAEEEEAAAQQsIEAA1AKdRBURQAABBBBAAAEEEEAAAQQQQAABBBBAoH8CBED758ZWCCCAAAIIIIAAAggggAACCCCAAAIIIGABAQKgFugkqogAAggggAACCCCAAAIIIIAAAggggAAC/RMgANo/N7ZCAAEEEEAAAQQQQAABBBBAAAEEEEAAAQsIEAC1QCdRRQQQQAABBBBAAAEEEEAAAQQQQAABBBDonwAB0P65sRUCCCCAAAIIIIAAAggggAACCCCAAAIIWECAAKgFOokqIoAAAggggAACCCCAAAIIIIAAAggggED/BAiA9s+NrRBAAAEEEEAAAQQQQAABBBBAAAEEEEDAAgJVFqgjVUQAAQQQQAABBBBAoEeBTFbk+AWvtLR7JODLyoSmlFR7cz2uzxMIIIAAAggggAACzhIgAOqs/qa1CCCAAAIIIICAbQSyKvD58e5a+WR3UNqTxQubPO6c3DSlXR5e1Cq1fgKhtulwGoIAAggggAACCPRTgABoP+HYDAEEEEAAAQQQQKB8AnrU5//8faPsOVWtKtE5yKmfW38gIPvO+OQ/3XtRGmrVAgoCCCCAAAIIIICAYwWKp8odS0DDEUAAAQQQQAABBKwm8Na20OXgp66564rqm48vRKrkV180Sq5zfPSKdXmIAAIIIIAAAgggYHcBAqB272HahwACCCCA
<pre class="r"><code>
ggplot(dat, aes(x, y, group=group, color=factor(group))) +
geom_point() +
geom_line() +
geom_smooth(se=FALSE, linetype=&quot;dashed&quot;, size=0.5)</code></pre>
<p><img src="data:image/png;base64,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
<pre class="r"><code>
ggplot(dat, aes(x, y, group=group, color=factor(group))) +
geom_point(color=&quot;black&quot;) +
geom_smooth(se=FALSE, linetype=&quot;dashed&quot;, size=0.5) +
geom_xspline(size=0.5)</code></pre>
<p><img src="data:image/png;base64,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qSgCCHRdgBGgXbfjlQgggAACCCCAAAIIIIAAAggggAACCCBgcQECoBbvIKqHAAIIIIAAAggggAACCCCAAAIIIIAAAl0XIADadTteiQACCCCAAAIIIIAAAggggAACCCCAAAIWFyAAavEOonoIIIAAAggggAACCCCAAAIIIIAAAggg0HUBAqBdt+OVCCCAAAIIIIAAAggggAACCCCAAAIIIGBxAQKgFu8gqocAAggggAACCCCAAAIIIIAAAggggAACXRcgANp1O16JAAIIIIAAAggggAACCCCAAAIIIIAAAhYXIABq8Q6ieggggAACCCCAAAIIIIAAAggggAACCCDQdQECoF2345UIIIAAAggggAACCCCAAAIIIIAAAgggYHEBAqAW7yCqhwACCCCAAAIIIIAAAggggAACCCCAAAJdFyAA2nU7XokAAggggAACCCCAAAIIIIAAAggggAACFhcgAGrxDqJ6CCCAAAIIIIAAAggggAACCCCAAAIIINB1AQKgXbfjlQgggAACCCCAAAIIIIAAAggggAACCCBgcQECoBbvIKqHAAIIIIAAAggggAACCCCAAAIIIIAAAl0XIADadTteiQACCCCAAAIIIIAAAggggAACCCCAAAIWFyAAavEOonoIIIAAAggggAACCCCAAAIIIIAAAggg0HUBAqBdt+OVCCCAAAIIIIAAAggggAACCCCAAAIIIGBxAQKgFu8gqocAAggggAACCCCAAAIIIIAAAggggAACXRcgANp1O16JAAIIIIAAAggggAACCCCAAAIIIIAAAhYXIABq8Q6ieggggAACCCCAAAIIIIAAAggggAACCCDQdQECoF2345UIIIAAAggggAACCCCAAAIIIIAAAgggYHEBAqAW7yCqhwACCCCAAAIIIIAAAggggAACCCCAAAJdFyAA2nU7XokAAggggAACCCCAAAIIIIAAAggggAACFhcgAGrxDqJ6CCCAAAIIIIAAAggggAACCCCAAAIIINB1AQKgXbfjlQgggAACCCCAAAIIIIAAAggggAACCCBgcQECoBbvIKqHAAIIIIAAAggggAACCCCAAAIIIIAAAl0XIADadTteiQACCCCAAAIIIIAAAggggAACCCCAAAIWFyAAavEOonoIIIAAAggggAACCCCAAAIIIIAAAggg0HUBAqBdt+OVCCCAAAIIIIAAAggggAACCCCAAAIIIGBxAQKgFu8gqocAAggggAACCCCAAAIIIIAAAggggAACXRcgANp1O16JAAIIIIAAAggggAACCCCAAAIIIIAAAhYXIABq8Q6ieggggAACCCCAAAIIIIAAAggggAACCCDQdQECoF2345UIIIAAAggggAACCCCAAAIIIIAAAgggYHEBAqAW7yCqhwACCCCAAAIIIIAAAggggAACCCCAAAJdFyAA2nU7XokAAggggAACCCCAAAIIIIAAAggggAACFhcgAGrxDqJ6CCCAAAIIIIAAAggggAACCCCAAAIIINB1gbyuv5RXIoAAAggggAACCGSjQDQmcvC0U4IRu7SEbdKi7oPGvc3Yp58vzI9JkUffojKkPCJlPrWTggACCCCAAAIIIICABQUIgFqwU6gSAggggAACCCBwKQWCwaC8/vrrsmrVKqmtrZU+ffrIvHnz5Kab
<pre class="r"><code>
ggplot(dat, aes(x, y, group=group, color=factor(group))) +
geom_point(color=&quot;black&quot;) +
geom_smooth(se=FALSE, linetype=&quot;dashed&quot;, size=0.5) +
geom_xspline(spline_shape=-0.4, size=0.5)</code></pre>
<p><img src="data:image/png;base64,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
<pre class="r"><code>
ggplot(dat, aes(x, y, group=group, color=factor(group))) +
geom_point(color=&quot;black&quot;) +
geom_smooth(se=FALSE, linetype=&quot;dashed&quot;, size=0.5) +
geom_xspline(spline_shape=0.4, size=0.5)</code></pre>
<p><img src="data:image/png;base64,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
<pre class="r"><code>
ggplot(dat, aes(x, y, group=group, color=factor(group))) +
geom_point(color=&quot;black&quot;) +
geom_smooth(se=FALSE, linetype=&quot;dashed&quot;, size=0.5) +
geom_xspline(spline_shape=1, size=0.5)</code></pre>
<p><img src="data:image/png;base64,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
<pre class="r"><code>
ggplot(dat, aes(x, y, group=group, color=factor(group))) +
geom_point(color=&quot;black&quot;) +
geom_smooth(se=FALSE, linetype=&quot;dashed&quot;, size=0.5) +
geom_xspline(spline_shape=0, size=0.5)</code></pre>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAYAAAD0ZtPZAAAEDWlDQ1BJQ0MgUHJvZmlsZQAAOI2NVV1oHFUUPrtzZyMkzlNsNIV0qD8NJQ2TVjShtLp/3d02bpZJNtoi6GT27s6Yyc44M7v9oU9FUHwx6psUxL+3gCAo9Q/bPrQvlQol2tQgKD60+INQ6Ium65k7M5lpurHeZe58853vnnvuuWfvBei5qliWkRQBFpquLRcy4nOHj4g9K5CEh6AXBqFXUR0rXalMAjZPC3e1W99Dwntf2dXd/p+tt0YdFSBxH2Kz5qgLiI8B8KdVy3YBevqRHz/qWh72Yui3MUDEL3q44WPXw3M+fo1pZuQs4tOIBVVTaoiXEI/MxfhGDPsxsNZfoE1q66ro5aJim3XdoLFw72H+n23BaIXzbcOnz5mfPoTvYVz7KzUl5+FRxEuqkp9G/Ajia219thzg25abkRE/BpDc3pqvphHvRFys2weqvp+krbWKIX7nhDbzLOItiM8358pTwdirqpPFnMF2xLc1WvLyOwTAibpbmvHHcvttU57y5+XqNZrLe3lE/Pq8eUj2fXKfOe3pfOjzhJYtB/yll5SDFcSDiH+hRkH25+L+sdxKEAMZahrlSX8ukqMOWy/jXW2m6M9LDBc31B9LFuv6gVKg/0Szi3KAr1kGq1GMjU/aLbnq6/lRxc4XfJ98hTargX++DbMJBSiYMIe9Ck1YAxFkKEAG3xbYaKmDDgYyFK0UGYpfoWYXG+fAPPI6tJnNwb7ClP7IyF+D+bjOtCpkhz6CFrIa/I6sFtNl8auFXGMTP34sNwI/JhkgEtmDz14ySfaRcTIBInmKPE32kxyyE2Tv+thKbEVePDfW/byMM1Kmm0XdObS7oGD/MypMXFPXrCwOtoYjyyn7BV29/MZfsVzpLDdRtuIZnbpXzvlf+ev8MvYr/Gqk4H/kV/G3csdazLuyTMPsbFhzd1UabQbjFvDRmcWJxR3zcfHkVw9GfpbJmeev9F08WW8uDkaslwX6avlWGU6NRKz0g/SHtCy9J30o/ca9zX3Kfc19zn3BXQKRO8ud477hLnAfc1/G9mrzGlrfexZ5GLdn6ZZrrEohI2wVHhZywjbhUWEy8icMCGNCUdiBlq3r+xafL549HQ5jH+an+1y+LlYBifuxAvRN/lVVVOlwlCkdVm9NOL5BE4wkQ2SMlDZU97hX86EilU/lUmkQUztTE6mx1EEPh7OmdqBtAvv8HdWpbrJS6tJj3n0CWdM6busNzRV3S9KTYhqvNiqWmuroiKgYhshMjmhTh9ptWhsF7970j/SbMrsPE1suR5z7DMC+P/Hs+y7ijrQAlhyAgccjbhjPygfeBTjzhNqy28EdkUh8C+DU9+z2v/oyeH791OncxHOs5y2AtTc7nb/f73TWPkD/qwBnjX8BoJ98VVBg/m8AAEAASURBVHgB7N0HfFvXefD/BxskAW7tae29hyXLQ962bMszjleS1k5fN2naxPmn//pt2rRNk7dJ2/dtm76tm6SJU+96ynvJtmwtW5K1994SJU6QIAYJvOfcKwCkRFESBRIXwO98PhQu7gXuPed7SAh4cM5zbHFVhIIAAggggAACCCCAAAIIIIAAAggggAACCOSggD0H20STEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABQ4AAKL8ICCCAAAIIIIAAAggggAACCCCAAAIIIJCzAgRAc7ZraRgCCCCAAAIIIIAAAggggAACCCCAAAIIEADldwABBBBAAAEEEEAAAQQQQAABBBBAAAEEclaAAGjOdi0NQwABBBBAAAEEEEAAAQQQQAABBBBAAAECoPwOIIAAAggggAACCCCAAAIIIIAAAggggEDOChAAzdmupWEIIIAAAggggAACCCCAAAIIIIAAAgggQACU3wEEEEAAAQQQQAABBBBAAAEEEEAAAQQQyFkBAqA527U0DAEEEEAAAQQQQAABBBBAAAEEEEAAAQQIgPI7gAACCCCAAAIIIIAAAggggAACCCCAAAI5K0AANGe7loYhgAACCCCAAAIIIIAAAggggAACCCCAAAFQfgcQQAABBBBAAAEEEEAAAQQQQAABBBBAIGcFCIDmbNfSMAQQQAABBBBAAAEEEEAAAQQQQAABBBAgAMrvAAIIIIAAAggggAACCCCAAAIIIIAAAgjkrIAzZ1tm0YbV1dVJc3OzRWuXuWr5/X4pKCiQqqqqzFWCK/e4QK9evcTpdEo8Hpdjx471+PW5YOYEysvLJRaLiX5NpOSHgM1mk759+xqNjUQiUl1dnR8Np5WGgO77QCAgTU1NiOSJgNvtloqKCqO1ut8bGhrypOU0U7+30+/x9Ou8fr2n5IeAz+cT/ZlOl9raWgmFQlnT8H79+mVNXakoAgh0XYARoF2345kIIIAAAggggAACCCCAAAIIIIAAAgggYHEBAqAW7yCqhwACCCCAAAIIIIAAAggggAACCCCAAAJdFyAA2nU7nokAAggggAACCCCAAAIIIIAAAggggAACFhcgAGrxDqJ6CCCAAAIIIIAAAggggAACCCCAAAIIINB1AQKgXbfjmQgggAACCCCAAAIIIIAAAggggAACCCBgcQECoBbvIKqHAAIIIIAAAggggAACCCCAAAIIIIAAAl0XIADadTueiQACCCCAAAIIIIAAAggggAACCCCAAAIWFyAAavEOonoIIIAAAggggAACCCCAAAIIIIAAAggg0HUBAqBdt+OZCCCAAAIIIIAAAggggAACCCCAAAIIIGBxAQKgFu8gqocAAggggAACCCCAAAIIIIAAAggggAACXRcgANp1O56JAAIIIIAAAggggAACCCCAAAIIIIAAAhYXIABq8Q6ieggggAACCCCAAAIIIIAAAggggAACCCDQdQECoF2345kIIIAAAggggAACCCCAAAIIIIAAAgggYHEBAqAW7yCqhwACCCCAAAIIIIAAAggggAACCCCAAAJdFyAA2nU7nokAAggggAACCCCAAAIIIIAAAggggAACFhcgAGrxDqJ6CCCAAAIIIIAAAggggAACCCCAAAIIINB1AQKgXbfjmQgggAACCCCAAAIIIIAAAggggAACCCBgcQECoBbvIKqHAAIIIIAAAggggAACCCCAAAIIIIAAAl0XIADadTueiQACCCCAAAIIIIAAAggggAACCCCAAAIWFyAAavEOonoIIIAAAggggAACCCCAAAIIIIAAAggg0HUBAqBdt+OZCCCAAAIIIIAAAggggAACCCCAAAIIIGBxAQKgFu8gqocAAggggAACCCCAAAIIIIAAAggggAACXRcgANp1O56JAAIIIIAAAggggAACCCCAAAIIIIAAAhYXIABq8Q6ieggggAACCCCAAAIIIIAAAggggAACCCDQdQECoF2345kIIIAAAggggAACCCCAAAIIIIAAAgggYHEBAqAW7yCqhwACCCCAAAIIIIAAAggggAACCCCAAAJdFyAA2nU7nokAAggggAACCCCAAAIIIIAAAggggAACFhcgAGrxDqJ6CCCAAAIIIIAAAggggAACCCCAAAIIINB1AQKgXbfjmQgggAACCCCAAAIIIIAAAggggAACCCBgcQECoBbvIKqHAAIIIIAAAggggAACCCCAAAIIIIAAAl0XIADadTueiQACCCCAAAIIIIAAAggggAACCCCAAAIWFyAAavEOonoIIIAAAggggAACCCCAAAIIIIAAAggg0HUBAqBdt+OZCCCAAAIIIIAAAggggAACCCCAAAIIIGBxAQKgFu8gqocAAggggAACCCCAAAIIIIAAAggggAACXRcgANp1O56JAAIIIIAAAggggAACCCCAAAIIIIAAAhYXIABq8Q6ieggggAACCCCAAAIIIIAAAggggAACCCDQdQFn15/KMxFAAAEEEEAAAQRyTaApbJP6oEOaIzYJRe3GbbO6Dan7zVFzX2tMxO+NSXFBTK4YE8w1AtqDAAIIIIAAAgggkGMCBEBzrENpDgIIIIAAAgggcC6BSCQi7777rixfvlxqamqksrJS5s2bJ9dff718
<pre class="r"><code>
ggplot(dat, aes(x, y, group=group, color=factor(group))) +
geom_point(color=&quot;black&quot;) +
geom_smooth(se=FALSE, linetype=&quot;dashed&quot;, size=0.5) +
geom_xspline(spline_shape=-1, size=0.5)</code></pre>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAYAAAD0ZtPZAAAEDWlDQ1BJQ0MgUHJvZmlsZQAAOI2NVV1oHFUUPrtzZyMkzlNsNIV0qD8NJQ2TVjShtLp/3d02bpZJNtoi6GT27s6Yyc44M7v9oU9FUHwx6psUxL+3gCAo9Q/bPrQvlQol2tQgKD60+INQ6Ium65k7M5lpurHeZe58853vnnvuuWfvBei5qliWkRQBFpquLRcy4nOHj4g9K5CEh6AXBqFXUR0rXalMAjZPC3e1W99Dwntf2dXd/p+tt0YdFSBxH2Kz5qgLiI8B8KdVy3YBevqRHz/qWh72Yui3MUDEL3q44WPXw3M+fo1pZuQs4tOIBVVTaoiXEI/MxfhGDPsxsNZfoE1q66ro5aJim3XdoLFw72H+n23BaIXzbcOnz5mfPoTvYVz7KzUl5+FRxEuqkp9G/Ajia219thzg25abkRE/BpDc3pqvphHvRFys2weqvp+krbWKIX7nhDbzLOItiM8358pTwdirqpPFnMF2xLc1WvLyOwTAibpbmvHHcvttU57y5+XqNZrLe3lE/Pq8eUj2fXKfOe3pfOjzhJYtB/yll5SDFcSDiH+hRkH25+L+sdxKEAMZahrlSX8ukqMOWy/jXW2m6M9LDBc31B9LFuv6gVKg/0Szi3KAr1kGq1GMjU/aLbnq6/lRxc4XfJ98hTargX++DbMJBSiYMIe9Ck1YAxFkKEAG3xbYaKmDDgYyFK0UGYpfoWYXG+fAPPI6tJnNwb7ClP7IyF+D+bjOtCpkhz6CFrIa/I6sFtNl8auFXGMTP34sNwI/JhkgEtmDz14ySfaRcTIBInmKPE32kxyyE2Tv+thKbEVePDfW/byMM1Kmm0XdObS7oGD/MypMXFPXrCwOtoYjyyn7BV29/MZfsVzpLDdRtuIZnbpXzvlf+ev8MvYr/Gqk4H/kV/G3csdazLuyTMPsbFhzd1UabQbjFvDRmcWJxR3zcfHkVw9GfpbJmeev9F08WW8uDkaslwX6avlWGU6NRKz0g/SHtCy9J30o/ca9zX3Kfc19zn3BXQKRO8ud477hLnAfc1/G9mrzGlrfexZ5GLdn6ZZrrEohI2wVHhZywjbhUWEy8icMCGNCUdiBlq3r+xafL549HQ5jH+an+1y+LlYBifuxAvRN/lVVVOlwlCkdVm9NOL5BE4wkQ2SMlDZU97hX86EilU/lUmkQUztTE6mx1EEPh7OmdqBtAvv8HdWpbrJS6tJj3n0CWdM6busNzRV3S9KTYhqvNiqWmuroiKgYhshMjmhTh9ptWhsF7970j/SbMrsPE1suR5z7DMC+P/Hs+y7ijrQAlhyAgccjbhjPygfeBTjzhNqy28EdkUh8C+DU9+z2v/oyeH791OncxHOs5y2AtTc7nb/f73TWPkD/qwBnjX8BoJ98VVBg/m8AAEAASURBVHgB7N0HnFvVnejxv9rMSNOLe8EVd9wbNi6YDqaFEpIQSCB9ySbZ9zbb3rbkJVmS7MumLCRsSCMJhG6KKTY2rhhX3HvD3dM1TWWkd869ljRFGo/HU66k3/l8xiNd3XLO92hk6a9zzt8WVkUoCCCAAAIIIIAAAggggAACCCCAAAIIIIBACgrYU7BNNAkBBBBAAAEEEEAAAQQQQAABBBBAAAEEEDAECIDyREAAAQQQQAABBBBAAAEEEEAAAQQQQACBlBUgAJqyXUvDEEAAAQQQQAABBBBAAAEEEEAAAQQQQIAAKM8BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEhZAQKgKdu1NAwBBBBAAAEEEEAAAQQQQAABBBBAAAEECIDyHEAAAQQQQAABBBBAAAEEEEAAAQQQQACBlBUgAJqyXUvDEEAAAQQQQAABBBBAAAEEEEAAAQQQQIAAKM8BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEhZAQKgKdu1NAwBBBBAAAEEEEAAAQQQQAABBBBAAAEECIDyHEAAAQQQQAABBBBAAAEEEEAAAQQQQACBlBUgAJqyXUvDEEAAAQQQQAABBBBAAAEEEEAAAQQQQIAAKM8BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEhZAQKgKdu1NAwBBBBAAAEEEEAAAQQQQAABBBBAAAEECIDyHEAAAQQQQAABBBBAAAEEEEAAAQQQQACBlBVwpmzLLNqwyspKqa+vt2jteq5aubm54na75dy5cz1XCa7c7QK9evUSp9Mp4XBYzpw50+3X54I9J1BUVCShUEj0ayIlPQRsNpv07dvXaKzf75eysrL0aDitNAR033u9XqmtrUUkTQQyMjKkuLjYaK3u9+rq6jRpOc3U7+30ezz9Oq9f7ynpIZCTkyP6M50uFRUV0tDQkDQN79evX9LUlYoigEDHBRgB2nE7jkQAAQQQQAABBBBAAAEEEEAAAQQQQAABiwsQALV4B1E9BBBAAAEEEEAAAQQQQAABBBBAAAEEEOi4AAHQjttxJAIIIIAAAggggAACCCCAAAIIIIAAAghYXIAAqMU7iOohgAACCCCAAAIIIIAAAggggAACCCCAQMcFCIB23I4jEUAAAQQQQAABBBBAAAEEEEAAAQQQQMDiAgRALd5BVA8BBBBAAAEEEEAAAQQQQAABBBBAAAEEOi5AALTjdhyJAAIIIIAAAggggAACCCCAAAIIIIAAAhYXIABq8Q6ieggggAACCCCAAAIIIIAAAggggAACCCDQcQECoB2340gEEEAAAQQQQAABBBBAAAEEEEAAAQQQsLgAAVCLdxDVQwABBBBAAAEEEEAAAQQQQAABBBBAAIGOCxAA7bgdRyKAAAIIIIAAAggggAACCCCAAAIIIICAxQUIgFq8g6geAggggAACCCCAAAIIIIAAAggggAACCHRcgABox+04EgEEEEAAAQQQQAABBBBAAAEEEEAAAQQsLkAA1OIdRPUQQAABBBBAAAEEEEAAAQQQQAABBBBAoOMCBEA7bseRCCCAAAIIIIAAAggggAACCCCAAAIIIGBxAQKgFu8gqocAAggggAACCCCAAAIIIIAAAggggAACHRcgANpxO45EAAEEEEAAAQQQQAABBBBAAAEEEEAAAYsLEAC1eAdRPQQQQAABBBBAAAEEEEAAAQQQQAABBBDouAAB0I7bcSQCCCCAAAIIIIAAAggggAACCCCAAAIIWFyAAKjFO4jqIYAAAggggAACCCCAAAIIIIAAAggggEDHBQiAdtyOIxFAAAEEEEAAAQQQQAABBBBAAAEEEEDA4gIEQC3eQVQPAQQQQAABBBBAAAEEEEAAAQQQQAABBDouQAC043YciQACCCCAAAIIIIAAAggggAACCCCAAAIWFyAAavEOonoIIIAAAggggAACCCCAAAIIIIAAAggg0HEBAqAdt+NIBBBAAAEEEEAAAQQQQAABBBBAAAEEELC4AAFQi3cQ1UMAAQQQQAABBBBAAAEEEEAAAQQQQACBjgsQAO24HUcigAACCCCAAAIIIIAAAggggAACCCCAgMUFCIBavIOoHgIIIIAAAggggAACCCCAAAIIIIAAAgh0XIAAaMftOBIBBBBAAAEEEEAAAQQQQAABBBBAAAEELC5AANTiHUT1EEAAAQQQQAABBBBAAAEEEEAAAQQQQKDjAgRAO27HkQgggAACCCCAAAIIIIAAAggggAACCCBgcQECoBbvIKqHAAIIIIAAAggggAACCCCAAAIIIIAAAh0XIADacTuORAABBBBAAAEEEEAAAQQQQAABBBBAAAGLCxAAtXgHUT0EEEAAAQQQQAABBBBAAAEEEEAAAQQQ6LgAAdCO23EkAggggAACCCCAAAIIIIAAAggggAACCFhcgACoxTuI6iGAAAIIIIAAAggggAACCCCAAAIIIIBAxwWcHT+UIxFAAAEEEEAAAQTSRaCi1i6r93mkIWCXxpBIblZIct0hyTN+GiVP3de3M13hdCGhnQgggAACCCCAAAJJIkAANEk6imoigAACCCCAAAKdJVBeWSN/eHmD7Nz4tpSfPSS9evWSuXPnyt133y0ejyfuZWoa7PLW9ty4
<div id="alternate-better-density-plots" class="section level4">
<h4>Alternate (better) density plots</h4>
<pre class="r"><code># bkde
data(geyser, package=&quot;MASS&quot;)
ggplot(geyser, aes(x=duration)) +
stat_bkde(alpha=1/2)
#&gt; Bandwidth not specified. Using '0.14', via KernSmooth::dpik.</code></pre>
<p><img src="data:image/png;base64,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mp6ezgKjf16O0lgjQEdRcwwBAgQIECBAgAABAgQIECBAgAABAlkISIBmESaNJECAAAECBAgQIECAAAECBAgQIEBgFAEJ0FHUHEOAAAECBAgQIECAAAECBAgQIECAQBYCEqBZhEkjCRAgQIAAAQIECBAgQIAAAQIECBAYRUACdBQ1xxAgQIAAAQIECBAgQIAAAQIECBAgkIWABGgWYdJIAgQIECBAgAABAgQIECBAgAABAgRGEZAAHUXNMQQIECBAgAABAgQIECBAgAABAgQIZCEgAZpFmDSSAAECBAgQIECAAAECBAgQIECAAIFRBCRAR1FzDAECBAgQIECAAAECBAgQIECAAAECWQhIgGYRJo0kQIAAAQIECBAgQIAAAQIECBAgQGAUAQnQUdQcQ4AAAQIECBAgQIAAAQIECBAgQIBAFgISoFmESSMJECBAgAABAgQIECBAgAABAgQIEBhFQAJ0FDXHECBAgAABAgQIECBAgAABAgQIECCQhYAEaBZh0kgCBAgQIECAAAECBAgQIECAAAECBEYRkAAdRc0xBAgQIECAAAECBAgQIECAAAECBAhkISABmkWYNJIAAQIECBAgQIAAAQIECBAgQIAAgVEEJEBHUXMMAQIECBAgQIAAAQIECBAgQIAAAQJZCEiAZhEmjSRAgAABAgQIECBAgAABAgQIECBAYBQBCdBR1BxDgAABAgQIECBAgAABAgQIECBAgEAWAhKgWYRJIwkQIECAAAECBAgQIECAAAECBAgQGEVAAnQUNccQIECAAAECBAgQIECAAAECBAgQIJCFgARoFmHSSAIECBAgQIAAAQIECBAgQIAAAQIERhGQAB1FzTEECBAgQIAAAQIECBAgQIAAAQIECGQhIAGaRZg0kgABAgQIECBAgAABAgQIECBAgACBUQQkQEdRcwwBAgQIECBAgAABAgQIECBAgAABAlkISIBmESaNJECAAAECBAgQIECAAAECBAgQIEBgFAEJ0FHUHEOAAAECBAgQIECAAAECBAgQIECAQBYCEqBZhEkjCRAgQIAAAQIECBAgQIAAAQIECBAYRUACdBQ1xxAgQIAAAQIECBAgQIAAAQIECBAgkIWABGgWYdJIAgQIECBAgAABAgQIECBAgAABAgRGEZAAHUXNMQQIECBAgAABAgQIECBAgAABAgQIZCEgAZpFmDSSAAECBAgQIECAAAECBAgQIECAAIFRBCRAR1FzDAECBAgQIECAAAECBAgQIECAAAECWQhIgGYRJo0kQIAAAQIECBAgQIAAAQIECBAgQGAUAQnQUdQcQ4AAAQIECBAgQIAAAQIECBAgQIBAFgISoFmESSMJECBAgAABAgQIECBAgAABAgQIEBhFQAJ0FDXHECBAgAABAgQIECBAgAABAgQIECCQhYAEaBZh0kgCBAgQIECAAAECBAi0R2Bubi6dOXOmPR3SEwIECBBotMDGRrdO4wgQIECAAAECBAgQIECgNQJPP/10+upXv5rOnj2bLrvssnTPPfekV73qVa3pn44QIECAQDMFjABtZly0igABAgQIECBAgAABAq0S2LFjR/rSl77US35GxxYWFtJf/MVfpE996lNpZmamVX3VGQIECBBoloAEaLPioTUECBAgQIAAAQIECBBoncDExET6
<pre class="r"><code>
ggplot(geyser, aes(x=duration)) +
geom_bkde(alpha=1/2)
#&gt; Bandwidth not specified. Using '0.14', via KernSmooth::dpik.</code></pre>
<p><img src="data:image/png;base64,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mp6ezgKjf16O0lgjQEdRcwwBAgQIECBAgAABAgQIECBAgAABAlkISIBmESaNJECAAAECBAgQIECAAAECBAgQIEBgFAEJ0FHUHEOAAAECBAgQIECAAAECBAgQIECAQBYCEqBZhEkjCRAgQIAAAQIECBAgQIAAAQIECBAYRUACdBQ1xxAgQIAAAQIECBAgQIAAAQIECBAgkIWABGgWYdJIAgQIECBAgAABAgQIECBAgAABAgRGEZAAHUXNMQQIECBAgAABAgQIECBAgAABAgQIZCEgAZpFmDSSAAECBAgQIECAAAECBAgQIECAAIFRBCRAR1FzDAECBAgQIECAAAECBAgQIECAAAECWQhIgGYRJo0kQIAAAQIECBAgQIAAAQIECBAgQGAUAQnQUdQcQ4AAAQIECBAgQIAAAQIECBAgQIBAFgISoFmESSMJECBAgAABAgQIECBAgAABAgQIEBhFQAJ0FDXHECBAgAABAgQIECBAgAABAgQIECCQhYAEaBZh0kgCBAgQIECAAAECBAgQIECAAAECBEYRkAAdRc0xBAgQIECAAAECBAgQIECAAAECBAhkISABmkWYNJIAAQIECBAgQIAAAQIECBAgQIAAgVEEJEBHUXMMAQIECBAgQIAAAQIECBAgQIAAAQJZCEiAZhEmjSRAgAABAgQIECBAgAABAgQIECBAYBQBCdBR1BxDgAABAgQIECBAgAABAgQIECBAgEAWAhKgWYRJIwkQIECAAAECBAgQIECAAAECBAgQGEVAAnQUNccQIECAAAECBAgQIECAAAECBAgQIJCFgARoFmHSSAIECBAgQIAAAQIECBAgQIAAAQIERhGQAB1FzTEECBAgQIAAAQIECBAgQIAAAQIECGQhIAGaRZg0kgABAgQIECBAgAABAgQIECBAgACBUQQkQEdRcwwBAgQIECBAgAABAgQIECBAgAABAlkISIBmESaNJECAAAECBAgQIECAAAECBAgQIEBgFAEJ0FHUHEOAAAECBAgQIECAAAECBAgQIECAQBYCEqBZhEkjCRAgQIAAAQIECBAgQIAAAQIECBAYRUACdBQ1xxAgQIAAAQIECBAgQIAAAQIECBAgkIWABGgWYdJIAgQIECBAgAABAgQIECBAgAABAgRGEZAAHUXNMQQIECBAgAABAgQIECBAgAABAgQIZCEgAZpFmDSSAAECBAgQIECAAAECBAgQIECAAIFRBCRAR1FzDAECBAgQIECAAAECBAgQIECAAAECWQhIgGYRJo0kQIAAAQIECBAgQIAAAQIECBAgQGAUAQnQUdQcQ4AAAQIECBAgQIAAAQIECBAgQIBAFgISoFmESSMJECBAgAABAgQIECBAgAABAgQIEBhFQAJ0FDXHECBAgAABAgQIECBAgAABAgQIECCQhYAEaBZh0kgCBAgQIECAAAECBAi0R2Bubi6dOXOmPR3SEwIECBBotMDGRrdO4wgQIECAAAECBAgQIECgNQJPP/10+upXv5rOnj2bLrvssnTPPfekV73qVa3pn44QIECAQDMFjABtZly0igABAgQIECBAgAABAq0S2LFjR/rSl77US35GxxYWFtJf/MVfpE996lNpZmamVX3VGQIECBBoloAEaLPioTUECBAgQIAAAQIECBBoncDExET6
<pre class="r"><code>
ggplot(geyser, aes(x=duration)) +
stat_bkde(bandwidth=0.25)</code></pre>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAYAAAD0ZtPZAAAEDWlDQ1BJQ0MgUHJvZmlsZQAAOI2NVV1oHFUUPrtzZyMkzlNsNIV0qD8NJQ2TVjShtLp/3d02bpZJNtoi6GT27s6Yyc44M7v9oU9FUHwx6psUxL+3gCAo9Q/bPrQvlQol2tQgKD60+INQ6Ium65k7M5lpurHeZe58853vnnvuuWfvBei5qliWkRQBFpquLRcy4nOHj4g9K5CEh6AXBqFXUR0rXalMAjZPC3e1W99Dwntf2dXd/p+tt0YdFSBxH2Kz5qgLiI8B8KdVy3YBevqRHz/qWh72Yui3MUDEL3q44WPXw3M+fo1pZuQs4tOIBVVTaoiXEI/MxfhGDPsxsNZfoE1q66ro5aJim3XdoLFw72H+n23BaIXzbcOnz5mfPoTvYVz7KzUl5+FRxEuqkp9G/Ajia219thzg25abkRE/BpDc3pqvphHvRFys2weqvp+krbWKIX7nhDbzLOItiM8358pTwdirqpPFnMF2xLc1WvLyOwTAibpbmvHHcvttU57y5+XqNZrLe3lE/Pq8eUj2fXKfOe3pfOjzhJYtB/yll5SDFcSDiH+hRkH25+L+sdxKEAMZahrlSX8ukqMOWy/jXW2m6M9LDBc31B9LFuv6gVKg/0Szi3KAr1kGq1GMjU/aLbnq6/lRxc4XfJ98hTargX++DbMJBSiYMIe9Ck1YAxFkKEAG3xbYaKmDDgYyFK0UGYpfoWYXG+fAPPI6tJnNwb7ClP7IyF+D+bjOtCpkhz6CFrIa/I6sFtNl8auFXGMTP34sNwI/JhkgEtmDz14ySfaRcTIBInmKPE32kxyyE2Tv+thKbEVePDfW/byMM1Kmm0XdObS7oGD/MypMXFPXrCwOtoYjyyn7BV29/MZfsVzpLDdRtuIZnbpXzvlf+ev8MvYr/Gqk4H/kV/G3csdazLuyTMPsbFhzd1UabQbjFvDRmcWJxR3zcfHkVw9GfpbJmeev9F08WW8uDkaslwX6avlWGU6NRKz0g/SHtCy9J30o/ca9zX3Kfc19zn3BXQKRO8ud477hLnAfc1/G9mrzGlrfexZ5GLdn6ZZrrEohI2wVHhZywjbhUWEy8icMCGNCUdiBlq3r+xafL549HQ5jH+an+1y+LlYBifuxAvRN/lVVVOlwlCkdVm9NOL5BE4wkQ2SMlDZU97hX86EilU/lUmkQUztTE6mx1EEPh7OmdqBtAvv8HdWpbrJS6tJj3n0CWdM6busNzRV3S9KTYhqvNiqWmuroiKgYhshMjmhTh9ptWhsF7970j/SbMrsPE1suR5z7DMC+P/Hs+y7ijrQAlhyAgccjbhjPygfeBTjzhNqy28EdkUh8C+DU9+z2v/oyeH791OncxHOs5y2AtTc7nb/f73TWPkD/qwBnjX8BoJ98VVBg/m8AAEAASURBVHgB7N0JkF1XeSDgY2NsY5vVMdgxlEmIQzFJEahKYYakzEzITJGaQBLiJBUmlZDMZKWYwFQNITA4E7NkJjCAPWGvkBDHu7HxbsvabUleJCRr363WvrWkVku9qZfhPPzklvRa/d7r++6799zvVqn6vbuce/7vf2q1/j73nHMmfrgFGwECBAgQIECAAAECBAgQIECAAAECBBIUODfBmIREgAABAgQIECBAgAABAgQIECBAgACBmoACqA8CAQIECBAgQIAAAQIECBAgQIAAAQLJCiiAJptagREgQIAAAQIECBAgQIAAAQIECBAgoADqM0CAAAECBAgQIECAAAECBAgQIECAQLICCqDJplZgBAgQIECAAAECBAgQIECAAAECBAgogPoMECBAgAABAgQIECBAgAABAgQIECCQrIACaLKpFRgBAgQIECBAgAABAgQIECBAgAABAgqgPgMECBAgQIAAAQIECBAgQIAAAQIECCQroACabGoFRoAAAQIECBAgQIAAAQIECBAgQIDAeakTDA8Ph7vvvjssXbo0HD58OFx99dXhbW97W3jve98bXvKSl7Qcfmzj/vvvDxs2bAi7du0Kl19+eXjnO98Z3ve+94Xzzkues2UvFxAgQIAAAQIECBAgQIAAAQIECBDopsA5Ez/cutmBTt77yJEj4S/+4i/Cjh07ard5zWteEw4dOlR7fe2114a/+Zu/Ceeff37TXVizZk349Kc/HQ4cOBDOOeeccOmll4aDBw/Wrn/LW94S/t//+3/hggsuaLo9JxIgQIAAAQIECBAgQIAAAQIECBAg0FmBpB+B/8xnPlMrfl5zzTXhwQcfDPfdd1+4/fbbw5ve9KawcOHCcNNNNzWte/To0fCxj32sVvz8nd/5nVpb9957b/jXf/3XcNVVV4V169aFr3/9602350QCBAgQIECAAAECBAgQIECAAAECBDovkGwBdO3ateGZZ54JL3vZy8JnP/vZ8MpXvrKmeeWVV4YvfelLtcffH3nkkdDf39+U8ve+970wODgYYjH1wx/+cHj1q19duy4WP//sz/6s9nrWrFlhbGysqfacRIAAAQIECBAgQIAAAQIECBAgQIBA5wWSLYDOnz+/pvfud787XHjhhadIxkfh3/GOd4SRkZEQi6DTbUNDQ7V5RF/60peGT33qU7XH3ydf8653vSv85V/+Zfhv/+2/hRMnTkw+5DUBAgQIECBAgAABAgQIECBAgAABAl0USHbVnjhfZ9ziiM1GWyyALlmyJKxcuTL89m//dqNTTu7btGlTiI/Ax8WT6iM/Tx784Ytzzz03XHfddZN3tfV6z549bV3nopkJxMWrLrvsslojcZRvnDvWlp5A/EVI/Pu7b9++MD4+nl6AIgqvfe1ra6P7Y35jnm1pClxxxRW179Px+7UtPYFXvOIV4eKLL64F1tvbW/tldXpRiigORojLEMTFRW3pCcQ1EWKO43bs2LGmn7hLTyLtiC666KIQv2fv3bs37UArHF38mStuo6OjtakAK0yRbOhxYfD4f6i4Vk5cQLwMW/1z2U5fky2AxhXa4/aqV72qoUt9f32BpIYnvbCzvtDRT/3UT9V+WHv44Ydrq8pv3LgxvP71r68VWX/913+9Vgg9WzuOESBAgAABAgQIECBAgAABAgQIECCQr0CyBdDjx4/XJOuFztNZ42+r4lY/7/Tjk9/v37+/9jaOSIgLKz3++OO1x+DjyM/t27eHxYsXh/jI/f/+3/87xN+ETbXFOUJvvPHGhofjHKXf/e53Gx6zMz+B+BvrH/uxH8vvhu6Um0D8+xq3Sy+9tPaLjNxu7Ea5CdRzfM455/h7nJt6d2708pe//OQowe70wF07JVD/exzbjz8bxVGCtvQE4oiTuPmZK73cxojiv8P1La7HEH++tqUnUP9+7e9xerk9PaL4PVueT1dJ4339+3Wsj1XhZ64kC6Dx8cc4b2fc4n+SGm2XXHJJbXczw3wPHDhQO/euu+6qfSj+x//4H+GXf/mXQ5wT9Nlnnw1///d/H5YvXx6+9a1vhY9+9KONblfb19fXFzZv3tzweHw0N7Zn665A/Ie8/o95d3vi7p0SiFMe2NIWiP+Q+36ado7jD+L1AkrakVY7Ot+v08+/n7nSz7Hv1+nn2M9c6efYz9bp57gqP3MluQhS/GEq/rYxblMVOOv7zz///Gk/zfWFjQYGBsJ//+//Pbz//e+vjfSM3+zjAkg33HBDrY177rnHvHPTajqBAAECBAgQIECAAAECBAgQIECAQH4CyQ6FikO04/ye/f39DTXr++sT7Tc86YWd9QVy4mjS9773vWec+ta3vjXE+UHj6M7453Wve90Z58QdcaGk3/iN32h4LP5WxSJIDWk6vtMiSB0nLsQNLIJUiDR0tBMWQeoob2EatwhSYVLRkY5YBKkjrIVr1CJIhUtJph2yCFKmnIVtzCJIhU1NZh2rLzZjEaTMSAvXUBylX6VFkJIcARo/VfU5KuqFztM/aXFV97g1WtX99HPrBdD6N4DTj8f3V155ZW332VbBi0XOWGxr9MejfI1U7SNAgAABAgQIECBAgAABAgQIECAwM4FkC6Cxih23rVu3NhSq73/L
<pre class="r"><code>
ggplot(geyser, aes(x=duration)) +
geom_bkde(bandwidth=0.25)</code></pre>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAYAAAD0ZtPZAAAEDWlDQ1BJQ0MgUHJvZmlsZQAAOI2NVV1oHFUUPrtzZyMkzlNsNIV0qD8NJQ2TVjShtLp/3d02bpZJNtoi6GT27s6Yyc44M7v9oU9FUHwx6psUxL+3gCAo9Q/bPrQvlQol2tQgKD60+INQ6Ium65k7M5lpurHeZe58853vnnvuuWfvBei5qliWkRQBFpquLRcy4nOHj4g9K5CEh6AXBqFXUR0rXalMAjZPC3e1W99Dwntf2dXd/p+tt0YdFSBxH2Kz5qgLiI8B8KdVy3YBevqRHz/qWh72Yui3MUDEL3q44WPXw3M+fo1pZuQs4tOIBVVTaoiXEI/MxfhGDPsxsNZfoE1q66ro5aJim3XdoLFw72H+n23BaIXzbcOnz5mfPoTvYVz7KzUl5+FRxEuqkp9G/Ajia219thzg25abkRE/BpDc3pqvphHvRFys2weqvp+krbWKIX7nhDbzLOItiM8358pTwdirqpPFnMF2xLc1WvLyOwTAibpbmvHHcvttU57y5+XqNZrLe3lE/Pq8eUj2fXKfOe3pfOjzhJYtB/yll5SDFcSDiH+hRkH25+L+sdxKEAMZahrlSX8ukqMOWy/jXW2m6M9LDBc31B9LFuv6gVKg/0Szi3KAr1kGq1GMjU/aLbnq6/lRxc4XfJ98hTargX++DbMJBSiYMIe9Ck1YAxFkKEAG3xbYaKmDDgYyFK0UGYpfoWYXG+fAPPI6tJnNwb7ClP7IyF+D+bjOtCpkhz6CFrIa/I6sFtNl8auFXGMTP34sNwI/JhkgEtmDz14ySfaRcTIBInmKPE32kxyyE2Tv+thKbEVePDfW/byMM1Kmm0XdObS7oGD/MypMXFPXrCwOtoYjyyn7BV29/MZfsVzpLDdRtuIZnbpXzvlf+ev8MvYr/Gqk4H/kV/G3csdazLuyTMPsbFhzd1UabQbjFvDRmcWJxR3zcfHkVw9GfpbJmeev9F08WW8uDkaslwX6avlWGU6NRKz0g/SHtCy9J30o/ca9zX3Kfc19zn3BXQKRO8ud477hLnAfc1/G9mrzGlrfexZ5GLdn6ZZrrEohI2wVHhZywjbhUWEy8icMCGNCUdiBlq3r+xafL549HQ5jH+an+1y+LlYBifuxAvRN/lVVVOlwlCkdVm9NOL5BE4wkQ2SMlDZU97hX86EilU/lUmkQUztTE6mx1EEPh7OmdqBtAvv8HdWpbrJS6tJj3n0CWdM6busNzRV3S9KTYhqvNiqWmuroiKgYhshMjmhTh9ptWhsF7970j/SbMrsPE1suR5z7DMC+P/Hs+y7ijrQAlhyAgccjbhjPygfeBTjzhNqy28EdkUh8C+DU9+z2v/oyeH791OncxHOs5y2AtTc7nb/f73TWPkD/qwBnjX8BoJ98VVBg/m8AAEAASURBVHgB7N0JkF1XeSDgY2NsY5vVMdgxlEmIQzFJEahKYYakzEzITJGaQBLiJBUmlZDMZKWYwFQNITA4E7NkJjCAPWGvkBDHu7HxbsvabUleJCRr363WvrWkVku9qZfhPPzklvRa/d7r++6799zvVqn6vbuce/7vf2q1/j73nHMmfrgFGwECBAgQIECAAAECBAgQIECAAAECBBIUODfBmIREgAABAgQIECBAgAABAgQIECBAgACBmoACqA8CAQIECBAgQIAAAQIECBAgQIAAAQLJCiiAJptagREgQIAAAQIECBAgQIAAAQIECBAgoADqM0CAAAECBAgQIECAAAECBAgQIECAQLICCqDJplZgBAgQIECAAAECBAgQIECAAAECBAgogPoMECBAgAABAgQIECBAgAABAgQIECCQrIACaLKpFRgBAgQIECBAgAABAgQIECBAgAABAgqgPgMECBAgQIAAAQIECBAgQIAAAQIECCQroACabGoFRoAAAQIECBAgQIAAAQIECBAgQIDAeakTDA8Ph7vvvjssXbo0HD58OFx99dXhbW97W3jve98bXvKSl7Qcfmzj/vvvDxs2bAi7du0Kl19+eXjnO98Z3ve+94Xzzkues2UvFxAgQIAAAQIECBAgQIAAAQIECBDopsA5Ez/cutmBTt77yJEj4S/+4i/Cjh07ard5zWteEw4dOlR7fe2114a/+Zu/Ceeff37TXVizZk349Kc/HQ4cOBDOOeeccOmll4aDBw/Wrn/LW94S/t//+3/hggsuaLo9JxIgQIAAAQIECBAgQIAAAQIECBAg0FmBpB+B/8xnPlMrfl5zzTXhwQcfDPfdd1+4/fbbw5ve9KawcOHCcNNNNzWte/To0fCxj32sVvz8nd/5nVpb9957b/jXf/3XcNVVV4V169aFr3/9602350QCBAgQIECAAAECBAgQIECAAAECBDovkGwBdO3ateGZZ54JL3vZy8JnP/vZ8MpXvrKmeeWVV4YvfelLtcffH3nkkdDf39+U8ve+970wODgYYjH1wx/+cHj1q19duy4WP//sz/6s9nrWrFlhbGysqfacRIAAAQIECBAgQIAAAQIECBAgQIBA5wWSLYDOnz+/pvfud787XHjhhadIxkfh3/GOd4SRkZEQi6DTbUNDQ7V5RF/60peGT33qU7XH3ydf8653vSv85V/+Zfhv/+2/hRMnTkw+5DUBAgQIECBAgAABAgQIECBAgAABAl0USHbVnjhfZ9ziiM1GWyyALlmyJKxcuTL89m//dqNTTu7btGlTiI/Ax8WT6iM/Tx784Ytzzz03XHfddZN3tfV6z549bV3nopkJxMWrLrvsslojcZRvnDvWlp5A/EVI/Pu7b9++MD4+nl6AIgqvfe1ra6P7Y35jnm1pClxxxRW179Px+7UtPYFXvOIV4eKLL64F1tvbW/tldXpRiigORojLEMTFRW3pCcQ1EWKO43bs2LGmn7hLTyLtiC666KIQv2fv3bs37UArHF38mStuo6OjtakAK0yRbOhxYfD4f6i4Vk5cQLwMW/1z2U5fky2AxhXa4/aqV72qoUt9f32BpIYnvbCzvtDRT/3UT9V+WHv44Ydrq8pv3LgxvP71r68VWX/913+9Vgg9WzuOESBAgAABAgQIECBAgAABAgQIECCQr0CyBdDjx4/XJOuFztNZ42+r4lY/7/Tjk9/v37+/9jaOSIgLKz3++OO1x+DjyM/t27eHxYsXh/jI/f/+3/87xN+ETbXFOUJvvPHGhofjHKXf/e53Gx6zMz+B+BvrH/uxH8vvhu6Um0D8+xq3Sy+9tPaLjNxu7Ea5CdRzfM455/h7nJt6d2708pe//OQowe70wF07JVD/exzbjz8bxVGCtvQE4oiTuPmZK73cxojiv8P1La7HEH++tqUnUP9+7e9xerk9PaL4PVueT1dJ4339+3Wsj1XhZ64kC6Dx8cc4b2fc4n+SGm2XXHJJbXczw3wPHDhQO/euu+6qfSj+x//4H+GXf/mXQ5wT9Nlnnw1///d/H5YvXx6+9a1vhY9+9KONblfb19fXFzZv3tzweHw0N7Zn665A/Ie8/o95d3vi7p0SiFMe2NIWiP+Q+36ado7jD+L1AkrakVY7Ot+v08+/n7nSz7Hv1+nn2M9c6efYz9bp57gqP3MluQhS/GEq/rYxblMVOOv7zz///Gk/zfWFjQYGBsJ//+//Pbz//e+vjfSM3+zjAkg33HBDrY177rnHvHPTajqBAAECBAgQIECAAAECBAgQIECAQH4CyQ6FikO04/ye/f39DTXr++sT7Tc86YWd9QVy4mjS9773vWec+ta3vjXE+UHj6M7453Wve90Z58QdcaGk3/iN32h4LP5WxSJIDWk6vtMiSB0nLsQNLIJUiDR0tBMWQeoob2EatwhSYVLRkY5YBKkjrIVr1CJIhUtJph2yCFKmnIVtzCJIhU1NZh2rLzZjEaTMSAvXUBylX6VFkJIcARo/VfU5KuqFztM/aXFV97g1WtX99HPrBdD6N4DTj8f3V155ZW332VbBi0XOWGxr9MejfI1U7SNAgAABAgQIECBAgAABAgQIECAwM4FkC6Cxih23rVu3NhSq73/L
<pre class="r"><code>
set.seed(1492)
dat &lt;- data.frame(cond = factor(rep(c(&quot;A&quot;,&quot;B&quot;), each=200)),
rating = c(rnorm(200),rnorm(200, mean=.8)))
ggplot(dat, aes(x=rating, color=cond)) + geom_bkde(fill=&quot;#00000000&quot;)
#&gt; Bandwidth not specified. Using '0.36', via KernSmooth::dpik.
#&gt; Bandwidth not specified. Using '0.31', via KernSmooth::dpik.</code></pre>
<p><img src="data:image/png;base64,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
<pre class="r"><code>
ggplot(dat, aes(x=rating, fill=cond)) + geom_bkde(alpha=0.3)
#&gt; Bandwidth not specified. Using '0.36', via KernSmooth::dpik.
#&gt; Bandwidth not specified. Using '0.31', via KernSmooth::dpik.</code></pre>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAYAAAD0ZtPZAAAEDWlDQ1BJQ0MgUHJvZmlsZQAAOI2NVV1oHFUUPrtzZyMkzlNsNIV0qD8NJQ2TVjShtLp/3d02bpZJNtoi6GT27s6Yyc44M7v9oU9FUHwx6psUxL+3gCAo9Q/bPrQvlQol2tQgKD60+INQ6Ium65k7M5lpurHeZe58853vnnvuuWfvBei5qliWkRQBFpquLRcy4nOHj4g9K5CEh6AXBqFXUR0rXalMAjZPC3e1W99Dwntf2dXd/p+tt0YdFSBxH2Kz5qgLiI8B8KdVy3YBevqRHz/qWh72Yui3MUDEL3q44WPXw3M+fo1pZuQs4tOIBVVTaoiXEI/MxfhGDPsxsNZfoE1q66ro5aJim3XdoLFw72H+n23BaIXzbcOnz5mfPoTvYVz7KzUl5+FRxEuqkp9G/Ajia219thzg25abkRE/BpDc3pqvphHvRFys2weqvp+krbWKIX7nhDbzLOItiM8358pTwdirqpPFnMF2xLc1WvLyOwTAibpbmvHHcvttU57y5+XqNZrLe3lE/Pq8eUj2fXKfOe3pfOjzhJYtB/yll5SDFcSDiH+hRkH25+L+sdxKEAMZahrlSX8ukqMOWy/jXW2m6M9LDBc31B9LFuv6gVKg/0Szi3KAr1kGq1GMjU/aLbnq6/lRxc4XfJ98hTargX++DbMJBSiYMIe9Ck1YAxFkKEAG3xbYaKmDDgYyFK0UGYpfoWYXG+fAPPI6tJnNwb7ClP7IyF+D+bjOtCpkhz6CFrIa/I6sFtNl8auFXGMTP34sNwI/JhkgEtmDz14ySfaRcTIBInmKPE32kxyyE2Tv+thKbEVePDfW/byMM1Kmm0XdObS7oGD/MypMXFPXrCwOtoYjyyn7BV29/MZfsVzpLDdRtuIZnbpXzvlf+ev8MvYr/Gqk4H/kV/G3csdazLuyTMPsbFhzd1UabQbjFvDRmcWJxR3zcfHkVw9GfpbJmeev9F08WW8uDkaslwX6avlWGU6NRKz0g/SHtCy9J30o/ca9zX3Kfc19zn3BXQKRO8ud477hLnAfc1/G9mrzGlrfexZ5GLdn6ZZrrEohI2wVHhZywjbhUWEy8icMCGNCUdiBlq3r+xafL549HQ5jH+an+1y+LlYBifuxAvRN/lVVVOlwlCkdVm9NOL5BE4wkQ2SMlDZU97hX86EilU/lUmkQUztTE6mx1EEPh7OmdqBtAvv8HdWpbrJS6tJj3n0CWdM6busNzRV3S9KTYhqvNiqWmuroiKgYhshMjmhTh9ptWhsF7970j/SbMrsPE1suR5z7DMC+P/Hs+y7ijrQAlhyAgccjbhjPygfeBTjzhNqy28EdkUh8C+DU9+z2v/oyeH791OncxHOs5y2AtTc7nb/f73TWPkD/qwBnjX8BoJ98VVBg/m8AAEAASURBVHgB7N17jGRZfRj+c2/PzM4+ZpeFZdkFYcDOQnC8/BY7YZ0XxCFKcKIkUqQkUpS3ZCtyQpATBVlKjGMMTuwk2KAoMvknlm1sbOM//NISQQA/gNjGxgGzGHbZZZ8z0+9H9bur+ndO7dZsT08/qrrurbqPz1n1Ttete8895/O9M9397fPI9mMJCgECBAgQIECAAAECBAgQIECAAAECBBookDewT7pEgAABAgQIECBAgAABAgQIECBAgACBvoAEqAeBAAECBAgQIECAAAECBAgQIECAAIHGCkiANja0OkaAAAECBAgQIECAAAECBAgQIECAgASoZ4AAAQIECBAgQIAAAQIECBAgQIAAgcYKSIA2NrQ6RoAAAQIECBAgQIAAAQIECBAgQICABKhngAABAgQIECBAgAABAgQIECBAgACBxgpIgDY2tDpGgAABAgQIECBAgAABAgQIECBAgIAEqGeAAAECBAgQIECAAAECBAgQIECAAIHGCkiANja0OkaAAAECBAgQIECAAAECBAgQIECAgASoZ4AAAQIECBAgQIAAAQIECBAgQIAAgcYKSIA2NrQ6RoAAAQIECBAgQIAAAQIECBAgQICABKhngAABAgQIECBAgAABAgQIECBAgACBxgpIgDY2tDpGgAABAgQIECBAgAABAgQIECBAgIAEqGeAAAECBAgQIECAAAECBAgQIECAAIHGCpxrbM9q2LHLly8P3eqLFy+GO++8M1y9ejX0er2hr3MigVEE7rrrrnD+/Pn+JaM8n6Pcw7kEksDdd98dNjY2QqfTAUKgFIFbbrkl3HHHHf26V1dXw/r6ein3USmBW2+9Ndx2223979FoEChL4J577glZloW9vb0wNzdX1m3USyDce++9YXl5OWxubtIgUIrApUuX+l83U+WLi4v9f9fSzwYKgaIFjAAtWlR9BAgQIECAAAECBAgQIECAAAECBAhURkACtDKh0BACBAgQIECAAAECBAgQIECAAAECBIoWkAAtWlR9BAgQIECAAAECBAgQIECAAAECBAhURkACtDKh0BACBAgQIECAAAECBAgQIECAAAECBIoWkAAtWlR9BAgQIECAAAECBAgQIECAAAECBAhURkACtDKh0BACBAgQIECAAAECBAgQIECAAAECBIoWkAAtWlR9BAgQIECAAAECBAgQIECAAAECBAhURkACtDKh0BACBAgQIECAAAECBAgQIECAAAECBIoWkAAtWlR9BAgQIECAAAECBAgQIECAAAECBAhURkACtDKh0BACBAgQIECAAAECBAgQIECAAAECBIoWkAAtWlR9BAgQIECAAAECBAgQIECAAAECBAhURkACtDKh0BACBAgQIECAAAECBAgQIECAAAECBIoWkAAtWlR9BAgQIECAAAECBAgQIECAAAECBAhURkACtDKh0BACBAgQIECAAAECBAgQIECAAAECBIoWkAAtWlR9BAgQIECAAAECBAgQIECAAAECBAhURkACtDKh0BACBAgQIECAAAECBAgQIECAAAECBIoWkAAtWlR9BAgQIECAAAECBAgQIECAAAECBAhURkACtDKh0BACBAgQIECAAAECBAgQIECAAAECBIoWkAAtWlR9BAgQIECAAAECBAgQIECAAAECBAhURkACtDKh0BACBAgQIECAAAECBAgQIECAAAECBIoWkAAtWlR9BAgQIECAAAECBAgQIECAAAECBAhURkACtDKh0BACBAgQIECAAAECBAgQIECAAAECBIoWkAAtWlR9BAgQIECAAAECBAgQIECAAAECBAhURkACtDKh0BACBAgQIECAAAECBAgQIECAAAECBIoWkAAtWlR9BAgQIECAAAECBAgQIECAAAECBAhURkACtDKh0BACBAgQIECAAAECBAgQIECAAAECBIoWkAAtWlR9BAgQIECAAAECBAgQIECAAAECBAhURkACtDKh0BACBAgQIECAAAECBAgQIECAAAECBIoWkAAtWlR9BAgQIECAAAECBAgQIECAAAECBAhURkACtDKh0BACBAgQIECAAAECBAgQIECAAAECBIoWkAAtWlR9BAgQIECAAAECBAgQIECAAAECBAhURkACtDKh0BACBAgQIECAAAECBAgQIECAAAECBIoWkAAtWlR9BAgQIECAAAECBAgQIECAAAECBAhURkACtDKh0BACBAgQIECAAAECBAgQIECAAAECBIoWkAAtWlR9BAgQIECAAAECBAgQIECAAAECBAhURkACtDKh0BACBAgQIECAAAECBAgQIECAAAECBIoWkAAtWlR9BAgQIECAAAECBAgQIECAAAECBAhURuBcZVqiIQQIECBAgAABAgQIlC7Q3d8Pu/Gjlz7i3fIsC3nIwvk8CzOl390NCBAgQIAAAQKTF5AAnby5OxIgQIAAAQIECBAoXWCz1wtr3W7o7HXDRq8btnr78aMXUgL0uDKT5+HmmBC9ZSYPt8/MhNvPnQuX4p8KAQIECBAgQKDOAhKgdY6ethMgQIAAAQIECBB4XiAlPJd298JyTHqu7O2Fnfh61NKN13TiRZ1Yx2zY7V9+U0yKvuT8+fCy8+f6CdFR63Q+AQIECBAgQGDa
<pre class="r"><code>
# ash
set.seed(1492)
dat &lt;- data.frame(x=rnorm(100))
grid.arrange(ggplot(dat, aes(x)) + stat_ash(),
ggplot(dat, aes(x)) + stat_bkde(),
ggplot(dat, aes(x)) + stat_density(),
nrow=3)
#&gt; Estimate nonzero outside interval ab.
#&gt; Bandwidth not specified. Using '0.43', via KernSmooth::dpik.</code></pre>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAYAAAD0ZtPZAAAEDWlDQ1BJQ0MgUHJvZmlsZQAAOI2NVV1oHFUUPrtzZyMkzlNsNIV0qD8NJQ2TVjShtLp/3d02bpZJNtoi6GT27s6Yyc44M7v9oU9FUHwx6psUxL+3gCAo9Q/bPrQvlQol2tQgKD60+INQ6Ium65k7M5lpurHeZe58853vnnvuuWfvBei5qliWkRQBFpquLRcy4nOHj4g9K5CEh6AXBqFXUR0rXalMAjZPC3e1W99Dwntf2dXd/p+tt0YdFSBxH2Kz5qgLiI8B8KdVy3YBevqRHz/qWh72Yui3MUDEL3q44WPXw3M+fo1pZuQs4tOIBVVTaoiXEI/MxfhGDPsxsNZfoE1q66ro5aJim3XdoLFw72H+n23BaIXzbcOnz5mfPoTvYVz7KzUl5+FRxEuqkp9G/Ajia219thzg25abkRE/BpDc3pqvphHvRFys2weqvp+krbWKIX7nhDbzLOItiM8358pTwdirqpPFnMF2xLc1WvLyOwTAibpbmvHHcvttU57y5+XqNZrLe3lE/Pq8eUj2fXKfOe3pfOjzhJYtB/yll5SDFcSDiH+hRkH25+L+sdxKEAMZahrlSX8ukqMOWy/jXW2m6M9LDBc31B9LFuv6gVKg/0Szi3KAr1kGq1GMjU/aLbnq6/lRxc4XfJ98hTargX++DbMJBSiYMIe9Ck1YAxFkKEAG3xbYaKmDDgYyFK0UGYpfoWYXG+fAPPI6tJnNwb7ClP7IyF+D+bjOtCpkhz6CFrIa/I6sFtNl8auFXGMTP34sNwI/JhkgEtmDz14ySfaRcTIBInmKPE32kxyyE2Tv+thKbEVePDfW/byMM1Kmm0XdObS7oGD/MypMXFPXrCwOtoYjyyn7BV29/MZfsVzpLDdRtuIZnbpXzvlf+ev8MvYr/Gqk4H/kV/G3csdazLuyTMPsbFhzd1UabQbjFvDRmcWJxR3zcfHkVw9GfpbJmeev9F08WW8uDkaslwX6avlWGU6NRKz0g/SHtCy9J30o/ca9zX3Kfc19zn3BXQKRO8ud477hLnAfc1/G9mrzGlrfexZ5GLdn6ZZrrEohI2wVHhZywjbhUWEy8icMCGNCUdiBlq3r+xafL549HQ5jH+an+1y+LlYBifuxAvRN/lVVVOlwlCkdVm9NOL5BE4wkQ2SMlDZU97hX86EilU/lUmkQUztTE6mx1EEPh7OmdqBtAvv8HdWpbrJS6tJj3n0CWdM6busNzRV3S9KTYhqvNiqWmuroiKgYhshMjmhTh9ptWhsF7970j/SbMrsPE1suR5z7DMC+P/Hs+y7ijrQAlhyAgccjbhjPygfeBTjzhNqy28EdkUh8C+DU9+z2v/oyeH791OncxHOs5y2AtTc7nb/f73TWPkD/qwBnjX8BoJ98VVBg/m8AAEAASURBVHgB7N0HfFRV+vDxJ5QQCL1XAV2kqMiigmUFFWzrq6uusupaAEVcQBRFLAgqImulKgpYFqVXQSAICAhSpElZQIq0UENIqAkhgbw+Z/83pswkk2Tmzp07v/P5XGbmlnPP/Z4wM/eZUyLSf09CQgABBBBAAAEEEEAAAQQQQAABBBBAAAEEXChQxIXXxCUhgAACCCCAAAIIIIAAAggggAACCCCAAAJGgAAofwgIIIAAAggggAACCCCAAAIIIIAAAggg4FoBAqCurVouDAEEEEAAAQQQQAABBBBAAAEEEEAAAQQIgPI3gAACCCCAAAIIIIAAAggggAACCCCAAAKuFSAA6tqq5cIQQAABBBBAAAEEEEAAAQQQQAABBBBAgAAofwMIIIAAAggggAACCCCAAAIIIIAAAggg4FoBAqCurVouDAEEEEAAAQQQQAABBBBAAAEEEEAAAQQIgPI3gAACCCCAAAIIIIAAAggggAACCCCAAAKuFSAA6tqq5cIQQAABBBBAAAEEEEAAAQQQQAABBBBAgAAofwMIIIAAAggggAACCCCAAAIIIIAAAggg4FoBAqCurVouDAEEEEAAAQQQQAABBBBAAAEEEEAAAQQIgPI3gAACCCCAAAIIIIAAAggggAACCCCAAAKuFSAA6tqq5cIQQAABBBBAAAEEEEAAAQQQQAABBBBAgAAofwMIIIAAAggggAACCCCAAAIIIIAAAggg4FqBYq69shC8sEOHDoVUqcuWLSvR0dGmzAkJCZKSkhJS5Q+HwmodRUZGSnx8fDhcbshdY40aNUyZU1NTqSMH1l5ERIRUr15dEhMT5ezZsw4sYXgXqUyZMlK6dGmDwGeQM/8WtI6ioqLk6NGjzixgmJeKzyDn/wFoHR0/flySk5OdX9gwK6F+/uh7nCa+Jziz8rV+SpYsKXFxcc4sYJiXSr9j63fttLQ0vic49G9BP4NOnDghSUlJjiqh9f2lIIWiBWhB1DgGAQQQQAABBBBAAAEEEEAAAQQQQAABBEJCgABoSFQThUQAAQQQQAABBBBAAAEEEEAAAQQQQACBgggQAC2IGscggAACCCCAAAIIIIAAAggggAACCCCAQEgIEAANiWqikAgggAACCCCAAAIIIIAAAggggAACCCBQEAECoAVR4xgEEEAAAQQQQAABBBBAAAEEEEAAAQQQCAkBAqAhUU0UEgEEEEAAAQQQQAABBBBAAAEEEEAAAQQKIkAAtCBqHIMAAggggAACCCCAAAIIIIAAAggggAACISFAADQkqolCIoAAAggggAACCCCAAAIIIIAAAggggEBBBIoV5KBQOiYlJUWmTJkia9askcTERGnQoIE0a9ZM7rjjDilatGihLiU9PV369esnsbGx8s4770i1atUKlR8HI4AAAggggAACCCAQ6gLJycmyf/9+OXHihJQoUUIiIyPNo/Xceq2PJAQQQAABBBBAwA4BVwdAjx8/Ll26dDEBSsWsWLGizJ071yzLly+XN954w3whKyj0xIkTZcGCBebwc+fOFTQbjkMAAQQQQAABBBBAIOQEjh07Jvv27ZO9e/eaR32uS1xcnM/XYgVDreCo9ehpvbVNHy+//HK5+uqrpVgxV9/O+OzIjggggAACCCCQu4CrvzG8/fbbJvjZsmVL6dOnj5QrV04OHDggvXv3liVLlsjQoUOlZ8+euQt52bpz504ZMWKEl62sRgABBBBAAAEEEEAg9AVSU1Pl4MGDHgOdSUlJhb5AbUSgy6lTp/KdV5kyZaRVq1Zyyy23mB5ehe3dle8CcAACCCCAAAIIhIyAawOgW7ZskVWrVknJkiWlf//+EhUVZSqlVq1aMnDgQLn//vslJiZGOnfuLPrlKT9Ju9Vr13f9xblIkSLmS1t+jmdfBBBAAAEEEEAAAQScJKABSE+tOQ8dOiTnz593UlEzyqJlnj17tlkqVKggN910kwmGauvQiIiIjP14ggACCCCAAAIIuDYAunjxYlO7rVu3zgh+WtWtXeFbtGghK1asMEHQdu3aWZt8evzss89k9+7d8tJLL8moUaMIgPqkxk4IIIAAAggggAACThHQ8TlnzpxphobSnk06dFQoJx3rf/r06WapUqWK3HzzzSYY2qhRo1C+LMqOAAIIIIAAAn4ScG0AdPPmzYZIu797SlYAdOPGjZKfAOjq1avNpErXXXed3HPPPSYA6il/1iGAAAIIIIAAAggg4DSB9evXy6xZs8xwUG4dw/7o0aMyadIks9SsWdMEQrWb/MUXX+y06qA8CCCAAAIIIGCTgGsDoDrWp6by5ct7pLTW6wzuvib9pVxne9exRF955RVfD8vYb9GiRTJy5MiM15mflC1bVoYNG5Z5leOfZx5nSYcRKF26tOPLHG4F1DrSLmCVKlUKt0sPqevVeqKOnFtl+v4WHR3t3AKGacn4DHJ+xWsd6VBBvL8Fv650sqIZM2bItGnTzIRFwS+RfSXQ8UvHjBljFg2A3nnnnWapW7eufYUoxJn0+3WpUqUKkQOHBkJA39usxPcES8JZj3wGOas+vJWG+yBvMs5Yr/dAOqykW5JrA6BnzpwxdWQFOrNXmAYcNVn7Zd/u6fUHH3wg+gVSg6Da
<pre class="r"><code>
cols &lt;- RColorBrewer::brewer.pal(3, &quot;Dark2&quot;)
ggplot(dat, aes(x)) +
stat_ash(alpha=1/3, fill=cols[3]) +
stat_bkde(alpha=1/3, fill=cols[2]) +
stat_density(alpha=1/3, fill=cols[1]) +
geom_rug() +
labs(x=NULL, y=&quot;density/estimate&quot;) +
scale_x_continuous(expand=c(0,0)) +
theme_bw() +
theme(panel.grid=element_blank()) +
theme(panel.border=element_blank())
#&gt; Estimate nonzero outside interval ab.
#&gt; Bandwidth not specified. Using '0.43', via KernSmooth::dpik.</code></pre>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAYAAAD0ZtPZAAAEDWlDQ1BJQ0MgUHJvZmlsZQAAOI2NVV1oHFUUPrtzZyMkzlNsNIV0qD8NJQ2TVjShtLp/3d02bpZJNtoi6GT27s6Yyc44M7v9oU9FUHwx6psUxL+3gCAo9Q/bPrQvlQol2tQgKD60+INQ6Ium65k7M5lpurHeZe58853vnnvuuWfvBei5qliWkRQBFpquLRcy4nOHj4g9K5CEh6AXBqFXUR0rXalMAjZPC3e1W99Dwntf2dXd/p+tt0YdFSBxH2Kz5qgLiI8B8KdVy3YBevqRHz/qWh72Yui3MUDEL3q44WPXw3M+fo1pZuQs4tOIBVVTaoiXEI/MxfhGDPsxsNZfoE1q66ro5aJim3XdoLFw72H+n23BaIXzbcOnz5mfPoTvYVz7KzUl5+FRxEuqkp9G/Ajia219thzg25abkRE/BpDc3pqvphHvRFys2weqvp+krbWKIX7nhDbzLOItiM8358pTwdirqpPFnMF2xLc1WvLyOwTAibpbmvHHcvttU57y5+XqNZrLe3lE/Pq8eUj2fXKfOe3pfOjzhJYtB/yll5SDFcSDiH+hRkH25+L+sdxKEAMZahrlSX8ukqMOWy/jXW2m6M9LDBc31B9LFuv6gVKg/0Szi3KAr1kGq1GMjU/aLbnq6/lRxc4XfJ98hTargX++DbMJBSiYMIe9Ck1YAxFkKEAG3xbYaKmDDgYyFK0UGYpfoWYXG+fAPPI6tJnNwb7ClP7IyF+D+bjOtCpkhz6CFrIa/I6sFtNl8auFXGMTP34sNwI/JhkgEtmDz14ySfaRcTIBInmKPE32kxyyE2Tv+thKbEVePDfW/byMM1Kmm0XdObS7oGD/MypMXFPXrCwOtoYjyyn7BV29/MZfsVzpLDdRtuIZnbpXzvlf+ev8MvYr/Gqk4H/kV/G3csdazLuyTMPsbFhzd1UabQbjFvDRmcWJxR3zcfHkVw9GfpbJmeev9F08WW8uDkaslwX6avlWGU6NRKz0g/SHtCy9J30o/ca9zX3Kfc19zn3BXQKRO8ud477hLnAfc1/G9mrzGlrfexZ5GLdn6ZZrrEohI2wVHhZywjbhUWEy8icMCGNCUdiBlq3r+xafL549HQ5jH+an+1y+LlYBifuxAvRN/lVVVOlwlCkdVm9NOL5BE4wkQ2SMlDZU97hX86EilU/lUmkQUztTE6mx1EEPh7OmdqBtAvv8HdWpbrJS6tJj3n0CWdM6busNzRV3S9KTYhqvNiqWmuroiKgYhshMjmhTh9ptWhsF7970j/SbMrsPE1suR5z7DMC+P/Hs+y7ijrQAlhyAgccjbhjPygfeBTjzhNqy28EdkUh8C+DU9+z2v/oyeH791OncxHOs5y2AtTc7nb/f73TWPkD/qwBnjX8BoJ98VVBg/m8AAEAASURBVHgB7N1pjKRXfej/X3XP6pnxjMdj7LGNAV/HJjFm+SeQBOmfEIEEIm8ixIuwKRFRkICgkJCIgFiCQJAQ+UUkIFIShBRkFKLwIgISE4l7cyHc+wcbe8b2jGd6el9r36ue/an/OdXTPV1dVd2117N8D2q66lnOc87n1LRnfn3O+SUaqggFAQQQQAABBBBAAAEEEEAAAQQQQAABBBCIoMBMBPtElxBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgaYAAVA+CAgggAACCCCAAAIIIIAAAggggAACCCAQWQECoJEdWjqGAAIIIIAAAggggAACCCCAAAIIIIAAAgRA+QwggAACCCCAAAIIIIAAAggggAACCCCAQGQFCIBGdmjpGAIIIIAAAggggAACCCCAAAIIIIAAAggQAOUzgAACCCCAAAIIIIAAAggggAACCCCAAAKRFSAAGtmhpWMIIIAAAggggAACCCCAAAIIIIAAAgggQACUzwACCCCAAAIIIIAAAggggAACCCCAAAIIRFaAAGhkh5aOIYAAAggggAACCCCAAAIIIIAAAggggAABUD4DCCCAAAIIIIAAAggggAACCCCAAAIIIBBZAQKgkR1aOoYAAggggAACCCCAAAIIIIAAAggggAACBED5DCCAAAIIIIAAAggggAACCCCAAAIIIIBAZAUIgEZ2aOkYAggggAACCCCAAAIIIIAAAggggAACCBAA5TOAAAIIIIAAAggggAACCCCAAAIIIIAAApEVIAAa2aGlYwgggAACCCCAAAIIIIAAAggggAACCCBAAJTPAAIIIIAAAggggAACCCCAAAIIIIAAAghEVoAAaGSHlo4hgAACCCCAAAIIIIAAAggggAACCCCAAAFQPgMIIIAAAggggAACCCCAAAIIIIAAAgggEFkBAqCRHVo6hgACCCCAAAIIIIAAAggggAACCCCAAAIEQPkMIIAAAggggAACCCCAAAIIIIAAAggggEBkBQiARnZo6RgCCCCAAAIIIIAAAggggAACCCCAAAIIEADlM4AAAggggAACCCCAAAIIIIAAAggggAACkRUgABrZoaVjCCCAAAIIIIAAAggggAACCCCAAAIIIEAAlM8AAggggAACCCCAAAIIIIAAAggggAACCERWgABoZIeWjiGAAAIIIIAAAggggAACCCCAAAIIIIAAAVA+AwgggAACCCCAAAIIIIAAAggggAACCCAQWQECoJEdWjqGAAIIIIAAAggggAACCCCAAAIIIIAAAgRA+QwggAACCCCAAAIIIIAAAggggAACCCCAQGQFCIBGdmjpGAIIIIAAAggggAACCCCAAAIIIIAAAggQAOUzgAACCCCAAAIIIIAAAggggAACCCCAAAKRFSAAGtmhpWMIIIAAAggggAACCCCAAAIIIIAAAgggQACUzwACCCCAAAIIIIAAAggggAACCCCAAAIIRFaAAGhkh5aOIYAAAggggAACCCCAAAIIIIAAAggggAABUD4DCCCAAAIIIIAAAggggAACCCCAAAIIIBBZAQKgkR1aOoYAAggggAACCCCAAAIIIIAAAggggAACBED5DCCAAAIIIIAAAggggAACCCCAAAIIIIBAZAUIgEZ2aOkYAggggAACCCCAAAIIIIAAAggggAACCBAA5TOAAAIIIIAAAggggAACCCCAAAIIIIAAApEVIAAa2aGlYwgggAACCCCAAAIIIIAAAggggAACCCBAAJTPAAIIIIAAAggggAACCCCAAAIIIIAAAghEVoAAaGSHlo4hgAACCCCAAAIIIIAAAggggAACCCCAAAFQPgMIIIAAAggggAACCCCAAAIIIIAAAgggEFkBAqCRHVo6hgACCCCAAAIIIIAAAggggAACCCCAAAIEQPkMIIAAAggggAACCCCAAAIIIIAAAggggEBkBQiARnZo6RgCCCCAAAIIIIAAAggggAACCCCAAAIIEADlM4AAAggggAACCCCAAAIIIIAAAggggAACkRUgABrZoaVjCCCAAAIIIIAAAggggAACCCCAAAIIIEAAlM8AAggggAACCCCAAAIIIIAAAggggAACCERWgABoZIeWjiGAAAIIIIAAAggggAACCCCAAAIIIIAAAVA+AwgggAACCCCAAAIIIIAAAggggAACCCAQWQECoJEdWjqGAAIIIIAAAggggAACCCCAAAIIIIAAAgRA+QwggAACCCCAAAIIIIAAAggggAACCCCAQGQFCIBGdmjpGAIIIIAAAggggAACCCCAAAIIIIAAAggQAOUzgAACCCCAAAIIIIAAAggggAACCCCAAAKRFSAAGtmhpWMIIIAAAggggAACCCCAAAIIIIAAAgggcAQCBBBAAAEEEEAAAQQQQGBaAp7nS6ViybFjs+rriBw5whyNaY0Fz0UAAQQQQCCqAgRAozqy9AsBBBBAAAEEEEAAgQALNBoNyWZqsr5WFNf1d1s6qwKgx48faQZE9ffm6+Ozze/Hjx+V2dnE7rW8QAABBBBAAAEEehFIqL94NHq5kGsQQAABBBBAAAEEEEAAgVEIVMqWrCznxTCcvqubnVUB0hM3A6Nq1mgzSKre6xmk+rU+T0EAAQQQQAABBPYKEADd
</div>
</div>
<div id="alternate-2d-density-plots" class="section level3">
<h3>Alternate 2D density plots</h3>
<pre class="r"><code>m &lt;- ggplot(faithful, aes(x = eruptions, y = waiting)) +
geom_point() +
xlim(0.5, 6) +
ylim(40, 110)
m + geom_bkde2d(bandwidth=c(0.5, 4))</code></pre>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAYAAAD0ZtPZAAAEDWlDQ1BJQ0MgUHJvZmlsZQAAOI2NVV1oHFUUPrtzZyMkzlNsNIV0qD8NJQ2TVjShtLp/3d02bpZJNtoi6GT27s6Yyc44M7v9oU9FUHwx6psUxL+3gCAo9Q/bPrQvlQol2tQgKD60+INQ6Ium65k7M5lpurHeZe58853vnnvuuWfvBei5qliWkRQBFpquLRcy4nOHj4g9K5CEh6AXBqFXUR0rXalMAjZPC3e1W99Dwntf2dXd/p+tt0YdFSBxH2Kz5qgLiI8B8KdVy3YBevqRHz/qWh72Yui3MUDEL3q44WPXw3M+fo1pZuQs4tOIBVVTaoiXEI/MxfhGDPsxsNZfoE1q66ro5aJim3XdoLFw72H+n23BaIXzbcOnz5mfPoTvYVz7KzUl5+FRxEuqkp9G/Ajia219thzg25abkRE/BpDc3pqvphHvRFys2weqvp+krbWKIX7nhDbzLOItiM8358pTwdirqpPFnMF2xLc1WvLyOwTAibpbmvHHcvttU57y5+XqNZrLe3lE/Pq8eUj2fXKfOe3pfOjzhJYtB/yll5SDFcSDiH+hRkH25+L+sdxKEAMZahrlSX8ukqMOWy/jXW2m6M9LDBc31B9LFuv6gVKg/0Szi3KAr1kGq1GMjU/aLbnq6/lRxc4XfJ98hTargX++DbMJBSiYMIe9Ck1YAxFkKEAG3xbYaKmDDgYyFK0UGYpfoWYXG+fAPPI6tJnNwb7ClP7IyF+D+bjOtCpkhz6CFrIa/I6sFtNl8auFXGMTP34sNwI/JhkgEtmDz14ySfaRcTIBInmKPE32kxyyE2Tv+thKbEVePDfW/byMM1Kmm0XdObS7oGD/MypMXFPXrCwOtoYjyyn7BV29/MZfsVzpLDdRtuIZnbpXzvlf+ev8MvYr/Gqk4H/kV/G3csdazLuyTMPsbFhzd1UabQbjFvDRmcWJxR3zcfHkVw9GfpbJmeev9F08WW8uDkaslwX6avlWGU6NRKz0g/SHtCy9J30o/ca9zX3Kfc19zn3BXQKRO8ud477hLnAfc1/G9mrzGlrfexZ5GLdn6ZZrrEohI2wVHhZywjbhUWEy8icMCGNCUdiBlq3r+xafL549HQ5jH+an+1y+LlYBifuxAvRN/lVVVOlwlCkdVm9NOL5BE4wkQ2SMlDZU97hX86EilU/lUmkQUztTE6mx1EEPh7OmdqBtAvv8HdWpbrJS6tJj3n0CWdM6busNzRV3S9KTYhqvNiqWmuroiKgYhshMjmhTh9ptWhsF7970j/SbMrsPE1suR5z7DMC+P/Hs+y7ijrQAlhyAgccjbhjPygfeBTjzhNqy28EdkUh8C+DU9+z2v/oyeH791OncxHOs5y2AtTc7nb/f73TWPkD/qwBnjX8BoJ98VVBg/m8AAEAASURBVHgB7N0JeFvlmf/9W5YtW94TZ19JQiALCYGQhC2BFAqUvWxloBTmbemUed8pU/59u0w70NJOr7ZQmNJlOt1YCpSWNZQQlpCEsARCCBAgIUD2fY93W7as/3Mf5diSjyzbsi0fHX3PdR0kHZ3t+TySiX9+Fl/ELMKCAAIIIIAAAggggAACCCCAAAIIIIAAAgh4UCDHg2WiSAgggAACCCCAAAIIIIAAAggggAACCCCAgCVAAMoHAQEEEEAAAQQQQAABBBBAAAEEEEAAAQQ8K0AA6tmqpWAIIIAAAggggAACCCCAAAIIIIAAAgggQADKZwABBBBAAAEEEEAAAQQQQAABBBBAAAEEPCtAAOrZqqVgCCCAAAIIIIAAAggggAACCCCAAAIIIEAAymcAAQQQQAABBBBAAAEEEEAAAQQQQAABBDwrQADq2aqlYAgggAACCCCAAAIIIIAAAggggAACCCBAAMpnAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQ8K0AA6tmqpWAIIIAAAggggAACCCCAAAIIIIAAAgggQADKZwABBBBAAAEEEEAAAQQQQAABBBBAAAEEPCtAAOrZqqVgCCCAAAIIIIAAAggggAACCCCAAAIIIEAAymcAAQQQQAABBBBAAAEEEEAAAQQQQAABBDwrQADq2aqlYAgggAACCCCAAAIIIIAAAggggAACCCBAAMpnAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQ8K5Dr2ZJ5qGBVVVVSW1vroRJRFDcLFBUVSXFxsezZs8fNt8m9IdCvAkOGDBG/3y+RSER2797dr/fCxRFws8DgwYOloaFBqqur3Xyb3BsC/SYQCASkoqLCur7+e1//3c+CAAJOAfu7sm/fPmlubnbuwBYEEJDy8nIJBoOWhFe/K8OHD0+5pmkBmjIdByKAAAIIIIAAAggggAACCCCAAAIIIICA2wUIQN1eQ9wfAggggAACCCCAAAIIIIAAAggggAACCKQsQACaMh0HIoAAAggggAACCCCAAAIIIIAAAggggIDbBQhA3V5D3B8CCCCAAAIIIIAAAggggAACCCCAAAIIpCxAAJoyHQcigAACCCCAAAIIIIAAAggggAACCCCAgNsFCEDdXkPcHwIIIIAAAggggAACCCCAAAIIIIAAAgikLEAAmjIdByKAAAIIIIAAAggggAACCCCAAAIIIICA2wUIQN1eQ9wfAggggAACCCCAAAIIIIAAAggggAACCKQsQACaMh0HIoAAAggggAACCCCAAAIIIIAAAggggIDbBQhA3V5D3B8CCCCAAAIIIIAAAggggAACCCCAAAIIpCxAAJoyHQcigAACCCCAAAIIIIAAAggggAACCCCAgNsFCEDdXkPcHwIIIIAAAggggAACCCCAAAIIIIAAAgikLEAAmjIdByKAAAIIIIAAAggggAACCCCAAAIIIICA2wUIQN1eQ9wfAggggAACCCCAAAIIIIAAAggggAACCKQsQACaMh0HIoAAAggggAACCCCAAAIIIIAAAggggIDbBQhA3V5D3B8CCCCAAAIIIIAAAggggAACCCCAAAIIpCxAAJoyHQcigAACCCCAAAIIIIAAAggggAACCCCAgNsFCEDdXkPcHwIIIIAAAggggAACCCCAAAIIIIAAAgikLEAAmjIdByKAAAIIIIAAAggggAACCCCAAAIIIICA2wUIQN1eQ9wfAggggAACCCCAAAIIIIAAAggggAACCKQsQACaMh0HIoAAAggggAACCCCAAAIIIIAAAggggIDbBQhA3V5D3B8CCCCAAAIIIIAAAggggAACCCCAAAIIpCxAAJoyHQcigAACCCCAAAIIIIAAAggggAACCCCAgNsFCEDdXkPcHwIIIIAAAggggAACCCCAAAIIIIAAAgikLEAAmjIdByKAAAIIIIAAAggggAACCCCAAAIIIICA2wUIQN1eQ9wfAggggAACCCCAAAIIIIAAAggggAACCKQsQACaMh0HIoAAAggggAACCCCAAAIIIIAAAggggIDbBQhA3V5D3B8CCCCAAAIIIIAAAggggAACCCCAAAIIpCxAAJoyHQcigAACCCCAAAIIIIAAAggggAACCCCAgNsFCEDdXkPcHwIIIIAAAggggAACCCCAAAIIIIAAAgikLEAAmjIdByKAAAIIIIAAAggggAACCCCAAAIIIICA2wUIQN1eQ9wfAggggAACCCCAAAIIIIAAAggggAACCKQsQACaMh0HIoAAAggggAACCCCAAAIIIIAAAggggIDbBQhA3V5D3B8CCCCAAAIIIIAAAggggAACCCCAAAIIpCxAAJoyHQcigAACCCCAAAIIIIAAAggggAACCCCAgNsFCEDdXkPcHwIIIIAAAggggAACCCCAAAIIIIAAAgikLEAAmjIdByKAAAIIIIAAAggggAACCCCAAAIIIICA2wV8EbO4/Saz/f5qa2uloKAg2xkof5oEfD6f6NrS0pKmK3IZBDJPICcnx/qe6P9C+a5kXv1xx+kT0O+Kfk/452b6zLlS5gn4/X7rpvX/J3xXMq/+uOP0Ceh3JRwOp++CXAmBDBOwf0fR2/bqd8X+f2YqVZObykEck14B/YdQ
<pre class="r"><code>
m + stat_bkde2d(bandwidth=c(0.5, 4), aes(fill = ..level..), geom = &quot;polygon&quot;)</code></pre>
<p><img src="data:image/png;base64,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
</div>
<div id="coord_proj-lives-still-needs-work" class="section level3">
<h3><code>coord_proj</code> LIVES! (still needs work)</h3>
8 years ago
<pre class="r"><code>world &lt;- map_data(&quot;world&quot;)
#&gt;
#&gt; # ATTENTION: maps v3.0 has an updated 'world' map. #
#&gt; # Many country borders and names have changed since 1990. #
#&gt; # Type '?world' or 'news(package=&quot;maps&quot;)'. See README_v3. #
world &lt;- world[world$region != &quot;Antarctica&quot;,]
gg &lt;- ggplot()
gg &lt;- gg + geom_map(data=world, map=world,
aes(x=long, y=lat, map_id=region))
gg &lt;- gg + coord_proj(&quot;+proj=wintri&quot;)
gg</code></pre>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAYAAAD0ZtPZAAAEDWlDQ1BJQ0MgUHJvZmlsZQAAOI2NVV1oHFUUPrtzZyMkzlNsNIV0qD8NJQ2TVjShtLp/3d02bpZJNtoi6GT27s6Yyc44M7v9oU9FUHwx6psUxL+3gCAo9Q/bPrQvlQol2tQgKD60+INQ6Ium65k7M5lpurHeZe58853vnnvuuWfvBei5qliWkRQBFpquLRcy4nOHj4g9K5CEh6AXBqFXUR0rXalMAjZPC3e1W99Dwntf2dXd/p+tt0YdFSBxH2Kz5qgLiI8B8KdVy3YBevqRHz/qWh72Yui3MUDEL3q44WPXw3M+fo1pZuQs4tOIBVVTaoiXEI/MxfhGDPsxsNZfoE1q66ro5aJim3XdoLFw72H+n23BaIXzbcOnz5mfPoTvYVz7KzUl5+FRxEuqkp9G/Ajia219thzg25abkRE/BpDc3pqvphHvRFys2weqvp+krbWKIX7nhDbzLOItiM8358pTwdirqpPFnMF2xLc1WvLyOwTAibpbmvHHcvttU57y5+XqNZrLe3lE/Pq8eUj2fXKfOe3pfOjzhJYtB/yll5SDFcSDiH+hRkH25+L+sdxKEAMZahrlSX8ukqMOWy/jXW2m6M9LDBc31B9LFuv6gVKg/0Szi3KAr1kGq1GMjU/aLbnq6/lRxc4XfJ98hTargX++DbMJBSiYMIe9Ck1YAxFkKEAG3xbYaKmDDgYyFK0UGYpfoWYXG+fAPPI6tJnNwb7ClP7IyF+D+bjOtCpkhz6CFrIa/I6sFtNl8auFXGMTP34sNwI/JhkgEtmDz14ySfaRcTIBInmKPE32kxyyE2Tv+thKbEVePDfW/byMM1Kmm0XdObS7oGD/MypMXFPXrCwOtoYjyyn7BV29/MZfsVzpLDdRtuIZnbpXzvlf+ev8MvYr/Gqk4H/kV/G3csdazLuyTMPsbFhzd1UabQbjFvDRmcWJxR3zcfHkVw9GfpbJmeev9F08WW8uDkaslwX6avlWGU6NRKz0g/SHtCy9J30o/ca9zX3Kfc19zn3BXQKRO8ud477hLnAfc1/G9mrzGlrfexZ5GLdn6ZZrrEohI2wVHhZywjbhUWEy8icMCGNCUdiBlq3r+xafL549HQ5jH+an+1y+LlYBifuxAvRN/lVVVOlwlCkdVm9NOL5BE4wkQ2SMlDZU97hX86EilU/lUmkQUztTE6mx1EEPh7OmdqBtAvv8HdWpbrJS6tJj3n0CWdM6busNzRV3S9KTYhqvNiqWmuroiKgYhshMjmhTh9ptWhsF7970j/SbMrsPE1suR5z7DMC+P/Hs+y7ijrQAlhyAgccjbhjPygfeBTjzhNqy28EdkUh8C+DU9+z2v/oyeH791OncxHOs5y2AtTc7nb/f73TWPkD/qwBnjX8BoJ98VVBg/m8AAEAASURBVHgB7N0HnHxVef/x8R9TJbGlalSMBWuMUaMGNEgREAVRAtKUoqhYUNAgoIhIIiIKVnpVsaABlKAIAioYESMxxRKjQY0mMaYb05P/vk9y1vub38zszM7M7p273+f1mp3ZmVs/59xz7/me53nObf5nyXqxEAiBEAiBEAiBEAiBEAiBEAiBEAiBEAiBEAiBEOgggf/XwXPKKYVACIRACIRACIRACIRACIRACIRACIRACIRACIRAIRABNBUhBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEKgswQigHa2aHNiIRACIRACIRACIRACIRACIRACIRACIRACIRACEUBTB0IgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBDpLIAJoZ4s2JxYCIRACIRACIRACIRACIRACIRACIRACIRACIRABNHUgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEKgswQigHa2aHNiIRACIRACIRACIRACIRACIRACIRACIRACIRACEUBTB0IgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBDpLIAJoZ4s2JxYCIRACIRACIRACIRACIRACIRACIRACIRACIRABNHUgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEKgswQigHa2aHNiIRACIRACIRACIRACIRACIRACIRACIRACIRACEUBTB0IgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBDpLIAJoZ4s2JxYCIRACIRACIRACIRACIRACIRACIRACIRACIRABNHUgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEKgswQigHa2aHNiIRACIRACIRACIRACIRACIRACIRACIRACIRACEUBTB0IgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBDpLIAJoZ4s2JxYCIRACIRACIRACIRACIRACIRACIRACIRACIRABNHUgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEKgswQigHa2aHNiIRACIRACIRACIRACIRACIRACIRACIRACIRACEUBTB0IgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBDpLIAJoZ4s2JxYCIRACIRACIRACIRACIRACIRACIRACIRACIRABNHUgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEKgswQigHa2aHNiIRACIRACIRACIRACIRACIRACIRACIRACIRACEUBTB0IgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBDpLIAJoZ4s2JxYCIRACIRACIRACIRACIRACIRACIRACIRACIRABNHUgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEKgswQigHa2aHNiIRACIRACIRACIRACIRACIRACIRACIRACIRACEUBTB0IgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBDpLIAJoZ4s2JxYCIRACIRACIRACIRACIRACIRACIRACIRACIRABNHUgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEKgswQigHa2aHNiIRACIRACIRACIRACIRACIRACIRACIRACIRACEUBTB0IgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBDpLIAJoZ4s2JxYCIRACIRACIRACIRACIRACIRACIRACIRACIRABNHUgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEKgswQigHa2aHNiIRACIRACIRACIRACIRACIRACIRACIRACIRACEUBTB0IgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBDpLIAJoZ4s2JxYCIRACIRACIRACIRACIRACIRACIRACIRACIRABNHUgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEKgswQigHa2aHNiIRACIRACIRACIRACIRACIRACIRACIRACIRACEUBTB0IgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBDpLIAJoZ4s2JxYCIRACIRACIRACIRACIRACIRACIRACIRACIRABNHUgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEKgswQigHa2aHNiIRACIRACIRACIRACIRACIRACIRACIRACIRACEUBTB0IgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBDpLIAJoZ4s2JxYCIRACIRACIRACIRACIRACIRACIRACIRACIRABNHUgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEKgswQigHa2aHNiIRACIRACIRACIRACIRACIRACIRACIRACIRACEUBTB0IgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBDpLIAJoZ4s2JxYCIRACIRACIRACIRACIRACIRACIRACIRACIRABNHUgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEKgswQigHa2aHNiIRACIRACIRACIRACIRACIRACIRACIRACIRACEUBTB0IgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBEIgBDpLIAJoZ4s2JxYCIRACIRACIRACIRACIRACIRACIRACIRACIRABNHUgBEIgBEIgBEIgBEIgBEIg
</div>
<div id="code-of-conduct" class="section level3">
<h3>Code of Conduct</h3>
<p>Please note that this project is released with a <a href="CONDUCT.md">Contributor Code of Conduct</a>. By participating in this project you agree to abide by its terms.</p>
</div>
8 years ago
</div>
<script>
// add bootstrap table styles to pandoc tables
$(document).ready(function () {
$('tr.header').parent('thead').parent('table').addClass('table table-condensed');
});
</script>
<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
(function () {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
document.getElementsByTagName("head")[0].appendChild(script);
})();
</script>
</body>
</html>