我最终希望能够在其他图像的顶部进行绘制,然后保存绘图数据以供以后查看。
我试过使用 matplotlib。正如 here 所述,我得到了它的功能。 ,但是遇到了很多问题,因为我无法在另一个窗口中打开它,并且当它显示内联时,回调事件不会正确触发。
我正在连接到远程 jupyter 服务器,所以我认为一切都需要内联。我读过一些关于 Bokeh 的东西,似乎它可能有用,但我不知道从哪里开始。
使用 javascript 似乎很容易,但我不知道如何让 javasctipt 在 jupyter 中运行。至少当它不只是一行或两行时。
最佳答案
我认为 Bokeh 你已经走在正确的轨道上。
对于科学可视化,holoviews 等图形库非常有名,因为它们工作在高抽象级别并允许创建交互式图表。
对于在现有地 block 中绘图,它基本上看起来像这样:
import holoviews as hv
hv.extension('bokeh')
from holoviews import opts
from bokeh.plotting import show, output_file
Curve_opts = {'width':700, 'height':400, 'bgcolor':'#FFFFFF',
'tools':TOOLS, 'line_width':1.2,}
plot = hv.Curve(data=df, kdims=['col_x','col_y'], vdims=['value_in_tag'], label='legend 1')\
* hv.Scatter(data=df, kdims=['col_x','col_y'], vdims=['col_color'], label='legend 2')
# with '*' you plot into the same frame of a layout
plot = plot.relabel("Diagram Title")
plot.opts(opts.Curve(**Curve_opts )) # provide a dict to customize output
hv.save(plot, 'Filename.png', fmt='png') # save as png to be used in an article
output_file('Filename.html') # interactive diagram for web-publishing
show(hv.render(plot)) # workaround as spyder doesn't render hv
关于javascript - 如何在 python jupyter notebook 中绘图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37731788/