Ipython 笔记本水平缩放
Ipython notebook horizontal zoom
我在 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)
我的建议是使用 Plotly,这非常适合在 Jupyter 中创建交互式绘图。
您可以获得有关如何使用它绘制时间序列的更多信息HERE and info on subplots 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)
我在 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)
我的建议是使用 Plotly,这非常适合在 Jupyter 中创建交互式绘图。
您可以获得有关如何使用它绘制时间序列的更多信息HERE and info on subplots 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)