Ipython笔记本水平变焦

时间:2016-03-18 13:42:10

标签: python matlab matplotlib jupyter-notebook mpld3

我在ipython笔记本中有子图。我可以使用mpld3模块放大内联。但是,现在我只能放大一个矩形。由于我的应用性质,我需要水平缩放。

有没有办法在matplotlib中水平缩放(使用光标)?更好的是,我可以通过代码将缩放设置为水平而无需任何键盘操作吗?在Matlab中,我可以通过设置:

来实现

figure(1); h=zoom; set(h,'Motion','horizontal','Enable','on');

这是python中的一个最小例子:

%matplotlib inline
import matplotlib.pyplot as plt
import mpld3
import numpy as np
mpld3.enable_notebook()
x = np.arange(100)
y = np.sin(x)
z = np.cos(x)

ax1 = plt.subplot(2,1,1)
ax1.plot(x,y)
ax2 = plt.subplot(2,1,2, sharex=ax1)
ax2.plot(x,z)

1 个答案:

答案 0 :(得分:1)

我的建议是使用Plotly,这非常适合在Jupyter中创建互动图。

您可以获得有关如何使用HERE绘制时间序列以及在子图HERE上绘制信息的更多信息。以下是我对您的数据所做的,希望它能满足您的需求!

%matplotlib inline
import plotly
from plotly import tools
import numpy as np
plotly.offline.init_notebook_mode() # run at the start of every notebook

x = np.arange(100)
y = np.sin(x)
z = np.cos(x)

trace1 = go.Scatter(x=x, y=y)
trace2 = go.Scatter(x=x, y=z)

fig = tools.make_subplots(rows=2, cols=1)

fig.append_trace(trace1, 1, 1)
fig.append_trace(trace2, 2, 1)

fig['layout'].update(height=600, width=600)
plotly.offline.iplot(fig)