research-copilot 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +190 -0
- package/app/build/icon.icns +0 -0
- package/app/build/icon.ico +0 -0
- package/app/build/icon.png +0 -0
- package/app/out/main/index.mjs +6719 -0
- package/app/out/preload/index.js +141 -0
- package/app/out/renderer/assets/Inter-Variable-Latin-8kRkwJBP.woff2 +0 -0
- package/app/out/renderer/assets/Inter-Variable-LatinExt-B_-bZUTo.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/app/out/renderer/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/app/out/renderer/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/app/out/renderer/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/app/out/renderer/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/app/out/renderer/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/app/out/renderer/assets/MilkdownMarkdownEditor-bLPxrCVb.js +89821 -0
- package/app/out/renderer/assets/MilkdownMarkdownEditor-tTNRIB2K.css +2555 -0
- package/app/out/renderer/assets/Tableau10-BqnYsPR6.js +9 -0
- package/app/out/renderer/assets/apl-fqmucPXA.js +140 -0
- package/app/out/renderer/assets/arc-J47ePHZ2.js +132 -0
- package/app/out/renderer/assets/array-DgktLKBx.js +6 -0
- package/app/out/renderer/assets/asciiarmor-DucZyvP0.js +56 -0
- package/app/out/renderer/assets/asn1-BnOEsgAm.js +144 -0
- package/app/out/renderer/assets/asterisk-QAlztEwS.js +345 -0
- package/app/out/renderer/assets/blockDiagram-c4efeb88-5uRQXgQJ.js +1817 -0
- package/app/out/renderer/assets/brainfuck-DZVCuF_t.js +53 -0
- package/app/out/renderer/assets/c4Diagram-c83219d4-C4iCTPEL.js +2464 -0
- package/app/out/renderer/assets/channel-ZAmhHE3g.js +7 -0
- package/app/out/renderer/assets/classDiagram-beda092f-7NOZxq_W.js +357 -0
- package/app/out/renderer/assets/classDiagram-v2-2358418a-5fPT-cUH.js +291 -0
- package/app/out/renderer/assets/clike-xqXYL6ge.js +805 -0
- package/app/out/renderer/assets/clojure-BhXMqnxz.js +849 -0
- package/app/out/renderer/assets/clone-CsnzsYXQ.js +8 -0
- package/app/out/renderer/assets/cmake-BGaNd9E7.js +71 -0
- package/app/out/renderer/assets/cobol-4yqQntpt.js +120 -0
- package/app/out/renderer/assets/coffeescript-D2dXvhEc.js +308 -0
- package/app/out/renderer/assets/commonlisp-CF_VNHQR.js +130 -0
- package/app/out/renderer/assets/createText-1719965b-Cji7KN4K.js +4904 -0
- package/app/out/renderer/assets/crystal-DyuLTqLs.js +398 -0
- package/app/out/renderer/assets/css-c-jst79C.js +1783 -0
- package/app/out/renderer/assets/cypher-Dlu_3r4V.js +121 -0
- package/app/out/renderer/assets/d-UURgV0Ux.js +179 -0
- package/app/out/renderer/assets/diff-B_Bi2Crb.js +25 -0
- package/app/out/renderer/assets/dockerfile-Bvk733Ga.js +201 -0
- package/app/out/renderer/assets/dtd-Dy74G54E.js +114 -0
- package/app/out/renderer/assets/dylan-TSb-Nfix.js +314 -0
- package/app/out/renderer/assets/ebnf-DAomQUbD.js +139 -0
- package/app/out/renderer/assets/ecl-B59qGGVg.js +178 -0
- package/app/out/renderer/assets/edges-96097737-CD0EvAZQ.js +1844 -0
- package/app/out/renderer/assets/eiffel-Dze7nlu3.js +134 -0
- package/app/out/renderer/assets/elm-DG7jkhNZ.js +176 -0
- package/app/out/renderer/assets/erDiagram-0228fc6a-DRYXBpi7.js +1321 -0
- package/app/out/renderer/assets/erlang-BO6gOnGA.js +674 -0
- package/app/out/renderer/assets/factor-CMxFHDqz.js +65 -0
- package/app/out/renderer/assets/fcl-CDDUNjTj.js +141 -0
- package/app/out/renderer/assets/flowDb-c6c81e3f-CuoIN-Cy.js +1713 -0
- package/app/out/renderer/assets/flowDiagram-50d868cf-CPWPLOml.js +1272 -0
- package/app/out/renderer/assets/flowDiagram-v2-4f6560a1-C_R12s4S.js +33 -0
- package/app/out/renderer/assets/flowchart-elk-definition-6af322e1-BdKUSFpi.js +92921 -0
- package/app/out/renderer/assets/forth-B9D2JCeE.js +116 -0
- package/app/out/renderer/assets/fortran-CAG2BFbe.js +467 -0
- package/app/out/renderer/assets/ganttDiagram-a2739b55-ygqT5HlG.js +3399 -0
- package/app/out/renderer/assets/gas-d3KEcW3x.js +294 -0
- package/app/out/renderer/assets/gherkin-DhZlEZiy.js +115 -0
- package/app/out/renderer/assets/gitGraphDiagram-82fe8481-D97GT4iA.js +1791 -0
- package/app/out/renderer/assets/graph-DpC13d95.js +1237 -0
- package/app/out/renderer/assets/groovy-CpwJiBl7.js +223 -0
- package/app/out/renderer/assets/haskell-BlGBCCe3.js +459 -0
- package/app/out/renderer/assets/haxe-7MlzfeYV.js +514 -0
- package/app/out/renderer/assets/http-BqypyemW.js +79 -0
- package/app/out/renderer/assets/idl-4HIGJlDI.js +985 -0
- package/app/out/renderer/assets/index-4-ziknCv.js +292 -0
- package/app/out/renderer/assets/index-5325376f-Bbs7Fbqr.js +663 -0
- package/app/out/renderer/assets/index-B2jip-rk.js +2489 -0
- package/app/out/renderer/assets/index-BKTVfokE.js +312 -0
- package/app/out/renderer/assets/index-BiJbFgVG.js +118 -0
- package/app/out/renderer/assets/index-Bn433Fat.js +83 -0
- package/app/out/renderer/assets/index-BqDyyRCx.js +39679 -0
- package/app/out/renderer/assets/index-BzFMeMPn.js +158 -0
- package/app/out/renderer/assets/index-C-_uCjZJ.css +2701 -0
- package/app/out/renderer/assets/index-C1ithNW1.js +1765 -0
- package/app/out/renderer/assets/index-CAJkRYkO.js +407 -0
- package/app/out/renderer/assets/index-CleO0-yj.js +690 -0
- package/app/out/renderer/assets/index-Cq4MH3sY.js +1020 -0
- package/app/out/renderer/assets/index-CtA0Xj22.js +705 -0
- package/app/out/renderer/assets/index-CvAZkqBZ.js +83 -0
- package/app/out/renderer/assets/index-D3UDN-5c.js +152 -0
- package/app/out/renderer/assets/index-D4F9R5ao.js +179 -0
- package/app/out/renderer/assets/index-D6RguhZ5.js +328 -0
- package/app/out/renderer/assets/index-DnEowqXv.js +386 -0
- package/app/out/renderer/assets/index-K8c8Mqdy.js +98 -0
- package/app/out/renderer/assets/index-Kh14gO6K.js +62 -0
- package/app/out/renderer/assets/index-WFd2jRnA.js +333 -0
- package/app/out/renderer/assets/index-WgMfkRFp.js +313 -0
- package/app/out/renderer/assets/index-Y4lKyF6t.js +1042 -0
- package/app/out/renderer/assets/index-fx307_f1.js +643 -0
- package/app/out/renderer/assets/infoDiagram-8eee0895-ptaVSwzq.js +511 -0
- package/app/out/renderer/assets/init-ZxktEp_H.js +16 -0
- package/app/out/renderer/assets/javascript-C3MnDRiU.js +994 -0
- package/app/out/renderer/assets/journeyDiagram-c64418c1-aloEGOQp.js +1184 -0
- package/app/out/renderer/assets/julia-Bs6JJhYG.js +407 -0
- package/app/out/renderer/assets/layout-ZeuHE_aY.js +2217 -0
- package/app/out/renderer/assets/line-CAgaGl-S.js +45 -0
- package/app/out/renderer/assets/linear-DIg7lTe1.js +539 -0
- package/app/out/renderer/assets/livescript-DmzgM3Yt.js +296 -0
- package/app/out/renderer/assets/lua-8cJgIlqe.js +256 -0
- package/app/out/renderer/assets/mathematica-DNLOL9PQ.js +110 -0
- package/app/out/renderer/assets/mbox-Ga7d4MMN.js +117 -0
- package/app/out/renderer/assets/mindmap-definition-8da855dc-B8XVoUxz.js +36054 -0
- package/app/out/renderer/assets/mirc-Dma3B8rS.js +107 -0
- package/app/out/renderer/assets/mllike-DHn7xckP.js +334 -0
- package/app/out/renderer/assets/modelica-0d55jYY0.js +147 -0
- package/app/out/renderer/assets/mscgen-DdqZYINH.js +135 -0
- package/app/out/renderer/assets/mumps-Btr8VblO.js +93 -0
- package/app/out/renderer/assets/nginx-DTDtBDVN.js +141 -0
- package/app/out/renderer/assets/nsis-3zG7tgur.js +62 -0
- package/app/out/renderer/assets/ntriples-CvgOYMpL.js +153 -0
- package/app/out/renderer/assets/octave-DYBj3-tl.js +200 -0
- package/app/out/renderer/assets/ordinal-DSZU4PqD.js +76 -0
- package/app/out/renderer/assets/oz-R_e8WMIi.js +231 -0
- package/app/out/renderer/assets/pascal-GD8iposT.js +105 -0
- package/app/out/renderer/assets/path-Cp2qmpkd.js +109 -0
- package/app/out/renderer/assets/perl-DL9mHpoi.js +1105 -0
- package/app/out/renderer/assets/pieDiagram-a8764435-DlwoeBU2.js +770 -0
- package/app/out/renderer/assets/pig-C_4T4YIV.js +101 -0
- package/app/out/renderer/assets/powershell-B0suO7Vd.js +328 -0
- package/app/out/renderer/assets/properties-BR-vP1aU.js +58 -0
- package/app/out/renderer/assets/protobuf-BxgpyhoW.js +77 -0
- package/app/out/renderer/assets/pug-By0kVCfm.js +405 -0
- package/app/out/renderer/assets/puppet-Bdao66PW.js +137 -0
- package/app/out/renderer/assets/python-CvWbmiX4.js +427 -0
- package/app/out/renderer/assets/q-CrbCVq4a.js +131 -0
- package/app/out/renderer/assets/quadrantDiagram-1e28029f-BaSi1XB4.js +1200 -0
- package/app/out/renderer/assets/r-V7nswm59.js +170 -0
- package/app/out/renderer/assets/requirementDiagram-08caed73-D3EFyegZ.js +1092 -0
- package/app/out/renderer/assets/rpm-C-DLY-If.js +109 -0
- package/app/out/renderer/assets/ruby-JDKLJNK0.js +330 -0
- package/app/out/renderer/assets/sankeyDiagram-a04cb91d-Cv44AsnM.js +1174 -0
- package/app/out/renderer/assets/sas-D2UG-yhZ.js +207 -0
- package/app/out/renderer/assets/scheme-BKzrkGJD.js +222 -0
- package/app/out/renderer/assets/sequenceDiagram-c5b8d532-CuUBu-x4.js +3337 -0
- package/app/out/renderer/assets/shell-BlsXDxCn.js +222 -0
- package/app/out/renderer/assets/sieve-CjwBwOY5.js +135 -0
- package/app/out/renderer/assets/simple-mode-DMneyfDu.js +130 -0
- package/app/out/renderer/assets/smalltalk-BOIGQuhN.js +121 -0
- package/app/out/renderer/assets/solr-CwD7U71z.js +69 -0
- package/app/out/renderer/assets/sparql-DYskk2vE.js +249 -0
- package/app/out/renderer/assets/spreadsheet-Bgtt3oLP.js +87 -0
- package/app/out/renderer/assets/sql-BSrOzCRI.js +354 -0
- package/app/out/renderer/assets/stateDiagram-1ecb1508-BOU34Zp4.js +454 -0
- package/app/out/renderer/assets/stateDiagram-v2-c2b004d7-BgRoffou.js +326 -0
- package/app/out/renderer/assets/stex-B6LNC55o.js +231 -0
- package/app/out/renderer/assets/styles-b4e223ce-BMr9TPuj.js +1483 -0
- package/app/out/renderer/assets/styles-ca3715f6-DgbNw99p.js +1363 -0
- package/app/out/renderer/assets/styles-d45a18b0-DtRYKYKf.js +574 -0
- package/app/out/renderer/assets/stylus-BkS-boTH.js +565 -0
- package/app/out/renderer/assets/svgDrawCommon-b86b1483-Bein03PD.js +100 -0
- package/app/out/renderer/assets/swift-FRZi1uvB.js +291 -0
- package/app/out/renderer/assets/tcl-CUcaCdmq.js +114 -0
- package/app/out/renderer/assets/textile-BnFpjsrl.js +414 -0
- package/app/out/renderer/assets/tiddlywiki-CjprD-Qp.js +218 -0
- package/app/out/renderer/assets/tiki-B4EPSQ1G.js +265 -0
- package/app/out/renderer/assets/timeline-definition-faaaa080-BlWpLE_4.js +1212 -0
- package/app/out/renderer/assets/toml-BOuWGMcf.js +76 -0
- package/app/out/renderer/assets/troff-E1bJ0PPL.js +61 -0
- package/app/out/renderer/assets/ttcn-cfg-Dc39-fIP.js +133 -0
- package/app/out/renderer/assets/ttcn-tKd4HLu4.js +192 -0
- package/app/out/renderer/assets/turtle-Dq7-1WAf.js +124 -0
- package/app/out/renderer/assets/vb-Dp90gtsv.js +196 -0
- package/app/out/renderer/assets/vbscript-CI6_mxxU.js +479 -0
- package/app/out/renderer/assets/velocity-BwIZK1TH.js +149 -0
- package/app/out/renderer/assets/verilog-DDCYnHN8.js +430 -0
- package/app/out/renderer/assets/vhdl-DCkMIyT9.js +158 -0
- package/app/out/renderer/assets/webidl-BTLTThCm.js +204 -0
- package/app/out/renderer/assets/xquery-BgiOC5Ce.js +525 -0
- package/app/out/renderer/assets/xychartDiagram-f5964ef8-Bhga-YXm.js +1799 -0
- package/app/out/renderer/assets/yacas-b5lAVEIl.js +130 -0
- package/app/out/renderer/assets/z80-BZV19vqv.js +93 -0
- package/app/out/renderer/index.html +13 -0
- package/app/out/skills/community-builtin/README.md +29 -0
- package/app/out/skills/community-builtin/document-docx/SKILL.md +44 -0
- package/app/out/skills/community-builtin/document-docx/scripts/docx-to-markdown.sh +20 -0
- package/app/out/skills/community-builtin/document-docx/scripts/extract-docx-text.sh +28 -0
- package/app/out/skills/community-builtin/document-docx/scripts/init-docx-template.sh +32 -0
- package/app/out/skills/community-builtin/document-docx/scripts/setup-docx-tools.sh +10 -0
- package/app/out/skills/community-builtin/markitdown/SKILL.md +105 -0
- package/app/out/skills/community-builtin/markitdown/scripts/batch-convert.sh +40 -0
- package/app/out/skills/community-builtin/markitdown/scripts/convert-file.sh +24 -0
- package/app/out/skills/community-builtin/markitdown/scripts/setup-markitdown.sh +10 -0
- package/app/out/skills/community-builtin/repo-quick-audit/SKILL.md +27 -0
- package/app/out/skills/community-builtin/repo-quick-audit/scripts/audit-basics.sh +19 -0
- package/app/out/skills/research-pilot-default-project-skills/README.md +23 -0
- package/app/out/skills/research-pilot-default-project-skills/citation-management/SKILL.md +39 -0
- package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/doi-to-bibtex.sh +25 -0
- package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/normalize-bibtex-keys.sh +51 -0
- package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/setup-citation-tools.sh +10 -0
- package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/validate-bib.sh +31 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/SKILL.md +34 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/api_reference.md +412 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/common_issues.md +563 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/plot_types.md +476 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/styling_guide.md +589 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/subagent_quickstart.md +30 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/scripts/plot_template.py +401 -0
- package/app/out/skills/research-pilot-default-project-skills/matplotlib/scripts/style_configurator.py +409 -0
- package/app/out/skills/research-pilot-default-project-skills/research-grants/SKILL.md +38 -0
- package/app/out/skills/research-pilot-default-project-skills/research-grants/scripts/check-grant-compliance.sh +40 -0
- package/app/out/skills/research-pilot-default-project-skills/research-grants/scripts/grant-summary-card.sh +32 -0
- package/app/out/skills/research-pilot-default-project-skills/research-grants/scripts/init-grant-structure.sh +70 -0
- package/app/package.json +77 -0
- package/bin/cli.mjs +56 -0
- package/lib/README.md +145 -0
- package/lib/skills/_generated.ts +13 -0
- package/lib/skills/builtin/brainstorming-research-ideas/SKILL.md +280 -0
- package/lib/skills/builtin/coding/SKILL.md +114 -0
- package/lib/skills/builtin/creative-thinking-for-research/SKILL.md +273 -0
- package/lib/skills/builtin/matplotlib/SKILL.md +361 -0
- package/lib/skills/builtin/matplotlib/references/api_reference.md +412 -0
- package/lib/skills/builtin/matplotlib/references/common_issues.md +563 -0
- package/lib/skills/builtin/matplotlib/references/plot_types.md +476 -0
- package/lib/skills/builtin/matplotlib/references/styling_guide.md +589 -0
- package/lib/skills/builtin/matplotlib/scripts/plot_template.py +401 -0
- package/lib/skills/builtin/matplotlib/scripts/style_configurator.py +409 -0
- package/lib/skills/builtin/paper-writing/SKILL.md +554 -0
- package/lib/skills/builtin/paper-writing/references/checklists.md +524 -0
- package/lib/skills/builtin/paper-writing/references/citation-workflow.md +562 -0
- package/lib/skills/builtin/paper-writing/references/reviewer-guidelines.md +462 -0
- package/lib/skills/builtin/paper-writing/references/sources.md +189 -0
- package/lib/skills/builtin/paper-writing/references/systems-conferences.md +260 -0
- package/lib/skills/builtin/paper-writing/references/writing-guide.md +476 -0
- package/lib/skills/builtin/paper-writing/templates/README.md +408 -0
- package/lib/skills/builtin/paper-writing/templates/aaai2026/README.md +534 -0
- package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026-unified-supp.tex +144 -0
- package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026-unified-template.tex +952 -0
- package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026.bib +111 -0
- package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026.bst +1493 -0
- package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026.sty +315 -0
- package/lib/skills/builtin/paper-writing/templates/acl/README.md +50 -0
- package/lib/skills/builtin/paper-writing/templates/acl/acl.sty +312 -0
- package/lib/skills/builtin/paper-writing/templates/acl/acl_latex.tex +377 -0
- package/lib/skills/builtin/paper-writing/templates/acl/acl_lualatex.tex +101 -0
- package/lib/skills/builtin/paper-writing/templates/acl/acl_natbib.bst +1940 -0
- package/lib/skills/builtin/paper-writing/templates/acl/anthology.bib.txt +26 -0
- package/lib/skills/builtin/paper-writing/templates/acl/custom.bib +70 -0
- package/lib/skills/builtin/paper-writing/templates/acl/formatting.md +326 -0
- package/lib/skills/builtin/paper-writing/templates/asplos2027/main.tex +459 -0
- package/lib/skills/builtin/paper-writing/templates/asplos2027/references.bib +135 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/README.md +3 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.bib +11 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.bst +1440 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.pdf +0 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.sty +218 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.tex +305 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/fancyhdr.sty +485 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/math_commands.tex +508 -0
- package/lib/skills/builtin/paper-writing/templates/colm2025/natbib.sty +1246 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/fancyhdr.sty +485 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.bib +24 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.bst +1440 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.pdf +0 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.sty +246 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.tex +414 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/math_commands.tex +508 -0
- package/lib/skills/builtin/paper-writing/templates/iclr2026/natbib.sty +1246 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/algorithm.sty +79 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/algorithmic.sty +201 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/example_paper.bib +75 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/example_paper.pdf +0 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/example_paper.tex +662 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/fancyhdr.sty +864 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/icml2026.bst +1443 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/icml2026.sty +767 -0
- package/lib/skills/builtin/paper-writing/templates/icml2026/icml_numpapers.pdf +0 -0
- package/lib/skills/builtin/paper-writing/templates/neurips2025/Makefile +36 -0
- package/lib/skills/builtin/paper-writing/templates/neurips2025/extra_pkgs.tex +53 -0
- package/lib/skills/builtin/paper-writing/templates/neurips2025/main.tex +38 -0
- package/lib/skills/builtin/paper-writing/templates/neurips2025/neurips.sty +382 -0
- package/lib/skills/builtin/paper-writing/templates/nsdi2027/main.tex +426 -0
- package/lib/skills/builtin/paper-writing/templates/nsdi2027/references.bib +151 -0
- package/lib/skills/builtin/paper-writing/templates/nsdi2027/usenix-2020-09.sty +83 -0
- package/lib/skills/builtin/paper-writing/templates/osdi2026/main.tex +429 -0
- package/lib/skills/builtin/paper-writing/templates/osdi2026/references.bib +150 -0
- package/lib/skills/builtin/paper-writing/templates/osdi2026/usenix-2020-09.sty +83 -0
- package/lib/skills/builtin/paper-writing/templates/sosp2026/main.tex +532 -0
- package/lib/skills/builtin/paper-writing/templates/sosp2026/references.bib +148 -0
- package/lib/skills/builtin/research-grants/SKILL.md +958 -0
- package/lib/skills/builtin/research-grants/assets/budget_justification_template.md +453 -0
- package/lib/skills/builtin/research-grants/assets/nih_specific_aims_template.md +166 -0
- package/lib/skills/builtin/research-grants/assets/nsf_project_summary_template.md +92 -0
- package/lib/skills/builtin/research-grants/references/README.md +285 -0
- package/lib/skills/builtin/research-grants/references/broader_impacts.md +392 -0
- package/lib/skills/builtin/research-grants/references/darpa_guidelines.md +636 -0
- package/lib/skills/builtin/research-grants/references/doe_guidelines.md +586 -0
- package/lib/skills/builtin/research-grants/references/nih_guidelines.md +851 -0
- package/lib/skills/builtin/research-grants/references/nsf_guidelines.md +570 -0
- package/lib/skills/builtin/research-grants/references/nstc_guidelines.md +733 -0
- package/lib/skills/builtin/research-grants/references/specific_aims_guide.md +458 -0
- package/lib/skills/builtin/rewrite-humanize/SKILL.md +116 -0
- package/lib/skills/builtin/rewrite-humanize/references/cs-venue-tone.md +57 -0
- package/lib/skills/builtin/rewrite-humanize/references/lexicon.md +50 -0
- package/lib/skills/builtin/scholar-evaluation/SKILL.md +300 -0
- package/lib/skills/builtin/scholar-evaluation/references/evaluation_framework.md +663 -0
- package/lib/skills/builtin/scholar-evaluation/scripts/calculate_scores.py +379 -0
- package/lib/skills/builtin/scientific-schematics/SKILL.md +603 -0
- package/lib/skills/builtin/scientific-schematics/references/QUICK_REFERENCE.md +182 -0
- package/lib/skills/builtin/scientific-schematics/references/README.md +292 -0
- package/lib/skills/builtin/scientific-schematics/references/best_practices.md +560 -0
- package/lib/skills/builtin/scientific-schematics/scripts/__pycache__/generate_schematic.cpython-312.pyc +0 -0
- package/lib/skills/builtin/scientific-schematics/scripts/__pycache__/generate_schematic_ai.cpython-312.pyc +0 -0
- package/lib/skills/builtin/scientific-schematics/scripts/example_usage.sh +85 -0
- package/lib/skills/builtin/scientific-schematics/scripts/generate_schematic.py +141 -0
- package/lib/skills/builtin/scientific-schematics/scripts/generate_schematic_ai.py +910 -0
- package/lib/skills/builtin/scientific-visualization/SKILL.md +749 -0
- package/lib/skills/builtin/scientific-visualization/assets/color_palettes.py +197 -0
- package/lib/skills/builtin/scientific-visualization/assets/nature.mplstyle +63 -0
- package/lib/skills/builtin/scientific-visualization/assets/presentation.mplstyle +61 -0
- package/lib/skills/builtin/scientific-visualization/assets/publication.mplstyle +68 -0
- package/lib/skills/builtin/scientific-visualization/references/color_palettes.md +348 -0
- package/lib/skills/builtin/scientific-visualization/references/journal_requirements.md +320 -0
- package/lib/skills/builtin/scientific-visualization/references/matplotlib_examples.md +620 -0
- package/lib/skills/builtin/scientific-visualization/references/publication_guidelines.md +205 -0
- package/lib/skills/builtin/scientific-visualization/scripts/figure_export.py +343 -0
- package/lib/skills/builtin/scientific-visualization/scripts/style_presets.py +416 -0
- package/lib/skills/builtin/scientific-writing/SKILL.md +745 -0
- package/lib/skills/builtin/scientific-writing/assets/REPORT_FORMATTING_GUIDE.md +574 -0
- package/lib/skills/builtin/scientific-writing/assets/scientific_report.sty +606 -0
- package/lib/skills/builtin/scientific-writing/assets/scientific_report_template.tex +449 -0
- package/lib/skills/builtin/scientific-writing/references/citation_styles.md +720 -0
- package/lib/skills/builtin/scientific-writing/references/figures_tables.md +806 -0
- package/lib/skills/builtin/scientific-writing/references/imrad_structure.md +686 -0
- package/lib/skills/builtin/scientific-writing/references/professional_report_formatting.md +664 -0
- package/lib/skills/builtin/scientific-writing/references/reporting_guidelines.md +748 -0
- package/lib/skills/builtin/scientific-writing/references/writing_principles.md +824 -0
- package/lib/skills/builtin/seaborn/SKILL.md +674 -0
- package/lib/skills/builtin/seaborn/references/examples.md +822 -0
- package/lib/skills/builtin/seaborn/references/function_reference.md +770 -0
- package/lib/skills/builtin/seaborn/references/objects_interface.md +964 -0
- package/lib/skills/data-analysis/SKILL.md +285 -0
- package/lib/skills/generate-skill-content.mjs +58 -0
- package/lib/skills/index.ts +34 -0
- package/lib/skills/loader.ts +452 -0
- package/package.json +62 -0
|
@@ -0,0 +1,770 @@
|
|
|
1
|
+
# Seaborn Function Reference
|
|
2
|
+
|
|
3
|
+
This document provides a comprehensive reference for all major seaborn functions, organized by category.
|
|
4
|
+
|
|
5
|
+
## Relational Plots
|
|
6
|
+
|
|
7
|
+
### scatterplot()
|
|
8
|
+
|
|
9
|
+
**Purpose:** Create a scatter plot with points representing individual observations.
|
|
10
|
+
|
|
11
|
+
**Key Parameters:**
|
|
12
|
+
- `data` - DataFrame, array, or dict of arrays
|
|
13
|
+
- `x, y` - Variables for x and y axes
|
|
14
|
+
- `hue` - Grouping variable for color encoding
|
|
15
|
+
- `size` - Grouping variable for size encoding
|
|
16
|
+
- `style` - Grouping variable for marker style
|
|
17
|
+
- `palette` - Color palette name or list
|
|
18
|
+
- `hue_order` - Order for categorical hue levels
|
|
19
|
+
- `hue_norm` - Normalization for numeric hue (tuple or Normalize object)
|
|
20
|
+
- `sizes` - Size range for size encoding (tuple or dict)
|
|
21
|
+
- `size_order` - Order for categorical size levels
|
|
22
|
+
- `size_norm` - Normalization for numeric size
|
|
23
|
+
- `markers` - Marker style(s) (string, list, or dict)
|
|
24
|
+
- `style_order` - Order for categorical style levels
|
|
25
|
+
- `legend` - How to draw legend: "auto", "brief", "full", or False
|
|
26
|
+
- `ax` - Matplotlib axes to plot on
|
|
27
|
+
|
|
28
|
+
**Example:**
|
|
29
|
+
```python
|
|
30
|
+
sns.scatterplot(data=df, x='height', y='weight',
|
|
31
|
+
hue='gender', size='age', style='smoker',
|
|
32
|
+
palette='Set2', sizes=(20, 200))
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### lineplot()
|
|
36
|
+
|
|
37
|
+
**Purpose:** Draw a line plot with automatic aggregation and confidence intervals for repeated measures.
|
|
38
|
+
|
|
39
|
+
**Key Parameters:**
|
|
40
|
+
- `data` - DataFrame, array, or dict of arrays
|
|
41
|
+
- `x, y` - Variables for x and y axes
|
|
42
|
+
- `hue` - Grouping variable for color encoding
|
|
43
|
+
- `size` - Grouping variable for line width
|
|
44
|
+
- `style` - Grouping variable for line style (dashes)
|
|
45
|
+
- `units` - Grouping variable for sampling units (no aggregation within units)
|
|
46
|
+
- `estimator` - Function for aggregating across observations (default: mean)
|
|
47
|
+
- `errorbar` - Method for error bars: "sd", "se", "pi", ("ci", level), ("pi", level), or None
|
|
48
|
+
- `n_boot` - Number of bootstrap iterations for CI computation
|
|
49
|
+
- `seed` - Random seed for reproducible bootstrapping
|
|
50
|
+
- `sort` - Sort data before plotting
|
|
51
|
+
- `err_style` - "band" or "bars" for error representation
|
|
52
|
+
- `err_kws` - Additional parameters for error representation
|
|
53
|
+
- `markers` - Marker style(s) for emphasizing data points
|
|
54
|
+
- `dashes` - Dash style(s) for lines
|
|
55
|
+
- `legend` - How to draw legend
|
|
56
|
+
- `ax` - Matplotlib axes to plot on
|
|
57
|
+
|
|
58
|
+
**Example:**
|
|
59
|
+
```python
|
|
60
|
+
sns.lineplot(data=timeseries, x='time', y='signal',
|
|
61
|
+
hue='condition', style='subject',
|
|
62
|
+
errorbar=('ci', 95), markers=True)
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### relplot()
|
|
66
|
+
|
|
67
|
+
**Purpose:** Figure-level interface for drawing relational plots (scatter or line) onto a FacetGrid.
|
|
68
|
+
|
|
69
|
+
**Key Parameters:**
|
|
70
|
+
All parameters from `scatterplot()` and `lineplot()`, plus:
|
|
71
|
+
- `kind` - "scatter" or "line"
|
|
72
|
+
- `col` - Categorical variable for column facets
|
|
73
|
+
- `row` - Categorical variable for row facets
|
|
74
|
+
- `col_wrap` - Wrap columns after this many columns
|
|
75
|
+
- `col_order` - Order for column facet levels
|
|
76
|
+
- `row_order` - Order for row facet levels
|
|
77
|
+
- `height` - Height of each facet in inches
|
|
78
|
+
- `aspect` - Aspect ratio (width = height * aspect)
|
|
79
|
+
- `facet_kws` - Additional parameters for FacetGrid
|
|
80
|
+
|
|
81
|
+
**Example:**
|
|
82
|
+
```python
|
|
83
|
+
sns.relplot(data=df, x='time', y='measurement',
|
|
84
|
+
hue='treatment', style='batch',
|
|
85
|
+
col='cell_line', row='timepoint',
|
|
86
|
+
kind='line', height=3, aspect=1.5)
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Distribution Plots
|
|
90
|
+
|
|
91
|
+
### histplot()
|
|
92
|
+
|
|
93
|
+
**Purpose:** Plot univariate or bivariate histograms with flexible binning.
|
|
94
|
+
|
|
95
|
+
**Key Parameters:**
|
|
96
|
+
- `data` - DataFrame, array, or dict
|
|
97
|
+
- `x, y` - Variables (y optional for bivariate)
|
|
98
|
+
- `hue` - Grouping variable
|
|
99
|
+
- `weights` - Variable for weighting observations
|
|
100
|
+
- `stat` - Aggregate statistic: "count", "frequency", "probability", "percent", "density"
|
|
101
|
+
- `bins` - Number of bins, bin edges, or method ("auto", "fd", "doane", "scott", "stone", "rice", "sturges", "sqrt")
|
|
102
|
+
- `binwidth` - Width of bins (overrides bins)
|
|
103
|
+
- `binrange` - Range for binning (tuple)
|
|
104
|
+
- `discrete` - Treat x as discrete (centers bars on values)
|
|
105
|
+
- `cumulative` - Compute cumulative distribution
|
|
106
|
+
- `common_bins` - Use same bins for all hue levels
|
|
107
|
+
- `common_norm` - Normalize across hue levels
|
|
108
|
+
- `multiple` - How to handle hue: "layer", "dodge", "stack", "fill"
|
|
109
|
+
- `element` - Visual element: "bars", "step", "poly"
|
|
110
|
+
- `fill` - Fill bars/elements
|
|
111
|
+
- `shrink` - Scale bar width (for multiple="dodge")
|
|
112
|
+
- `kde` - Overlay KDE estimate
|
|
113
|
+
- `kde_kws` - Parameters for KDE
|
|
114
|
+
- `line_kws` - Parameters for step/poly elements
|
|
115
|
+
- `thresh` - Minimum count threshold for bins
|
|
116
|
+
- `pthresh` - Minimum probability threshold
|
|
117
|
+
- `pmax` - Maximum probability for color scaling
|
|
118
|
+
- `log_scale` - Log scale for axis (bool or base)
|
|
119
|
+
- `legend` - Whether to show legend
|
|
120
|
+
- `ax` - Matplotlib axes
|
|
121
|
+
|
|
122
|
+
**Example:**
|
|
123
|
+
```python
|
|
124
|
+
sns.histplot(data=df, x='measurement', hue='condition',
|
|
125
|
+
stat='density', bins=30, kde=True,
|
|
126
|
+
multiple='layer', alpha=0.5)
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### kdeplot()
|
|
130
|
+
|
|
131
|
+
**Purpose:** Plot univariate or bivariate kernel density estimates.
|
|
132
|
+
|
|
133
|
+
**Key Parameters:**
|
|
134
|
+
- `data` - DataFrame, array, or dict
|
|
135
|
+
- `x, y` - Variables (y optional for bivariate)
|
|
136
|
+
- `hue` - Grouping variable
|
|
137
|
+
- `weights` - Variable for weighting observations
|
|
138
|
+
- `palette` - Color palette
|
|
139
|
+
- `hue_order` - Order for hue levels
|
|
140
|
+
- `hue_norm` - Normalization for numeric hue
|
|
141
|
+
- `multiple` - How to handle hue: "layer", "stack", "fill"
|
|
142
|
+
- `common_norm` - Normalize across hue levels
|
|
143
|
+
- `common_grid` - Use same grid for all hue levels
|
|
144
|
+
- `cumulative` - Compute cumulative distribution
|
|
145
|
+
- `bw_method` - Method for bandwidth: "scott", "silverman", or scalar
|
|
146
|
+
- `bw_adjust` - Bandwidth multiplier (higher = smoother)
|
|
147
|
+
- `log_scale` - Log scale for axis
|
|
148
|
+
- `levels` - Number or values for contour levels (bivariate)
|
|
149
|
+
- `thresh` - Minimum density threshold for contours
|
|
150
|
+
- `gridsize` - Grid resolution
|
|
151
|
+
- `cut` - Extension beyond data extremes (in bandwidth units)
|
|
152
|
+
- `clip` - Data range for curve (tuple)
|
|
153
|
+
- `fill` - Fill area under curve/contours
|
|
154
|
+
- `legend` - Whether to show legend
|
|
155
|
+
- `ax` - Matplotlib axes
|
|
156
|
+
|
|
157
|
+
**Example:**
|
|
158
|
+
```python
|
|
159
|
+
# Univariate
|
|
160
|
+
sns.kdeplot(data=df, x='measurement', hue='condition',
|
|
161
|
+
fill=True, common_norm=False, bw_adjust=1.5)
|
|
162
|
+
|
|
163
|
+
# Bivariate
|
|
164
|
+
sns.kdeplot(data=df, x='var1', y='var2',
|
|
165
|
+
fill=True, levels=10, thresh=0.05)
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### ecdfplot()
|
|
169
|
+
|
|
170
|
+
**Purpose:** Plot empirical cumulative distribution functions.
|
|
171
|
+
|
|
172
|
+
**Key Parameters:**
|
|
173
|
+
- `data` - DataFrame, array, or dict
|
|
174
|
+
- `x, y` - Variables (specify one)
|
|
175
|
+
- `hue` - Grouping variable
|
|
176
|
+
- `weights` - Variable for weighting observations
|
|
177
|
+
- `stat` - "proportion" or "count"
|
|
178
|
+
- `complementary` - Plot complementary CDF (1 - ECDF)
|
|
179
|
+
- `palette` - Color palette
|
|
180
|
+
- `hue_order` - Order for hue levels
|
|
181
|
+
- `hue_norm` - Normalization for numeric hue
|
|
182
|
+
- `log_scale` - Log scale for axis
|
|
183
|
+
- `legend` - Whether to show legend
|
|
184
|
+
- `ax` - Matplotlib axes
|
|
185
|
+
|
|
186
|
+
**Example:**
|
|
187
|
+
```python
|
|
188
|
+
sns.ecdfplot(data=df, x='response_time', hue='treatment',
|
|
189
|
+
stat='proportion', complementary=False)
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### rugplot()
|
|
193
|
+
|
|
194
|
+
**Purpose:** Plot tick marks showing individual observations along an axis.
|
|
195
|
+
|
|
196
|
+
**Key Parameters:**
|
|
197
|
+
- `data` - DataFrame, array, or dict
|
|
198
|
+
- `x, y` - Variable (specify one)
|
|
199
|
+
- `hue` - Grouping variable
|
|
200
|
+
- `height` - Height of ticks (proportion of axis)
|
|
201
|
+
- `expand_margins` - Add margin space for rug
|
|
202
|
+
- `palette` - Color palette
|
|
203
|
+
- `hue_order` - Order for hue levels
|
|
204
|
+
- `hue_norm` - Normalization for numeric hue
|
|
205
|
+
- `legend` - Whether to show legend
|
|
206
|
+
- `ax` - Matplotlib axes
|
|
207
|
+
|
|
208
|
+
**Example:**
|
|
209
|
+
```python
|
|
210
|
+
sns.rugplot(data=df, x='value', hue='category', height=0.05)
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### displot()
|
|
214
|
+
|
|
215
|
+
**Purpose:** Figure-level interface for distribution plots onto a FacetGrid.
|
|
216
|
+
|
|
217
|
+
**Key Parameters:**
|
|
218
|
+
All parameters from `histplot()`, `kdeplot()`, and `ecdfplot()`, plus:
|
|
219
|
+
- `kind` - "hist", "kde", "ecdf"
|
|
220
|
+
- `rug` - Add rug plot on marginal axes
|
|
221
|
+
- `rug_kws` - Parameters for rug plot
|
|
222
|
+
- `col` - Categorical variable for column facets
|
|
223
|
+
- `row` - Categorical variable for row facets
|
|
224
|
+
- `col_wrap` - Wrap columns
|
|
225
|
+
- `col_order` - Order for column facets
|
|
226
|
+
- `row_order` - Order for row facets
|
|
227
|
+
- `height` - Height of each facet
|
|
228
|
+
- `aspect` - Aspect ratio
|
|
229
|
+
- `facet_kws` - Additional parameters for FacetGrid
|
|
230
|
+
|
|
231
|
+
**Example:**
|
|
232
|
+
```python
|
|
233
|
+
sns.displot(data=df, x='measurement', hue='treatment',
|
|
234
|
+
col='timepoint', kind='kde', fill=True,
|
|
235
|
+
height=3, aspect=1.5, rug=True)
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### jointplot()
|
|
239
|
+
|
|
240
|
+
**Purpose:** Draw a bivariate plot with marginal univariate plots.
|
|
241
|
+
|
|
242
|
+
**Key Parameters:**
|
|
243
|
+
- `data` - DataFrame
|
|
244
|
+
- `x, y` - Variables for x and y axes
|
|
245
|
+
- `hue` - Grouping variable
|
|
246
|
+
- `kind` - "scatter", "kde", "hist", "hex", "reg", "resid"
|
|
247
|
+
- `height` - Size of the figure (square)
|
|
248
|
+
- `ratio` - Ratio of joint to marginal axes
|
|
249
|
+
- `space` - Space between joint and marginal axes
|
|
250
|
+
- `dropna` - Drop missing values
|
|
251
|
+
- `xlim, ylim` - Axis limits (tuples)
|
|
252
|
+
- `marginal_ticks` - Show ticks on marginal axes
|
|
253
|
+
- `joint_kws` - Parameters for joint plot
|
|
254
|
+
- `marginal_kws` - Parameters for marginal plots
|
|
255
|
+
- `hue_order` - Order for hue levels
|
|
256
|
+
- `palette` - Color palette
|
|
257
|
+
|
|
258
|
+
**Example:**
|
|
259
|
+
```python
|
|
260
|
+
sns.jointplot(data=df, x='var1', y='var2', hue='group',
|
|
261
|
+
kind='scatter', height=6, ratio=4,
|
|
262
|
+
joint_kws={'alpha': 0.5})
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### pairplot()
|
|
266
|
+
|
|
267
|
+
**Purpose:** Plot pairwise relationships in a dataset.
|
|
268
|
+
|
|
269
|
+
**Key Parameters:**
|
|
270
|
+
- `data` - DataFrame
|
|
271
|
+
- `hue` - Grouping variable for color encoding
|
|
272
|
+
- `hue_order` - Order for hue levels
|
|
273
|
+
- `palette` - Color palette
|
|
274
|
+
- `vars` - Variables to plot (default: all numeric)
|
|
275
|
+
- `x_vars, y_vars` - Variables for x and y axes (non-square grid)
|
|
276
|
+
- `kind` - "scatter", "kde", "hist", "reg"
|
|
277
|
+
- `diag_kind` - "auto", "hist", "kde", None
|
|
278
|
+
- `markers` - Marker style(s)
|
|
279
|
+
- `height` - Height of each facet
|
|
280
|
+
- `aspect` - Aspect ratio
|
|
281
|
+
- `corner` - Plot only lower triangle
|
|
282
|
+
- `dropna` - Drop missing values
|
|
283
|
+
- `plot_kws` - Parameters for non-diagonal plots
|
|
284
|
+
- `diag_kws` - Parameters for diagonal plots
|
|
285
|
+
- `grid_kws` - Parameters for PairGrid
|
|
286
|
+
|
|
287
|
+
**Example:**
|
|
288
|
+
```python
|
|
289
|
+
sns.pairplot(data=df, hue='species', palette='Set2',
|
|
290
|
+
vars=['sepal_length', 'sepal_width', 'petal_length'],
|
|
291
|
+
corner=True, height=2.5)
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
## Categorical Plots
|
|
295
|
+
|
|
296
|
+
### stripplot()
|
|
297
|
+
|
|
298
|
+
**Purpose:** Draw a categorical scatterplot with jittered points.
|
|
299
|
+
|
|
300
|
+
**Key Parameters:**
|
|
301
|
+
- `data` - DataFrame, array, or dict
|
|
302
|
+
- `x, y` - Variables (one categorical, one continuous)
|
|
303
|
+
- `hue` - Grouping variable
|
|
304
|
+
- `order` - Order for categorical levels
|
|
305
|
+
- `hue_order` - Order for hue levels
|
|
306
|
+
- `jitter` - Amount of jitter: True, float, or False
|
|
307
|
+
- `dodge` - Separate hue levels side-by-side
|
|
308
|
+
- `orient` - "v" or "h" (usually inferred)
|
|
309
|
+
- `color` - Single color for all elements
|
|
310
|
+
- `palette` - Color palette
|
|
311
|
+
- `size` - Marker size
|
|
312
|
+
- `edgecolor` - Marker edge color
|
|
313
|
+
- `linewidth` - Marker edge width
|
|
314
|
+
- `native_scale` - Use numeric scale for categorical axis
|
|
315
|
+
- `formatter` - Formatter for categorical axis
|
|
316
|
+
- `legend` - Whether to show legend
|
|
317
|
+
- `ax` - Matplotlib axes
|
|
318
|
+
|
|
319
|
+
**Example:**
|
|
320
|
+
```python
|
|
321
|
+
sns.stripplot(data=df, x='day', y='total_bill',
|
|
322
|
+
hue='sex', dodge=True, jitter=0.2)
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
### swarmplot()
|
|
326
|
+
|
|
327
|
+
**Purpose:** Draw a categorical scatterplot with non-overlapping points.
|
|
328
|
+
|
|
329
|
+
**Key Parameters:**
|
|
330
|
+
Same as `stripplot()`, except:
|
|
331
|
+
- No `jitter` parameter
|
|
332
|
+
- `size` - Marker size (important for avoiding overlap)
|
|
333
|
+
- `warn_thresh` - Threshold for warning about too many points (default: 0.05)
|
|
334
|
+
|
|
335
|
+
**Note:** Computationally intensive for large datasets. Use stripplot for >1000 points.
|
|
336
|
+
|
|
337
|
+
**Example:**
|
|
338
|
+
```python
|
|
339
|
+
sns.swarmplot(data=df, x='day', y='total_bill',
|
|
340
|
+
hue='time', dodge=True, size=5)
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
### boxplot()
|
|
344
|
+
|
|
345
|
+
**Purpose:** Draw a box plot showing quartiles and outliers.
|
|
346
|
+
|
|
347
|
+
**Key Parameters:**
|
|
348
|
+
- `data` - DataFrame, array, or dict
|
|
349
|
+
- `x, y` - Variables (one categorical, one continuous)
|
|
350
|
+
- `hue` - Grouping variable
|
|
351
|
+
- `order` - Order for categorical levels
|
|
352
|
+
- `hue_order` - Order for hue levels
|
|
353
|
+
- `orient` - "v" or "h"
|
|
354
|
+
- `color` - Single color for boxes
|
|
355
|
+
- `palette` - Color palette
|
|
356
|
+
- `saturation` - Color saturation intensity
|
|
357
|
+
- `width` - Width of boxes
|
|
358
|
+
- `dodge` - Separate hue levels side-by-side
|
|
359
|
+
- `fliersize` - Size of outlier markers
|
|
360
|
+
- `linewidth` - Box line width
|
|
361
|
+
- `whis` - IQR multiplier for whiskers (default: 1.5)
|
|
362
|
+
- `notch` - Draw notched boxes
|
|
363
|
+
- `showcaps` - Show whisker caps
|
|
364
|
+
- `showmeans` - Show mean value
|
|
365
|
+
- `meanprops` - Properties for mean marker
|
|
366
|
+
- `boxprops` - Properties for boxes
|
|
367
|
+
- `whiskerprops` - Properties for whiskers
|
|
368
|
+
- `capprops` - Properties for caps
|
|
369
|
+
- `flierprops` - Properties for outliers
|
|
370
|
+
- `medianprops` - Properties for median line
|
|
371
|
+
- `native_scale` - Use numeric scale
|
|
372
|
+
- `formatter` - Formatter for categorical axis
|
|
373
|
+
- `legend` - Whether to show legend
|
|
374
|
+
- `ax` - Matplotlib axes
|
|
375
|
+
|
|
376
|
+
**Example:**
|
|
377
|
+
```python
|
|
378
|
+
sns.boxplot(data=df, x='day', y='total_bill',
|
|
379
|
+
hue='smoker', palette='Set3',
|
|
380
|
+
showmeans=True, notch=True)
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
### violinplot()
|
|
384
|
+
|
|
385
|
+
**Purpose:** Draw a violin plot combining boxplot and KDE.
|
|
386
|
+
|
|
387
|
+
**Key Parameters:**
|
|
388
|
+
Same as `boxplot()`, plus:
|
|
389
|
+
- `bw_method` - KDE bandwidth method
|
|
390
|
+
- `bw_adjust` - KDE bandwidth multiplier
|
|
391
|
+
- `cut` - KDE extension beyond extremes
|
|
392
|
+
- `density_norm` - "area", "count", "width"
|
|
393
|
+
- `inner` - "box", "quartile", "point", "stick", None
|
|
394
|
+
- `split` - Split violins for hue comparison
|
|
395
|
+
- `scale` - Scaling method: "area", "count", "width"
|
|
396
|
+
- `scale_hue` - Scale across hue levels
|
|
397
|
+
- `gridsize` - KDE grid resolution
|
|
398
|
+
|
|
399
|
+
**Example:**
|
|
400
|
+
```python
|
|
401
|
+
sns.violinplot(data=df, x='day', y='total_bill',
|
|
402
|
+
hue='sex', split=True, inner='quartile',
|
|
403
|
+
palette='muted')
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
### boxenplot()
|
|
407
|
+
|
|
408
|
+
**Purpose:** Draw enhanced box plot for larger datasets showing more quantiles.
|
|
409
|
+
|
|
410
|
+
**Key Parameters:**
|
|
411
|
+
Same as `boxplot()`, plus:
|
|
412
|
+
- `k_depth` - "tukey", "proportion", "trustworthy", "full", or int
|
|
413
|
+
- `outlier_prop` - Proportion of data as outliers
|
|
414
|
+
- `trust_alpha` - Alpha for trustworthy depth
|
|
415
|
+
- `showfliers` - Show outlier points
|
|
416
|
+
|
|
417
|
+
**Example:**
|
|
418
|
+
```python
|
|
419
|
+
sns.boxenplot(data=df, x='day', y='total_bill',
|
|
420
|
+
hue='time', palette='Set2')
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
### barplot()
|
|
424
|
+
|
|
425
|
+
**Purpose:** Draw a bar plot with error bars showing statistical estimates.
|
|
426
|
+
|
|
427
|
+
**Key Parameters:**
|
|
428
|
+
- `data` - DataFrame, array, or dict
|
|
429
|
+
- `x, y` - Variables (one categorical, one continuous)
|
|
430
|
+
- `hue` - Grouping variable
|
|
431
|
+
- `order` - Order for categorical levels
|
|
432
|
+
- `hue_order` - Order for hue levels
|
|
433
|
+
- `estimator` - Aggregation function (default: mean)
|
|
434
|
+
- `errorbar` - Error representation: "sd", "se", "pi", ("ci", level), ("pi", level), or None
|
|
435
|
+
- `n_boot` - Bootstrap iterations
|
|
436
|
+
- `seed` - Random seed
|
|
437
|
+
- `units` - Identifier for sampling units
|
|
438
|
+
- `weights` - Observation weights
|
|
439
|
+
- `orient` - "v" or "h"
|
|
440
|
+
- `color` - Single bar color
|
|
441
|
+
- `palette` - Color palette
|
|
442
|
+
- `saturation` - Color saturation
|
|
443
|
+
- `width` - Bar width
|
|
444
|
+
- `dodge` - Separate hue levels side-by-side
|
|
445
|
+
- `errcolor` - Error bar color
|
|
446
|
+
- `errwidth` - Error bar line width
|
|
447
|
+
- `capsize` - Error bar cap width
|
|
448
|
+
- `native_scale` - Use numeric scale
|
|
449
|
+
- `formatter` - Formatter for categorical axis
|
|
450
|
+
- `legend` - Whether to show legend
|
|
451
|
+
- `ax` - Matplotlib axes
|
|
452
|
+
|
|
453
|
+
**Example:**
|
|
454
|
+
```python
|
|
455
|
+
sns.barplot(data=df, x='day', y='total_bill',
|
|
456
|
+
hue='sex', estimator='median',
|
|
457
|
+
errorbar=('ci', 95), capsize=0.1)
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
### countplot()
|
|
461
|
+
|
|
462
|
+
**Purpose:** Show counts of observations in each categorical bin.
|
|
463
|
+
|
|
464
|
+
**Key Parameters:**
|
|
465
|
+
Same as `barplot()`, but:
|
|
466
|
+
- Only specify one of x or y (the categorical variable)
|
|
467
|
+
- No estimator or errorbar (shows counts)
|
|
468
|
+
- `stat` - "count" or "percent"
|
|
469
|
+
|
|
470
|
+
**Example:**
|
|
471
|
+
```python
|
|
472
|
+
sns.countplot(data=df, x='day', hue='time',
|
|
473
|
+
palette='pastel', dodge=True)
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
### pointplot()
|
|
477
|
+
|
|
478
|
+
**Purpose:** Show point estimates and confidence intervals with connecting lines.
|
|
479
|
+
|
|
480
|
+
**Key Parameters:**
|
|
481
|
+
Same as `barplot()`, plus:
|
|
482
|
+
- `markers` - Marker style(s)
|
|
483
|
+
- `linestyles` - Line style(s)
|
|
484
|
+
- `scale` - Scale for markers
|
|
485
|
+
- `join` - Connect points with lines
|
|
486
|
+
- `capsize` - Error bar cap width
|
|
487
|
+
|
|
488
|
+
**Example:**
|
|
489
|
+
```python
|
|
490
|
+
sns.pointplot(data=df, x='time', y='total_bill',
|
|
491
|
+
hue='sex', markers=['o', 's'],
|
|
492
|
+
linestyles=['-', '--'], capsize=0.1)
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
### catplot()
|
|
496
|
+
|
|
497
|
+
**Purpose:** Figure-level interface for categorical plots onto a FacetGrid.
|
|
498
|
+
|
|
499
|
+
**Key Parameters:**
|
|
500
|
+
All parameters from categorical plots, plus:
|
|
501
|
+
- `kind` - "strip", "swarm", "box", "violin", "boxen", "bar", "point", "count"
|
|
502
|
+
- `col` - Categorical variable for column facets
|
|
503
|
+
- `row` - Categorical variable for row facets
|
|
504
|
+
- `col_wrap` - Wrap columns
|
|
505
|
+
- `col_order` - Order for column facets
|
|
506
|
+
- `row_order` - Order for row facets
|
|
507
|
+
- `height` - Height of each facet
|
|
508
|
+
- `aspect` - Aspect ratio
|
|
509
|
+
- `sharex, sharey` - Share axes across facets
|
|
510
|
+
- `legend` - Whether to show legend
|
|
511
|
+
- `legend_out` - Place legend outside figure
|
|
512
|
+
- `facet_kws` - Additional FacetGrid parameters
|
|
513
|
+
|
|
514
|
+
**Example:**
|
|
515
|
+
```python
|
|
516
|
+
sns.catplot(data=df, x='day', y='total_bill',
|
|
517
|
+
hue='smoker', col='time',
|
|
518
|
+
kind='violin', split=True,
|
|
519
|
+
height=4, aspect=0.8)
|
|
520
|
+
```
|
|
521
|
+
|
|
522
|
+
## Regression Plots
|
|
523
|
+
|
|
524
|
+
### regplot()
|
|
525
|
+
|
|
526
|
+
**Purpose:** Plot data and a linear regression fit.
|
|
527
|
+
|
|
528
|
+
**Key Parameters:**
|
|
529
|
+
- `data` - DataFrame
|
|
530
|
+
- `x, y` - Variables or data vectors
|
|
531
|
+
- `x_estimator` - Apply estimator to x bins
|
|
532
|
+
- `x_bins` - Bin x for estimator
|
|
533
|
+
- `x_ci` - CI for binned estimates
|
|
534
|
+
- `scatter` - Show scatter points
|
|
535
|
+
- `fit_reg` - Plot regression line
|
|
536
|
+
- `ci` - CI for regression estimate (int or None)
|
|
537
|
+
- `n_boot` - Bootstrap iterations for CI
|
|
538
|
+
- `units` - Identifier for sampling units
|
|
539
|
+
- `seed` - Random seed
|
|
540
|
+
- `order` - Polynomial regression order
|
|
541
|
+
- `logistic` - Fit logistic regression
|
|
542
|
+
- `lowess` - Fit lowess smoother
|
|
543
|
+
- `robust` - Fit robust regression
|
|
544
|
+
- `logx` - Log-transform x
|
|
545
|
+
- `x_partial, y_partial` - Partial regression (regress out variables)
|
|
546
|
+
- `truncate` - Limit regression line to data range
|
|
547
|
+
- `dropna` - Drop missing values
|
|
548
|
+
- `x_jitter, y_jitter` - Add jitter to data
|
|
549
|
+
- `label` - Label for legend
|
|
550
|
+
- `color` - Color for all elements
|
|
551
|
+
- `marker` - Marker style
|
|
552
|
+
- `scatter_kws` - Parameters for scatter
|
|
553
|
+
- `line_kws` - Parameters for regression line
|
|
554
|
+
- `ax` - Matplotlib axes
|
|
555
|
+
|
|
556
|
+
**Example:**
|
|
557
|
+
```python
|
|
558
|
+
sns.regplot(data=df, x='total_bill', y='tip',
|
|
559
|
+
order=2, robust=True, ci=95,
|
|
560
|
+
scatter_kws={'alpha': 0.5})
|
|
561
|
+
```
|
|
562
|
+
|
|
563
|
+
### lmplot()
|
|
564
|
+
|
|
565
|
+
**Purpose:** Figure-level interface for regression plots onto a FacetGrid.
|
|
566
|
+
|
|
567
|
+
**Key Parameters:**
|
|
568
|
+
All parameters from `regplot()`, plus:
|
|
569
|
+
- `hue` - Grouping variable
|
|
570
|
+
- `col` - Column facets
|
|
571
|
+
- `row` - Row facets
|
|
572
|
+
- `palette` - Color palette
|
|
573
|
+
- `col_wrap` - Wrap columns
|
|
574
|
+
- `height` - Facet height
|
|
575
|
+
- `aspect` - Aspect ratio
|
|
576
|
+
- `markers` - Marker style(s)
|
|
577
|
+
- `sharex, sharey` - Share axes
|
|
578
|
+
- `hue_order` - Order for hue levels
|
|
579
|
+
- `col_order` - Order for column facets
|
|
580
|
+
- `row_order` - Order for row facets
|
|
581
|
+
- `legend` - Whether to show legend
|
|
582
|
+
- `legend_out` - Place legend outside
|
|
583
|
+
- `facet_kws` - FacetGrid parameters
|
|
584
|
+
|
|
585
|
+
**Example:**
|
|
586
|
+
```python
|
|
587
|
+
sns.lmplot(data=df, x='total_bill', y='tip',
|
|
588
|
+
hue='smoker', col='time', row='sex',
|
|
589
|
+
height=3, aspect=1.2, ci=None)
|
|
590
|
+
```
|
|
591
|
+
|
|
592
|
+
### residplot()
|
|
593
|
+
|
|
594
|
+
**Purpose:** Plot residuals of a regression.
|
|
595
|
+
|
|
596
|
+
**Key Parameters:**
|
|
597
|
+
Same as `regplot()`, but:
|
|
598
|
+
- Always plots residuals (y - predicted) vs x
|
|
599
|
+
- Adds horizontal line at y=0
|
|
600
|
+
- `lowess` - Fit lowess smoother to residuals
|
|
601
|
+
|
|
602
|
+
**Example:**
|
|
603
|
+
```python
|
|
604
|
+
sns.residplot(data=df, x='x', y='y', lowess=True,
|
|
605
|
+
scatter_kws={'alpha': 0.5})
|
|
606
|
+
```
|
|
607
|
+
|
|
608
|
+
## Matrix Plots
|
|
609
|
+
|
|
610
|
+
### heatmap()
|
|
611
|
+
|
|
612
|
+
**Purpose:** Plot rectangular data as a color-encoded matrix.
|
|
613
|
+
|
|
614
|
+
**Key Parameters:**
|
|
615
|
+
- `data` - 2D array-like data
|
|
616
|
+
- `vmin, vmax` - Anchor values for colormap
|
|
617
|
+
- `cmap` - Colormap name or object
|
|
618
|
+
- `center` - Value at colormap center
|
|
619
|
+
- `robust` - Use robust quantiles for colormap range
|
|
620
|
+
- `annot` - Annotate cells: True, False, or array
|
|
621
|
+
- `fmt` - Format string for annotations (e.g., ".2f")
|
|
622
|
+
- `annot_kws` - Parameters for annotations
|
|
623
|
+
- `linewidths` - Width of cell borders
|
|
624
|
+
- `linecolor` - Color of cell borders
|
|
625
|
+
- `cbar` - Draw colorbar
|
|
626
|
+
- `cbar_kws` - Colorbar parameters
|
|
627
|
+
- `cbar_ax` - Axes for colorbar
|
|
628
|
+
- `square` - Force square cells
|
|
629
|
+
- `xticklabels, yticklabels` - Tick labels (True, False, int, or list)
|
|
630
|
+
- `mask` - Boolean array to mask cells
|
|
631
|
+
- `ax` - Matplotlib axes
|
|
632
|
+
|
|
633
|
+
**Example:**
|
|
634
|
+
```python
|
|
635
|
+
# Correlation matrix
|
|
636
|
+
corr = df.corr()
|
|
637
|
+
mask = np.triu(np.ones_like(corr, dtype=bool))
|
|
638
|
+
sns.heatmap(corr, mask=mask, annot=True, fmt='.2f',
|
|
639
|
+
cmap='coolwarm', center=0, square=True,
|
|
640
|
+
linewidths=1, cbar_kws={'shrink': 0.8})
|
|
641
|
+
```
|
|
642
|
+
|
|
643
|
+
### clustermap()
|
|
644
|
+
|
|
645
|
+
**Purpose:** Plot a hierarchically-clustered heatmap.
|
|
646
|
+
|
|
647
|
+
**Key Parameters:**
|
|
648
|
+
All parameters from `heatmap()`, plus:
|
|
649
|
+
- `pivot_kws` - Parameters for pivoting (if needed)
|
|
650
|
+
- `method` - Linkage method: "single", "complete", "average", "weighted", "centroid", "median", "ward"
|
|
651
|
+
- `metric` - Distance metric for clustering
|
|
652
|
+
- `standard_scale` - Standardize data: 0 (rows), 1 (columns), or None
|
|
653
|
+
- `z_score` - Z-score normalize data: 0 (rows), 1 (columns), or None
|
|
654
|
+
- `row_cluster, col_cluster` - Cluster rows/columns
|
|
655
|
+
- `row_linkage, col_linkage` - Precomputed linkage matrices
|
|
656
|
+
- `row_colors, col_colors` - Additional color annotations
|
|
657
|
+
- `dendrogram_ratio` - Ratio of dendrogram to heatmap
|
|
658
|
+
- `colors_ratio` - Ratio of color annotations to heatmap
|
|
659
|
+
- `cbar_pos` - Colorbar position (tuple: x, y, width, height)
|
|
660
|
+
- `tree_kws` - Parameters for dendrogram
|
|
661
|
+
- `figsize` - Figure size
|
|
662
|
+
|
|
663
|
+
**Example:**
|
|
664
|
+
```python
|
|
665
|
+
sns.clustermap(data, method='average', metric='euclidean',
|
|
666
|
+
z_score=0, cmap='viridis',
|
|
667
|
+
row_colors=row_colors, col_colors=col_colors,
|
|
668
|
+
figsize=(12, 12), dendrogram_ratio=0.1)
|
|
669
|
+
```
|
|
670
|
+
|
|
671
|
+
## Multi-Plot Grids
|
|
672
|
+
|
|
673
|
+
### FacetGrid
|
|
674
|
+
|
|
675
|
+
**Purpose:** Multi-plot grid for plotting conditional relationships.
|
|
676
|
+
|
|
677
|
+
**Initialization:**
|
|
678
|
+
```python
|
|
679
|
+
g = sns.FacetGrid(data, row=None, col=None, hue=None,
|
|
680
|
+
col_wrap=None, sharex=True, sharey=True,
|
|
681
|
+
height=3, aspect=1, palette=None,
|
|
682
|
+
row_order=None, col_order=None, hue_order=None,
|
|
683
|
+
hue_kws=None, dropna=False, legend_out=True,
|
|
684
|
+
despine=True, margin_titles=False,
|
|
685
|
+
xlim=None, ylim=None, subplot_kws=None,
|
|
686
|
+
gridspec_kws=None)
|
|
687
|
+
```
|
|
688
|
+
|
|
689
|
+
**Methods:**
|
|
690
|
+
- `map(func, *args, **kwargs)` - Apply function to each facet
|
|
691
|
+
- `map_dataframe(func, *args, **kwargs)` - Apply function with full DataFrame
|
|
692
|
+
- `set_axis_labels(x_var, y_var)` - Set axis labels
|
|
693
|
+
- `set_titles(template, **kwargs)` - Set subplot titles
|
|
694
|
+
- `set(kwargs)` - Set attributes on all axes
|
|
695
|
+
- `add_legend(legend_data, title, label_order, **kwargs)` - Add legend
|
|
696
|
+
- `savefig(*args, **kwargs)` - Save figure
|
|
697
|
+
|
|
698
|
+
**Example:**
|
|
699
|
+
```python
|
|
700
|
+
g = sns.FacetGrid(df, col='time', row='sex', hue='smoker',
|
|
701
|
+
height=3, aspect=1.5, margin_titles=True)
|
|
702
|
+
g.map(sns.scatterplot, 'total_bill', 'tip', alpha=0.7)
|
|
703
|
+
g.add_legend()
|
|
704
|
+
g.set_axis_labels('Total Bill ($)', 'Tip ($)')
|
|
705
|
+
g.set_titles('{col_name} | {row_name}')
|
|
706
|
+
```
|
|
707
|
+
|
|
708
|
+
### PairGrid
|
|
709
|
+
|
|
710
|
+
**Purpose:** Grid for plotting pairwise relationships in a dataset.
|
|
711
|
+
|
|
712
|
+
**Initialization:**
|
|
713
|
+
```python
|
|
714
|
+
g = sns.PairGrid(data, hue=None, vars=None,
|
|
715
|
+
x_vars=None, y_vars=None,
|
|
716
|
+
hue_order=None, palette=None,
|
|
717
|
+
hue_kws=None, corner=False,
|
|
718
|
+
diag_sharey=True, height=2.5,
|
|
719
|
+
aspect=1, layout_pad=0.5,
|
|
720
|
+
despine=True, dropna=False)
|
|
721
|
+
```
|
|
722
|
+
|
|
723
|
+
**Methods:**
|
|
724
|
+
- `map(func, **kwargs)` - Apply function to all subplots
|
|
725
|
+
- `map_diag(func, **kwargs)` - Apply to diagonal
|
|
726
|
+
- `map_offdiag(func, **kwargs)` - Apply to off-diagonal
|
|
727
|
+
- `map_upper(func, **kwargs)` - Apply to upper triangle
|
|
728
|
+
- `map_lower(func, **kwargs)` - Apply to lower triangle
|
|
729
|
+
- `add_legend(legend_data, **kwargs)` - Add legend
|
|
730
|
+
- `savefig(*args, **kwargs)` - Save figure
|
|
731
|
+
|
|
732
|
+
**Example:**
|
|
733
|
+
```python
|
|
734
|
+
g = sns.PairGrid(df, hue='species', vars=['a', 'b', 'c', 'd'],
|
|
735
|
+
corner=True, height=2.5)
|
|
736
|
+
g.map_upper(sns.scatterplot, alpha=0.5)
|
|
737
|
+
g.map_lower(sns.kdeplot)
|
|
738
|
+
g.map_diag(sns.histplot, kde=True)
|
|
739
|
+
g.add_legend()
|
|
740
|
+
```
|
|
741
|
+
|
|
742
|
+
### JointGrid
|
|
743
|
+
|
|
744
|
+
**Purpose:** Grid for bivariate plot with marginal univariate plots.
|
|
745
|
+
|
|
746
|
+
**Initialization:**
|
|
747
|
+
```python
|
|
748
|
+
g = sns.JointGrid(data=None, x=None, y=None, hue=None,
|
|
749
|
+
height=6, ratio=5, space=0.2,
|
|
750
|
+
dropna=False, xlim=None, ylim=None,
|
|
751
|
+
marginal_ticks=False, hue_order=None,
|
|
752
|
+
palette=None)
|
|
753
|
+
```
|
|
754
|
+
|
|
755
|
+
**Methods:**
|
|
756
|
+
- `plot(joint_func, marginal_func, **kwargs)` - Plot both joint and marginals
|
|
757
|
+
- `plot_joint(func, **kwargs)` - Plot joint distribution
|
|
758
|
+
- `plot_marginals(func, **kwargs)` - Plot marginal distributions
|
|
759
|
+
- `refline(x, y, **kwargs)` - Add reference line
|
|
760
|
+
- `set_axis_labels(xlabel, ylabel, **kwargs)` - Set axis labels
|
|
761
|
+
- `savefig(*args, **kwargs)` - Save figure
|
|
762
|
+
|
|
763
|
+
**Example:**
|
|
764
|
+
```python
|
|
765
|
+
g = sns.JointGrid(data=df, x='x', y='y', hue='group',
|
|
766
|
+
height=6, ratio=5, space=0.2)
|
|
767
|
+
g.plot_joint(sns.scatterplot, alpha=0.5)
|
|
768
|
+
g.plot_marginals(sns.histplot, kde=True)
|
|
769
|
+
g.set_axis_labels('Variable X', 'Variable Y')
|
|
770
|
+
```
|