Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Plot python笔记本中的绘图被截断_Plot_Ipython Notebook_Plotly - Fatal编程技术网

Plot python笔记本中的绘图被截断

Plot python笔记本中的绘图被截断,plot,ipython-notebook,plotly,Plot,Ipython Notebook,Plotly,我一直在尝试使用ipython笔记本中的plot.ly库替换matplotlib绘图。基本上,我的问题是plot.ly自动调整大小的绘图看起来不太好,我尝试手动调整它们,但它们总是在笔记本的垂直方向上被切碎 我经常绘制N行x 2或3列的绘图。这些图的数据通常来自具有多个键的多索引的熊猫数据框。曲线图通常是数据与索引位置,带有与索引键匹配的记号标签。因此,记号标签通常是长字符串,在绘图中永远不会共享(共享轴是不可能的)。ipython笔记本中的Matplotlib输出将渲染对象,使其在垂直方向上按

我一直在尝试使用ipython笔记本中的plot.ly库替换matplotlib绘图。基本上,我的问题是plot.ly自动调整大小的绘图看起来不太好,我尝试手动调整它们,但它们总是在笔记本的垂直方向上被切碎

我经常绘制N行x 2或3列的绘图。这些图的数据通常来自具有多个键的多索引的熊猫数据框。曲线图通常是数据与索引位置,带有与索引键匹配的记号标签。因此,记号标签通常是长字符串,在绘图中永远不会共享(共享轴是不可能的)。ipython笔记本中的Matplotlib输出将渲染对象,使其在垂直方向上按需要缩放。稍微手动调整一下,事情看起来就好了

笔记本中的Plot.ly输出在这方面似乎是有限的。我修改了一些plot.ly演示代码,在笔记本中,记号标签被切掉,或者侵占了plot顶部的plot行。下面的例子

如果在布局对象中设置了
autosize=False
,请开始调整宽度和高度,并设置每个YAxis对象的域,以便改进。但很难把所有的东西都放进去,而且还要有一块大小适中的地块。看起来事情总是被切掉底部,这只是两排情节。我现在不知道如何让事情扩展到更多行

import plotly.plotly as py
from plotly.graph_objs import *

trace1 = Scatter(
    x=["A,4.0,AS-15-8045,830,lot45", "A,5.0,AS-15-8045,830,lot45", "A,6.0,AS-15-`8045,830,lot45"],
    y=[4, 5, 6],xaxis='x1',yaxis='y1',name='A series set'
)
trace3 = Scatter(
    x=["B,4.0,AS-15-8045,830,lot03", "B,5.0,AS-15-8045,830,lot04", "B,6.0,AS-15-8045,830,lot05"],
    y=[600, 700, 800],xaxis='x3',yaxis='y3',name='B series dataset'
)
trace2 = Scatter(x=[20, 30, 40],y=[50, 60, 70],xaxis='x2',yaxis='y2')
trace4 = Scatter(x=[4000, 5000, 6000],y=[7000, 8000, 9000],xaxis='x4',yaxis='y4')

data = Data([trace1, trace2, trace3, trace4])

layout = Layout(
    xaxis1 = XAxis(domain=[0, 0.45],anchor='y1',title='x1'),
    yaxis1 = YAxis(domain=[0, 0.45],anchor='x1',title='y1'),
    xaxis2 = XAxis(domain=[0.55, 1],anchor='y2',title='x2'),
    yaxis2 = YAxis(domain=[0, 0.45],anchor='x2',title='y2'),
    xaxis3 = XAxis(domain=[0, 0.45],anchor='y3',title='x3'),
    yaxis3 = YAxis(domain=[0.55, 1],anchor='x3',title='y3'),
    xaxis4 = XAxis(domain=[0.55, 1],anchor='y4',title='x4'),
    yaxis4 = YAxis(domain=[0.55, 1],anchor='x4',title='y4')
)
fig = Figure(data=data, layout=layout)
py.iplot(fig)
免责声明,我为Plotly工作

我刚刚在我们的GitHub页面上为它创建了一个问题:

现在,我可以从IPython.display导入IFrame中
,并使用
IFrame(src=your\u url,width=your\u width,height=your\u height)
在新单元格中显示绘图


这对你现在有用吗?我将在下面的注释中添加一个要点,显示我尝试过的内容。

您也可以直接在
py.iplot
中使用
width
height
kwargs


这是一个。

这是一个很好的解决方法。我不知道IFrame命令。在这个命令和调整每个YAxis的域以及设置布局的宽度和高度之间,我可以使情节变得很棒。谢谢