tag:github.com,2008:https://github.com/LSYS/forestplot/releases
Release notes from forestplot
2024-07-28T07:20:22Z
tag:github.com,2008:Repository/510013191/v0.4.1
2024-07-28T07:22:52Z
v0.4.1
<h2>What's Changed</h2>
<ul>
<li>Fix padding for data w/ 6 (or fewer) rows (resolves <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1577245321" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/52" data-hovercard-type="issue" data-hovercard-url="/LSYS/forestplot/issues/52/hovercard" href="https://github.com/LSYS/forestplot/issues/52">#52</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LSYS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LSYS">@LSYS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2433775928" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/117" data-hovercard-type="pull_request" data-hovercard-url="/LSYS/forestplot/pull/117/hovercard" href="https://github.com/LSYS/forestplot/pull/117">#117</a></li>
<li>Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeanbaptisteb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeanbaptisteb">@jeanbaptisteb</a> for providing the fix! (see <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1577245321" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/52" data-hovercard-type="issue" data-hovercard-url="/LSYS/forestplot/issues/52/hovercard?comment_id=1972946620&comment_type=issue_comment" href="https://github.com/LSYS/forestplot/issues/52#issuecomment-1972946620">#52 (comment)</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/LSYS/forestplot/compare/v0.4.0...v0.4.1"><tt>v0.4.0...v0.4.1</tt></a></p>
LSYS
tag:github.com,2008:Repository/510013191/v0.4.0
2024-01-21T05:02:56Z
Mplot
<h2>What's Changed</h2>
<ul>
<li>Mplot by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LSYS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LSYS">@LSYS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2092414840" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/108" data-hovercard-type="pull_request" data-hovercard-url="/LSYS/forestplot/pull/108/hovercard" href="https://github.com/LSYS/forestplot/pull/108">#108</a></li>
</ul>
<h2>Forestplot</h2>
<p><code>forestplot</code> is a Python package to make publication-ready but customizable coefficient plots.</p>
<ul>
<li>GitHub repo: <a href="https://github.com/LSYS/forestplot">https://github.com/LSYS/forestplot</a></li>
<li>Docs: <a href="https://forestplot.readthedocs.io" rel="nofollow">https://forestplot.readthedocs.io</a></li>
</ul>
<p>To install via PyPI:</p>
<div class="highlight highlight-text-shell-session notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="pip install forestplot"><pre><span class="pl-c1">pip install forestplot</span></pre></div>
<p><strong>Quickstart:</strong></p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="import forestplot as fp
df_mmodel = pd.read_csv("../examples/data/sleep-mmodel.csv").query(
"model=='all' | model=='young kids'"
)
fp.mforestplot(
dataframe=df_mmodel,
estimate="coef",
ll="ll",
hl="hl",
varlabel="label",
capitalize="capitalize",
model_col="model",
color_alt_rows=True,
groupvar="group",
table=True,
rightannote=["var", "group"],
right_annoteheaders=["Source", "Group"],
xlabel="Coefficient (95% CI)",
modellabels=["Have young kids", "Full sample"],
xticks=[-1200, -600, 0, 600],
mcolor=["#CC6677", "#4477AA"],
# Additional kwargs for customizations
**{
"markersize": 30,
# override default vertical offset between models (0.0 to 1.0)
"offset": 0.35,
"xlinestyle": (0, (10, 5)), # long dash for x-reference line
"xlinecolor": ".8", # gray color for x-reference line
},
)"><pre><span class="pl-k">import</span> <span class="pl-s1">forestplot</span> <span class="pl-k">as</span> <span class="pl-s1">fp</span>
<span class="pl-s1">df_mmodel</span> <span class="pl-c1">=</span> <span class="pl-s1">pd</span>.<span class="pl-c1">read_csv</span>(<span class="pl-s">"../examples/data/sleep-mmodel.csv"</span>).<span class="pl-c1">query</span>(
<span class="pl-s">"model=='all' | model=='young kids'"</span>
)
<span class="pl-s1">fp</span>.<span class="pl-c1">mforestplot</span>(
<span class="pl-s1">dataframe</span><span class="pl-c1">=</span><span class="pl-s1">df_mmodel</span>,
<span class="pl-s1">estimate</span><span class="pl-c1">=</span><span class="pl-s">"coef"</span>,
<span class="pl-s1">ll</span><span class="pl-c1">=</span><span class="pl-s">"ll"</span>,
<span class="pl-s1">hl</span><span class="pl-c1">=</span><span class="pl-s">"hl"</span>,
<span class="pl-s1">varlabel</span><span class="pl-c1">=</span><span class="pl-s">"label"</span>,
<span class="pl-s1">capitalize</span><span class="pl-c1">=</span><span class="pl-s">"capitalize"</span>,
<span class="pl-s1">model_col</span><span class="pl-c1">=</span><span class="pl-s">"model"</span>,
<span class="pl-s1">color_alt_rows</span><span class="pl-c1">=</span><span class="pl-c1">True</span>,
<span class="pl-s1">groupvar</span><span class="pl-c1">=</span><span class="pl-s">"group"</span>,
<span class="pl-s1">table</span><span class="pl-c1">=</span><span class="pl-c1">True</span>,
<span class="pl-s1">rightannote</span><span class="pl-c1">=</span>[<span class="pl-s">"var"</span>, <span class="pl-s">"group"</span>],
<span class="pl-s1">right_annoteheaders</span><span class="pl-c1">=</span>[<span class="pl-s">"Source"</span>, <span class="pl-s">"Group"</span>],
<span class="pl-s1">xlabel</span><span class="pl-c1">=</span><span class="pl-s">"Coefficient (95% CI)"</span>,
<span class="pl-s1">modellabels</span><span class="pl-c1">=</span>[<span class="pl-s">"Have young kids"</span>, <span class="pl-s">"Full sample"</span>],
<span class="pl-s1">xticks</span><span class="pl-c1">=</span>[<span class="pl-c1">-</span><span class="pl-c1">1200</span>, <span class="pl-c1">-</span><span class="pl-c1">600</span>, <span class="pl-c1">0</span>, <span class="pl-c1">600</span>],
<span class="pl-s1">mcolor</span><span class="pl-c1">=</span>[<span class="pl-s">"#CC6677"</span>, <span class="pl-s">"#4477AA"</span>],
<span class="pl-c"># Additional kwargs for customizations</span>
<span class="pl-c1">**</span>{
<span class="pl-s">"markersize"</span>: <span class="pl-c1">30</span>,
<span class="pl-c"># override default vertical offset between models (0.0 to 1.0)</span>
<span class="pl-s">"offset"</span>: <span class="pl-c1">0.35</span>,
<span class="pl-s">"xlinestyle"</span>: (<span class="pl-c1">0</span>, (<span class="pl-c1">10</span>, <span class="pl-c1">5</span>)), <span class="pl-c"># long dash for x-reference line</span>
<span class="pl-s">"xlinecolor"</span>: <span class="pl-s">".8"</span>, <span class="pl-c"># gray color for x-reference line</span>
},
)</pre></div>
<p><a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/10510571/298361294-a0def294-6cf8-4326-b378-2e24ae2e4e5d.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxNjU2OTIsIm5iZiI6MTc3NDE2NTM5MiwicGF0aCI6Ii8xMDUxMDU3MS8yOTgzNjEyOTQtYTBkZWYyOTQtNmNmOC00MzI2LWIzNzgtMmUyNGFlMmU0ZTVkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIyVDA3NDMxMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc1ZTFjNGYzMDg1ZGE3MWI2NDQzNWE1N2MyZTM4ZjQ2ZWMyNjY2NjliMzllYzVhZDdmMTRhNzE1YTUzNzVmMDEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.9s6I5EQxv6ZV_uXL_l1hCzDvP5a6LDql7ZBpbLvdX2U"><img src="https://private-user-images.githubusercontent.com/10510571/298361294-a0def294-6cf8-4326-b378-2e24ae2e4e5d.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxNjU2OTIsIm5iZiI6MTc3NDE2NTM5MiwicGF0aCI6Ii8xMDUxMDU3MS8yOTgzNjEyOTQtYTBkZWYyOTQtNmNmOC00MzI2LWIzNzgtMmUyNGFlMmU0ZTVkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIyVDA3NDMxMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc1ZTFjNGYzMDg1ZGE3MWI2NDQzNWE1N2MyZTM4ZjQ2ZWMyNjY2NjliMzllYzVhZDdmMTRhNzE1YTUzNzVmMDEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.9s6I5EQxv6ZV_uXL_l1hCzDvP5a6LDql7ZBpbLvdX2U" alt="image" content-type-secured-asset="image/png" style="max-width: 100%;"></a></p>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/LSYS/forestplot/compare/v0.3.3...v0.4.0"><tt>v0.3.3...v0.4.0</tt></a></p>
LSYS
tag:github.com,2008:Repository/510013191/v0.3.3
2023-12-24T07:49:09Z
v0.3.3
<h2>What's Changed</h2>
<ul>
<li>Add axis object as argument to forest plot by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juancq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juancq">@juancq</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1685951012" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/73" data-hovercard-type="pull_request" data-hovercard-url="/LSYS/forestplot/pull/73/hovercard" href="https://github.com/LSYS/forestplot/pull/73">#73</a></li>
<li>Warn about duplicated <code>varlabel</code> (closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1736168837" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/76" data-hovercard-type="issue" data-hovercard-url="/LSYS/forestplot/issues/76/hovercard" href="https://github.com/LSYS/forestplot/issues/76">#76</a>, closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1894513543" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/81" data-hovercard-type="issue" data-hovercard-url="/LSYS/forestplot/issues/81/hovercard" href="https://github.com/LSYS/forestplot/issues/81">#81</a>).</li>
<li>Add test that above warning works.</li>
<li>Add known issues about duplicated <code>varlabel</code> (closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1736168837" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/76" data-hovercard-type="issue" data-hovercard-url="/LSYS/forestplot/issues/76/hovercard" href="https://github.com/LSYS/forestplot/issues/76">#76</a>, closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1894513543" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/81" data-hovercard-type="issue" data-hovercard-url="/LSYS/forestplot/issues/81/hovercard" href="https://github.com/LSYS/forestplot/issues/81">#81</a>) and PyCharm (closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1809921581" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/80" data-hovercard-type="issue" data-hovercard-url="/LSYS/forestplot/issues/80/hovercard" href="https://github.com/LSYS/forestplot/issues/80">#80</a>).</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juancq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juancq">@juancq</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1685951012" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/73" data-hovercard-type="pull_request" data-hovercard-url="/LSYS/forestplot/pull/73/hovercard" href="https://github.com/LSYS/forestplot/pull/73">#73</a></li>
</ul>
<h2>Forestplot</h2>
<p><code>forestplot</code> is a Python package to make publication-ready but customizable coefficient plots.</p>
<ul>
<li>GitHub repo: <a href="https://github.com/LSYS/forestplot">https://github.com/LSYS/forestplot</a></li>
<li>Docs: <a href="https://forestplot.readthedocs.io" rel="nofollow">https://forestplot.readthedocs.io</a></li>
</ul>
<p>To install via PyPI:</p>
<div class="highlight highlight-text-shell-session notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="pip install forestplot"><pre><span class="pl-c1">pip install forestplot</span></pre></div>
<p>Quickstart:</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="import forestplot as fp
df = fp.load_data("sleep") # companion example data
fp.forestplot(df, # the dataframe with results data
estimate="r", # col containing estimated effect size
ll="ll", hl="hl", # columns containing conf. int. lower and higher limits
varlabel="label", # column containing variable label
ylabel="Confidence interval", # y-label title
xlabel="Pearson correlation" # x-label title
)"><pre><span class="pl-k">import</span> <span class="pl-s1">forestplot</span> <span class="pl-k">as</span> <span class="pl-s1">fp</span>
<span class="pl-s1">df</span> <span class="pl-c1">=</span> <span class="pl-s1">fp</span>.<span class="pl-c1">load_data</span>(<span class="pl-s">"sleep"</span>) <span class="pl-c"># companion example data</span>
<span class="pl-s1">fp</span>.<span class="pl-c1">forestplot</span>(<span class="pl-s1">df</span>, <span class="pl-c"># the dataframe with results data</span>
<span class="pl-s1">estimate</span><span class="pl-c1">=</span><span class="pl-s">"r"</span>, <span class="pl-c"># col containing estimated effect size </span>
<span class="pl-s1">ll</span><span class="pl-c1">=</span><span class="pl-s">"ll"</span>, <span class="pl-s1">hl</span><span class="pl-c1">=</span><span class="pl-s">"hl"</span>, <span class="pl-c"># columns containing conf. int. lower and higher limits</span>
<span class="pl-s1">varlabel</span><span class="pl-c1">=</span><span class="pl-s">"label"</span>, <span class="pl-c"># column containing variable label</span>
<span class="pl-s1">ylabel</span><span class="pl-c1">=</span><span class="pl-s">"Confidence interval"</span>, <span class="pl-c"># y-label title</span>
<span class="pl-s1">xlabel</span><span class="pl-c1">=</span><span class="pl-s">"Pearson correlation"</span> <span class="pl-c"># x-label title</span>
)</pre></div>
<p><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/10510571/222646516-f6198167-7493-445d-bcd4-2d1dec8abdf2.png"><img src="https://user-images.githubusercontent.com/10510571/222646516-f6198167-7493-445d-bcd4-2d1dec8abdf2.png" alt="image" style="max-width: 100%;"></a></p>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/LSYS/forestplot/compare/v0.3.2...v0.3.3"><tt>v0.3.2...v0.3.3</tt></a></p>
LSYS
tag:github.com,2008:Repository/510013191/v0.3.2
2023-12-14T04:22:57Z
v0.3.2
<h2>What's Changed</h2>
<ul>
<li>Patch to fix bug for newer matplotlib versions (by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LSYS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LSYS">@LSYS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2040867237" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/85" data-hovercard-type="pull_request" data-hovercard-url="/LSYS/forestplot/pull/85/hovercard" href="https://github.com/LSYS/forestplot/pull/85">#85</a>).</li>
<li>Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maikia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maikia">@maikia</a> for flagging and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Tian-hao/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Tian-hao">@Tian-hao</a> for solution (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1909192986" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/82" data-hovercard-type="issue" data-hovercard-url="/LSYS/forestplot/issues/82/hovercard" href="https://github.com/LSYS/forestplot/issues/82">#82</a>).</li>
<li>No user-facing changes.</li>
</ul>
<h2>Forestplot</h2>
<p><code>forestplot</code> is a Python package to make publication-ready but customizable coefficient plots.</p>
<ul>
<li>GitHub repo: <a href="https://github.com/LSYS/forestplot">https://github.com/LSYS/forestplot</a></li>
<li>Docs: <a href="https://forestplot.readthedocs.io" rel="nofollow">https://forestplot.readthedocs.io</a></li>
</ul>
<p>To install via PyPI:</p>
<div class="highlight highlight-text-shell-session notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="pip install forestplot"><pre><span class="pl-c1">pip install forestplot</span></pre></div>
<p>Quickstart:</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="import forestplot as fp
df = fp.load_data("sleep") # companion example data
fp.forestplot(df, # the dataframe with results data
estimate="r", # col containing estimated effect size
ll="ll", hl="hl", # columns containing conf. int. lower and higher limits
varlabel="label", # column containing variable label
ylabel="Confidence interval", # y-label title
xlabel="Pearson correlation" # x-label title
)"><pre><span class="pl-k">import</span> <span class="pl-s1">forestplot</span> <span class="pl-k">as</span> <span class="pl-s1">fp</span>
<span class="pl-s1">df</span> <span class="pl-c1">=</span> <span class="pl-s1">fp</span>.<span class="pl-c1">load_data</span>(<span class="pl-s">"sleep"</span>) <span class="pl-c"># companion example data</span>
<span class="pl-s1">fp</span>.<span class="pl-c1">forestplot</span>(<span class="pl-s1">df</span>, <span class="pl-c"># the dataframe with results data</span>
<span class="pl-s1">estimate</span><span class="pl-c1">=</span><span class="pl-s">"r"</span>, <span class="pl-c"># col containing estimated effect size </span>
<span class="pl-s1">ll</span><span class="pl-c1">=</span><span class="pl-s">"ll"</span>, <span class="pl-s1">hl</span><span class="pl-c1">=</span><span class="pl-s">"hl"</span>, <span class="pl-c"># columns containing conf. int. lower and higher limits</span>
<span class="pl-s1">varlabel</span><span class="pl-c1">=</span><span class="pl-s">"label"</span>, <span class="pl-c"># column containing variable label</span>
<span class="pl-s1">ylabel</span><span class="pl-c1">=</span><span class="pl-s">"Confidence interval"</span>, <span class="pl-c"># y-label title</span>
<span class="pl-s1">xlabel</span><span class="pl-c1">=</span><span class="pl-s">"Pearson correlation"</span> <span class="pl-c"># x-label title</span>
)</pre></div>
<p><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/10510571/222646516-f6198167-7493-445d-bcd4-2d1dec8abdf2.png"><img src="https://user-images.githubusercontent.com/10510571/222646516-f6198167-7493-445d-bcd4-2d1dec8abdf2.png" alt="image" style="max-width: 100%;"></a></p>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/LSYS/forestplot/compare/v0.2.2...v0.3.2"><tt>v0.2.2...v0.3.2</tt></a></p>
LSYS
tag:github.com,2008:Repository/510013191/v0.3.1
2023-04-06T03:50:44Z
v0.3.1
<h2>What's Changed</h2>
<p>No user-facing changes.</p>
<p>Pandas <code>append</code> API in the backend is deprecated and so replaced by <code>concat</code>. This should accommodate newer versions of Pandas, like the recent v2.0 release.</p>
<h2>Forestplot</h2>
<p><code>forestplot</code> is a Python package to make publication-ready but customizable coefficient plots.</p>
<ul>
<li>GitHub repo: <a href="https://github.com/LSYS/forestplot">https://github.com/LSYS/forestplot</a></li>
<li>Docs: <a href="https://forestplot.readthedocs.io" rel="nofollow">https://forestplot.readthedocs.io</a></li>
</ul>
<p>To install via PyPI:</p>
<div class="highlight highlight-text-shell-session notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="pip install forestplot"><pre><span class="pl-c1">pip install forestplot</span></pre></div>
<p>Quickstart:</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="import forestplot as fp
df = fp.load_data("sleep") # companion example data
fp.forestplot(df, # the dataframe with results data
estimate="r", # col containing estimated effect size
ll="ll", hl="hl", # columns containing conf. int. lower and higher limits
varlabel="label", # column containing variable label
ylabel="Confidence interval", # y-label title
xlabel="Pearson correlation" # x-label title
)"><pre><span class="pl-k">import</span> <span class="pl-s1">forestplot</span> <span class="pl-k">as</span> <span class="pl-s1">fp</span>
<span class="pl-s1">df</span> <span class="pl-c1">=</span> <span class="pl-s1">fp</span>.<span class="pl-c1">load_data</span>(<span class="pl-s">"sleep"</span>) <span class="pl-c"># companion example data</span>
<span class="pl-s1">fp</span>.<span class="pl-c1">forestplot</span>(<span class="pl-s1">df</span>, <span class="pl-c"># the dataframe with results data</span>
<span class="pl-s1">estimate</span><span class="pl-c1">=</span><span class="pl-s">"r"</span>, <span class="pl-c"># col containing estimated effect size </span>
<span class="pl-s1">ll</span><span class="pl-c1">=</span><span class="pl-s">"ll"</span>, <span class="pl-s1">hl</span><span class="pl-c1">=</span><span class="pl-s">"hl"</span>, <span class="pl-c"># columns containing conf. int. lower and higher limits</span>
<span class="pl-s1">varlabel</span><span class="pl-c1">=</span><span class="pl-s">"label"</span>, <span class="pl-c"># column containing variable label</span>
<span class="pl-s1">ylabel</span><span class="pl-c1">=</span><span class="pl-s">"Confidence interval"</span>, <span class="pl-c"># y-label title</span>
<span class="pl-s1">xlabel</span><span class="pl-c1">=</span><span class="pl-s">"Pearson correlation"</span> <span class="pl-c"># x-label title</span>
)</pre></div>
<p><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/10510571/222646516-f6198167-7493-445d-bcd4-2d1dec8abdf2.png"><img src="https://user-images.githubusercontent.com/10510571/222646516-f6198167-7493-445d-bcd4-2d1dec8abdf2.png" alt="image" style="max-width: 100%;"></a></p>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/LSYS/forestplot/compare/v0.2.2...v0.3.1"><tt>v0.2.2...v0.3.1</tt></a></p>
LSYS
tag:github.com,2008:Repository/510013191/v0.3.0
2023-03-03T06:45:56Z
v0.3.0
<h2>What's Changed</h2>
<p>Main user-facing change is that no drawing of CI (confidence intervals) is now possible.</p>
<ul>
<li>Allow no drawing of CI <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1580260909" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/58" data-hovercard-type="issue" data-hovercard-url="/LSYS/forestplot/issues/58/hovercard" href="https://github.com/LSYS/forestplot/issues/58">#58</a></li>
<li>Update docs accordingly to reflect that <code>ll</code> and <code>hl</code> options are no longer required</li>
</ul>
<h2>Forestplot</h2>
<p><code>forestplot</code> is a Python package to make publication-ready but customizable coefficient plots.</p>
<ul>
<li>GitHub repo: <a href="https://github.com/LSYS/forestplot">https://github.com/LSYS/forestplot</a></li>
<li>Docs: <a href="https://forestplot.readthedocs.io" rel="nofollow">https://forestplot.readthedocs.io</a></li>
</ul>
<p>To install via PyPI:</p>
<div class="highlight highlight-text-shell-session notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="pip install forestplot"><pre><span class="pl-c1">pip install forestplot</span></pre></div>
<p>Quickstart:</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="import forestplot as fp
df = fp.load_data("sleep") # companion example data
fp.forestplot(df, # the dataframe with results data
estimate="r", # col containing estimated effect size
ll="ll", hl="hl", # columns containing conf. int. lower and higher limits
varlabel="label", # column containing variable label
ylabel="Confidence interval", # y-label title
xlabel="Pearson correlation" # x-label title
)"><pre><span class="pl-k">import</span> <span class="pl-s1">forestplot</span> <span class="pl-k">as</span> <span class="pl-s1">fp</span>
<span class="pl-s1">df</span> <span class="pl-c1">=</span> <span class="pl-s1">fp</span>.<span class="pl-c1">load_data</span>(<span class="pl-s">"sleep"</span>) <span class="pl-c"># companion example data</span>
<span class="pl-s1">fp</span>.<span class="pl-c1">forestplot</span>(<span class="pl-s1">df</span>, <span class="pl-c"># the dataframe with results data</span>
<span class="pl-s1">estimate</span><span class="pl-c1">=</span><span class="pl-s">"r"</span>, <span class="pl-c"># col containing estimated effect size </span>
<span class="pl-s1">ll</span><span class="pl-c1">=</span><span class="pl-s">"ll"</span>, <span class="pl-s1">hl</span><span class="pl-c1">=</span><span class="pl-s">"hl"</span>, <span class="pl-c"># columns containing conf. int. lower and higher limits</span>
<span class="pl-s1">varlabel</span><span class="pl-c1">=</span><span class="pl-s">"label"</span>, <span class="pl-c"># column containing variable label</span>
<span class="pl-s1">ylabel</span><span class="pl-c1">=</span><span class="pl-s">"Confidence interval"</span>, <span class="pl-c"># y-label title</span>
<span class="pl-s1">xlabel</span><span class="pl-c1">=</span><span class="pl-s">"Pearson correlation"</span> <span class="pl-c"># x-label title</span>
)</pre></div>
<p><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/10510571/222646516-f6198167-7493-445d-bcd4-2d1dec8abdf2.png"><img src="https://user-images.githubusercontent.com/10510571/222646516-f6198167-7493-445d-bcd4-2d1dec8abdf2.png" alt="image" style="max-width: 100%;"></a></p>
<p>No CI:</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="fp.forestplot(df, # the dataframe with results data
estimate="r", # col containing estimated effect size
varlabel="label", # column containing variable label
)"><pre><span class="pl-s1">fp</span>.<span class="pl-c1">forestplot</span>(<span class="pl-s1">df</span>, <span class="pl-c"># the dataframe with results data</span>
<span class="pl-s1">estimate</span><span class="pl-c1">=</span><span class="pl-s">"r"</span>, <span class="pl-c"># col containing estimated effect size </span>
<span class="pl-s1">varlabel</span><span class="pl-c1">=</span><span class="pl-s">"label"</span>, <span class="pl-c"># column containing variable label</span>
)</pre></div>
<p><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/10510571/222647620-b9c21eb8-1549-4afa-8b2e-de76dbe98212.png"><img src="https://user-images.githubusercontent.com/10510571/222647620-b9c21eb8-1549-4afa-8b2e-de76dbe98212.png" alt="image" style="max-width: 100%;"></a></p>
<p>See the README for more customizations.</p>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/LSYS/forestplot/compare/v0.2.2...v0.3.0"><tt>v0.2.2...v0.3.0</tt></a></p>
LSYS
tag:github.com,2008:Repository/510013191/v0.2.2
2023-02-10T04:28:17Z
v0.2.2
<h2>What's Changed</h2>
<ul>
<li>Fix spacing issue at top of plot (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1575582008" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/48" data-hovercard-type="issue" data-hovercard-url="/LSYS/forestplot/issues/48/hovercard" href="https://github.com/LSYS/forestplot/issues/48">#48</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1535589072" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/47" data-hovercard-type="issue" data-hovercard-url="/LSYS/forestplot/issues/47/hovercard" href="https://github.com/LSYS/forestplot/issues/47">#47</a>)</li>
<li>Create notebook for some simple regression tests (closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1575584477" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/49" data-hovercard-type="issue" data-hovercard-url="/LSYS/forestplot/issues/49/hovercard" href="https://github.com/LSYS/forestplot/issues/49">#49</a>)</li>
<li>Tidy imports using isort (closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1577184087" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/50" data-hovercard-type="issue" data-hovercard-url="/LSYS/forestplot/issues/50/hovercard" href="https://github.com/LSYS/forestplot/issues/50">#50</a>)</li>
<li>Allowed thresholds and symbols for p-values to be passedthrough (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1577191508" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/51" data-hovercard-type="issue" data-hovercard-url="/LSYS/forestplot/issues/51/hovercard" href="https://github.com/LSYS/forestplot/issues/51">#51</a>)</li>
<li>Fix different heigh and fontsize for confidence interval and p-value labels (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1577274238" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/53" data-hovercard-type="issue" data-hovercard-url="/LSYS/forestplot/issues/53/hovercard" href="https://github.com/LSYS/forestplot/issues/53">#53</a>)</li>
<li>Update docs for RTD (closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1577375385" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/54" data-hovercard-type="issue" data-hovercard-url="/LSYS/forestplot/issues/54/hovercard" href="https://github.com/LSYS/forestplot/issues/54">#54</a>)</li>
<li>Freeze matplotlib-inline dependency in setup.py (closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1578946477" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/56" data-hovercard-type="issue" data-hovercard-url="/LSYS/forestplot/issues/56/hovercard" href="https://github.com/LSYS/forestplot/issues/56">#56</a>)</li>
</ul>
<h2>Forestplot</h2>
<p><code>forestplot</code> is a Python package to make publication-ready but customizable coefficient plots.</p>
<ul>
<li>GitHub repo: <a href="https://github.com/LSYS/forestplot">https://github.com/LSYS/forestplot</a></li>
<li>Docs: <a href="https://forestplot.readthedocs.io" rel="nofollow">https://forestplot.readthedocs.io</a></li>
</ul>
<p>To install via PyPI:</p>
<div class="highlight highlight-text-shell-session notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="pip install forestplot"><pre><span class="pl-c1">pip install forestplot</span></pre></div>
<p>Quickstart:</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="import forestplot as fp
df = fp.load_data("sleep") # companion example data
fp.forestplot(df, # the dataframe with results data
estimate="r", # col containing estimated effect size
ll="ll", hl="hl", # columns containing conf. int. lower and higher limits
varlabel="label", # column containing variable label
ylabel="Confidence interval", # y-label title
xlabel="Pearson correlation" # x-label title
)"><pre><span class="pl-k">import</span> <span class="pl-s1">forestplot</span> <span class="pl-k">as</span> <span class="pl-s1">fp</span>
<span class="pl-s1">df</span> <span class="pl-c1">=</span> <span class="pl-s1">fp</span>.<span class="pl-c1">load_data</span>(<span class="pl-s">"sleep"</span>) <span class="pl-c"># companion example data</span>
<span class="pl-s1">fp</span>.<span class="pl-c1">forestplot</span>(<span class="pl-s1">df</span>, <span class="pl-c"># the dataframe with results data</span>
<span class="pl-s1">estimate</span><span class="pl-c1">=</span><span class="pl-s">"r"</span>, <span class="pl-c"># col containing estimated effect size </span>
<span class="pl-s1">ll</span><span class="pl-c1">=</span><span class="pl-s">"ll"</span>, <span class="pl-s1">hl</span><span class="pl-c1">=</span><span class="pl-s">"hl"</span>, <span class="pl-c"># columns containing conf. int. lower and higher limits</span>
<span class="pl-s1">varlabel</span><span class="pl-c1">=</span><span class="pl-s">"label"</span>, <span class="pl-c"># column containing variable label</span>
<span class="pl-s1">ylabel</span><span class="pl-c1">=</span><span class="pl-s">"Confidence interval"</span>, <span class="pl-c"># y-label title</span>
<span class="pl-s1">xlabel</span><span class="pl-c1">=</span><span class="pl-s">"Pearson correlation"</span> <span class="pl-c"># x-label title</span>
)</pre></div>
<p>See the README for more customizations.</p>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/LSYS/forestplot/compare/v0.2.0...v0.2.2"><tt>v0.2.0...v0.2.2</tt></a></p>
LSYS
tag:github.com,2008:Repository/510013191/v0.2.1
2023-01-03T04:12:07Z
v0.2.1
<h2>What's Changed</h2>
<ul>
<li>
<p>Patch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LSYS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LSYS">@LSYS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1516902819" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/42" data-hovercard-type="pull_request" data-hovercard-url="/LSYS/forestplot/pull/42/hovercard" href="https://github.com/LSYS/forestplot/pull/42">#42</a></p>
</li>
<li>
<p>Remove excessive vertical whitespace</p>
</li>
<li>
<p>Add matplotlib-inline as requirement</p>
</li>
<li>
<p>Add note to save using bbox_inches="tight"</p>
</li>
<li>
<p>Add versioning</p>
</li>
<li>
<p>Add recipe to run readme-examples.ipynb notebook</p>
</li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/LSYS/forestplot/compare/v0.2.0...v0.2.1"><tt>v0.2.0...v0.2.1</tt></a></p>
LSYS
tag:github.com,2008:Repository/510013191/v0.2.0
2022-11-01T09:43:33Z
v0.2.0
<h2>What's Changed</h2>
<ul>
<li>Create workflow to check links in readme.md by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LSYS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LSYS">@LSYS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1377674611" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/14" data-hovercard-type="pull_request" data-hovercard-url="/LSYS/forestplot/pull/14/hovercard" href="https://github.com/LSYS/forestplot/pull/14">#14</a></li>
<li>Patch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LSYS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LSYS">@LSYS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1378072449" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/16" data-hovercard-type="pull_request" data-hovercard-url="/LSYS/forestplot/pull/16/hovercard" href="https://github.com/LSYS/forestplot/pull/16">#16</a></li>
<li>Update docs & fix group subheadings order by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LSYS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LSYS">@LSYS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1381035814" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/20" data-hovercard-type="pull_request" data-hovercard-url="/LSYS/forestplot/pull/20/hovercard" href="https://github.com/LSYS/forestplot/pull/20">#20</a></li>
<li>Add logscale option, make no string normalization the default by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LSYS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LSYS">@LSYS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1428695135" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/34" data-hovercard-type="pull_request" data-hovercard-url="/LSYS/forestplot/pull/34/hovercard" href="https://github.com/LSYS/forestplot/pull/34">#34</a></li>
<li>add wheel to build, include a requirements_dev.txt and document by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shapiromatron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shapiromatron">@shapiromatron</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1428842540" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/35" data-hovercard-type="pull_request" data-hovercard-url="/LSYS/forestplot/pull/35/hovercard" href="https://github.com/LSYS/forestplot/pull/35">#35</a></li>
<li>Fix typo in readme by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shapiromatron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shapiromatron">@shapiromatron</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1422525093" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/31" data-hovercard-type="pull_request" data-hovercard-url="/LSYS/forestplot/pull/31/hovercard" href="https://github.com/LSYS/forestplot/pull/31">#31</a></li>
<li>Better backend for Confidence Intervals (closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1415986026" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/29" data-hovercard-type="issue" data-hovercard-url="/LSYS/forestplot/issues/29/hovercard" href="https://github.com/LSYS/forestplot/issues/29">#29</a>)</li>
<li>Plotting of estimates on a log-scale (closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1413303129" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/28" data-hovercard-type="issue" data-hovercard-url="/LSYS/forestplot/issues/28/hovercard" href="https://github.com/LSYS/forestplot/issues/28">#28</a>)</li>
<li>Maintain label character formatting (making no string normalisation the default, closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1413273300" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/27" data-hovercard-type="issue" data-hovercard-url="/LSYS/forestplot/issues/27/hovercard" href="https://github.com/LSYS/forestplot/issues/27">#27</a>)</li>
</ul>
<h3>tldr</h3>
<ul>
<li>logscale is now an option</li>
<li>default is now not to normalize strings</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shapiromatron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shapiromatron">@shapiromatron</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1428842540" data-permission-text="Title is private" data-url="https://github.com/LSYS/forestplot/issues/35" data-hovercard-type="pull_request" data-hovercard-url="/LSYS/forestplot/pull/35/hovercard" href="https://github.com/LSYS/forestplot/pull/35">#35</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/LSYS/forestplot/compare/v0.0.4...v0.2.0"><tt>v0.0.4...v0.2.0</tt></a></p>
LSYS
tag:github.com,2008:Repository/510013191/v0.1.0
2022-09-21T15:06:25Z
Release of Forestplot v0.1.0
<p><code>forestplot</code> is a Python package to make publication-ready but customizable forest plots.</p>
<ul>
<li>GitHub repo: <a href="https://github.com/LSYS/forestplot">https://github.com/LSYS/forestplot</a></li>
<li>Docs: <a href="https://forestplot.readthedocs.io" rel="nofollow">https://forestplot.readthedocs.io</a></li>
</ul>
<p>To install via PyPI:</p>
<div class="highlight highlight-text-shell-session notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="pip install forestplot"><pre><span class="pl-c1">pip install forestplot</span></pre></div>
<p>Quickstart:</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="import forestplot as fp
df = fp.load_data("sleep") # companion example data
fp.forestplot(df, # the dataframe with results data
estimate="r", # col containing estimated effect size
ll="ll", hl="hl", # columns containing conf. int. lower and higher limits
varlabel="label", # column containing variable label
ylabel="Confidence interval", # y-label title
xlabel="Pearson correlation" # x-label title
)"><pre><span class="pl-k">import</span> <span class="pl-s1">forestplot</span> <span class="pl-k">as</span> <span class="pl-s1">fp</span>
<span class="pl-s1">df</span> <span class="pl-c1">=</span> <span class="pl-s1">fp</span>.<span class="pl-c1">load_data</span>(<span class="pl-s">"sleep"</span>) <span class="pl-c"># companion example data</span>
<span class="pl-s1">fp</span>.<span class="pl-c1">forestplot</span>(<span class="pl-s1">df</span>, <span class="pl-c"># the dataframe with results data</span>
<span class="pl-s1">estimate</span><span class="pl-c1">=</span><span class="pl-s">"r"</span>, <span class="pl-c"># col containing estimated effect size </span>
<span class="pl-s1">ll</span><span class="pl-c1">=</span><span class="pl-s">"ll"</span>, <span class="pl-s1">hl</span><span class="pl-c1">=</span><span class="pl-s">"hl"</span>, <span class="pl-c"># columns containing conf. int. lower and higher limits</span>
<span class="pl-s1">varlabel</span><span class="pl-c1">=</span><span class="pl-s">"label"</span>, <span class="pl-c"># column containing variable label</span>
<span class="pl-s1">ylabel</span><span class="pl-c1">=</span><span class="pl-s">"Confidence interval"</span>, <span class="pl-c"># y-label title</span>
<span class="pl-s1">xlabel</span><span class="pl-c1">=</span><span class="pl-s">"Pearson correlation"</span> <span class="pl-c"># x-label title</span>
)</pre></div>
<p>More customizations are available, for example:</p>
<p><a target="_blank" rel="noopener noreferrer nofollow" href="https://raw.githubusercontent.com/LSYS/forestplot/main/docs/images/main.png"><img src="https://raw.githubusercontent.com/LSYS/forestplot/main/docs/images/main.png" alt="" style="max-width: 100%;"></a></p>
LSYS