Black Lives Matter. Please consider donating to Black Girls Code today.

Offline plot ignoring layout parameters in python

Hi

I’m producing a 3D surface plot with medium success, but some parameters just don’t respond to my flags, such as axis ranges, labels and log scale, but some things do, such as overall title and aspect ratio. I can’t understand the problem, can anyone see something I’m doing wrong?

Thanks

`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)`

Axis attributes of 3d scenes must be placed inside the scene object. See our reference shema for more info.

Thanks, I evidently missed a layer!

@passdan you’re definitively not the first one to run into this issue.

We should a better job documenting this. Thanks for writing in.