如何在 python dash 的热图上偏移网格

问题描述 投票:0回答:0

截图可以看到,没有办法把数据嵌入到灰色格子里,只能把y轴的数据格式改成category,但是这个不能按size排序 y-axis typ as number y-axis typ as category

代码如下所示:

else:
    if (input1 == '') and (input2 == ''):
        fig = go.Figure(data=[go.Heatmap(
        x=round(df_p['x-Folie'], 3).tolist(),
        y=[i[0][0] if i is not None else np.nan for i in df_p[parameter]],
        z=[i[0][1] if i is not None else np.nan for i in df_p[parameter]],
        colorbar_title='grammage ({unit})'.format(unit=unit_dic[parameter]),
        colorbar_ticklabelposition='outside',
        colorscale=["#DC3714", "#19BD1B"])])
            
    elif (input1 != '') and (input2 != ''):
        z_=[i[0][1] for i in df_p[parameter] if i is not None]
        x=round(df_p['x-Folie'], 3).tolist(),
        y=[i[0][0] if i is not None else np.nan for i in df_p[parameter]],
        z=[i[0][1] if i is not None else np.nan for i in df_p[parameter]],
        colorbar_title='grammage ({unit})'.format(unit=unit_dic[parameter]),
        colorbar_ticklabelposition='outside',
        colorscale=[(0.000,"#DC3714"),
                    (round(input1*(1-input2)/max(z_),3), "#B1DC14"),
                    (round(input1/max(z_), 3), "#19BD1B"),
                    (round(input1*(1+input2)/max(z_),3), "#B1DC14"),
                    (1.000, "#DC3714")
                   ]
                   )])
                
     else:
         raise Exception("Please enter the full parameters!")

     fig.update_layout(
         title='Visualisierung für Parameter {parameter}'.format(parameter=parameter),
         xaxis_title='x-Folie (m)',
         yaxis_title='y-Folie (m)',
         width=1600,
         height=1000,
         font_size=17,
         plot_bgcolor='#BEBEBE'
            )
     fig['layout']['xaxis']['type'] = 'category'
     fig['layout']['yaxis']['type'] = 'category'
     fig.update_xaxes(showgrid=True, tickson='boundaries')
     fig.update_yaxes(showgrid=True, tickson='boundaries')

y轴绝对顺序正确,数据嵌入灰色格子

python dashboard
© www.soinside.com 2019 - 2024. All rights reserved.