Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a way to reverse the order of the y axis in heatmap of plotly

So I have

hours = [x for x in range(7,18)]
columns = [1, 2, 3, 4, 5]

    matrixDatos = [[0,1,0,1,0],
                   [0,1,0,1,1],
                   [2,3,2,3,2],
                   [2,3,2,3,3],
                   [4,5,4,5,4],
                   [4,5,4,5,5],
                   [6,7,6,7,6],
                   [6,7,6,7,7],
                   [8,9,8,9,8],
                   [8,9,8,9,8]
                    ]



    table = ff.create_table(matrixDatos)

    fig = ff.create_annotated_heatmap(matrixDatos, x=columns, y=hours, colorscale='Viridis')

But it prints the heatmap with the y axis from 18 to 7 is there a way to print it from 7 to 18?

like image 752
Mntfr Avatar asked Aug 11 '17 17:08

Mntfr


1 Answers

Hi I tried the code provided, I was getting an error saying that number of Y-axis (hours) does not equal the number of Z-axis (matrixDatos). So I reduced the range from 7 to 16 for the code to work.

I used the "autorange" parameter of the xaxis object in layout object, to reverse the axis we need to use "reversed" parameter.

Original Code (provided in question) Output: plotly heatmap annotated Code Change:

hours = [x for x in range(7,17)]
columns = [1, 2, 3, 4, 5]

matrixDatos = [[0,1,0,1,0],
               [0,1,0,1,1],
               [2,3,2,3,2],
               [2,3,2,3,3],
               [4,5,4,5,4],
               [4,5,4,5,5],
               [6,7,6,7,6],
               [6,7,6,7,7],
               [8,9,8,9,8],
               [8,9,8,9,8]
                ]



table = ff.create_table(matrixDatos)

fig = ff.create_annotated_heatmap(matrixDatos, x=columns, y=hours, colorscale='Viridis')
fig['layout']['yaxis']['autorange'] = "reversed"
iplot(fig)

Code Change Output: plotly annotated heatmap reversed

I hope this is what you need.

References:

  1. plotly layout xaxis reference
like image 103
Naren Murali Avatar answered Oct 23 '22 23:10

Naren Murali