我制作了一张中等成功的3D曲面图,但有些参数只是不响应我的标记,例如轴范围,标签和对数比例,但有些事情会做,例如整体标题和纵横比。我无法理解这个问题,有人能看到我做错的事吗?
由于
def make3dPlot(surfaceMatrix, regionStart, regionEnd):
data = [go.Surface(z=surfaceMatrix)]
#data = [go.Surface(z=[[1, 2, 3, 4, 9],[4, 1, 3, 7, 9],[5, 4, 7, 2, 9]])]
layout = go.Layout(
title=args.i,
autosize=True,
width=1600,
height=1000,
yaxis=dict(
title='Particle Size',
titlefont=dict(
family='Arial, sans-serif',
size=18,
color='lightgrey'
),
type='log',
autorange=True,
#range=[regionStart, RegionEnd]
),
xaxis=dict(
title="Genomic Co-ordinates",
titlefont=dict(
family='Arial, sans-serif',
size=18,
color='lightgrey'
),
#type='log',
#autorange=False,
range=[10, 15]#regionStart, regionEnd]
),
scene=dict(
aspectratio=dict(x=3, y=1, z=1),
aspectmode = 'manual'
)
)
fig = go.Figure(data=data, layout=layout)
plotly.offline.plot(fig)
使用Mock数据,它看起来像这样,轴没有变化,没有标签:
答案 0 :(得分:3)
根据docs,xaxis
,yaxis
和zaxis
for plotly中的3D图是Scene
的一部分,而不是Layout
。< / p>
示例:
from plotly.offline import iplot, init_notebook_mode
import numpy as np
from plotly.graph_objs import Surface, Layout, Scene
init_notebook_mode()
x, y = np.mgrid[-2*np.pi:2*np.pi:300j, -2:2:300j]
surface = Surface(
x=x, y=y, z=-np.cos(x)+y**2/2
)
iplot([surface])
layout = Layout(scene=Scene(xaxis=dict(range=[-1,1])))
iplot(dict(data=[surface], layout=layout))