gpt4 book ai didi

python - 使用 Python 在 Plotly 中的绘图上添加通用文本标签

转载 作者:行者123 更新时间:2023-11-28 18:26:13 26 4
gpt4 key购买 nike

在 Matplotlib 中,可以使用以下代码:

import matplotlib.pyplot as plt
import numpy as np
np.random.seed(1234)
fig, ax = plt.subplots(1)
x = 30*np.random.randn(10000)
mu = x.mean()
median = np.median(x)
sigma = x.std()
textstr = '$\mu=%.2f$\n$\mathrm{median}=%.2f$\n$\sigma=%.2f$'%(mu, median, sigma)

ax.hist(x, 50)
# these are matplotlib.patch.Patch properties
props = dict(boxstyle='round', facecolor='wheat', alpha=0.5)

# place a text box in upper left in axes coords
ax.text(0.05, 0.95, textstr, transform=ax.transAxes, fontsize=14,
verticalalignment='top', bbox=props)

创建以下直方图,带有文本标签:

enter image description here

但是,在 Plotly 中,我找不到如何在绘图上创建类似的标签。似乎任何注释都必须附加到数据点。是否可以使用 Plotly 向图中添加通用文本标签,如上例所示?

最佳答案

您可以为迹线命名,这将是您想要显示的图例。请注意,您还需要添加 showlegend: true如果您只有一条轨迹,则添加到您的布局中。

标签可以包含 LaTeX 代码。您需要导入 MathJax 库并转义每个反斜杠。

或者,您可以在布局中添加注释,例如

annotations: [
{
x: -0.7,
y: 800 ,
text: '$\\mu = 0\\\\ \\sigma = 1$',
showarrow: false,
}]

var numbers = [];
var total = 100000;
for (var i = 0; i < total; i++) {
numbers[i] = ((Math.random() + Math.random() + Math.random() + Math.random() + Math.random() + Math.random()) - 3) / 3;
}
var data = [{
x: numbers,
name: '$\\mu = 0\\\\ \\sigma = 1$',
type: 'histogram',
}];
var layout = {showlegend: true, annotations: [
{
x: -0.8,
y: 800 ,
text: '$\\mu = 0\\\\ \\sigma = 1$',
showarrow: false,
}]};
Plotly.newPlot('myDiv', data, layout);
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_SVG"></script>
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<div id="myDiv"></div>

关于python - 使用 Python 在 Plotly 中的绘图上添加通用文本标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41345947/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com