作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不知道为什么会发生这种情况,但是当我绘制超过 9 个图表时,图表从第一个开始变为空白。
假设我绘制了 10 个图,每个图都有 8 个子图,除了第一个和最后一个子图之外,图都是空白的。当我绘制 11 个图时,第一个和第二个图变为空白。
下面的代码工作完美,但太多的图表破坏了以前的 plotly 。
days = df["DATE"].dt.floor("D").unique()
# create axis for each day
fig = plotly.subplots.make_subplots(len(days), subplot_titles=subplot_titles, vertical_spacing=0.03)
for i,d in enumerate(days):
mask = (df["DATE"].dt.floor("D")==d)&(df["IOT_ID"]==iot_id)
splt= px.line(df.loc[mask], x="DATE", y="Vibration")
if len(list(splt.select_traces())) > 0:
fig.add_trace(list(splt.select_traces())[0], row=i+1, col=1)
fig.update_layout(
autosize=False,
width=1000,
height=5000
)
fig.update_layout(title = "IoT ID = " + iot_id + ", Titreşim")
fig.show()
我通过将渲染器更改为非交互式渲染器来解决这个问题。
比如
fig.show(renderer="svg", width=1000, height=5000)
但是如果所有的 plotly 都是互动的就更好了
这是一个技术问题还是有办法制作许多交互式图?
最佳答案
现在我知道您正在 Jupyter Notebook 中以 plotly 方式运行。也许是 JupyterLab?这很可能是内存问题。 JupyterLab 有一个默认的最大缓冲区大小存储在:
C:\Users\<YOU>\.jupyter\jupyter_notebook_config.py
如果您正在运行 JupyterLab,您可以使用以下方法查找和编辑此文件:
jupyter lab --generate-config
同样对于您拥有的 Jupyter Notebook
jupyter notebook --generate-config
在命令窗口中运行该行返回:
Overwrite C:\Users\<YOU>\.jupyter\jupyter_notebook_config.py with default config? [y/N]
我通常选择 [N]
,而是直接在提供的文件夹中打开该文件并从那里编辑值。在我看来,文件的相关部分如下所示:
## Gets or sets the maximum amount of memory, in bytes, that is allocated for
# use by the buffer manager.
c.NotebookApp.max_buffer_size = 18000000000
您可以直接更改该值,保存它,然后再次启动 JupyterLab。
关于python - Plotly:当交互图太多时,如何防止图表变空白?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63875365/
COW 不是奶牛,是 Copy-On-Write 的缩写,这是一种是复制但也不完全是复制的技术。 一般来说复制就是创建出完全相同的两份,两份是独立的: 但是,有的时候复制这件事没多大必要
我是一名优秀的程序员,十分优秀!