2017-10-20 6 views
0

J'ai un tracé de signaux numériques. J'essaie d'ombrer certaines «étapes» du processus que je suis en train d'enregistrer. J'ai essayé de lire la documentaion et je n'ai pas trouvé de réponse directe aux questions suivantes.Hover Texte sur la zone de remplissage Python plotly

1) D'abord et formost: Pouvez-vous ajouter un hovertext à la zone de remplissage? Lorsque le curseur est sur la zone 'verte', je veux que la case du curseur indique "Stage 0". Voici mon code pour essayer d'y arriver:

trace_stage0=go.Scatter(
    x = [points['A'][0], points['B'][0]], 
    y = [1,1], 
    mode = 'line', 
    line = dict(width=0.2, color='rgb(0, 190, 0)'), 
    fill = 'tozeroy', 
    hoveron = "fills", 
    hovertext = "Stage 0", 
    showlegend = False) 
for i in range(Num_Channels): 
    fig.append_trace(trace0[i],i+1,1) 
    fig.append_trace(trace_stage0,i+1,1) 

2) Comment puis-je me débarrasser des points d'extrémité de chaque ligne? Pour moi, ils distraient de l'information que j'ai essayé de dépeindre. J'ai essayé mode = 'none', mais cela enlève apparemment ma capacité à contrôler la couleur du remplissage.

3) Existe-t-il un moyen d'ajuster l'opacité du remplissage? Je voudrais le rendre un peu plus léger. Merci

Digital Capture

Répondre

0

Merci à 'Empet' à community.plot.ly, voici le code qui a fini par travailler. Fondamentalement, nécessaire pour faire une parcelle séparée juste pour la section ombragée.

#### Plot ploints for the text #### 
trace_stages=dict(type='scatter', 
    x= stages_x, 
    y=[0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 
     0.5, 0.5, 0.5, 0.5, 0.5], 
    mode='markers', 
    text=['stage 0', 'stage 1', 'stage 2', 'stage 3', 'stage 4', 'stage 5', 
      'stage 6', 'stage 7', 'stage 8','stage 9', 'stage 10'], 
    hoverinfo='text', 
    marker=dict(size=[0]), 
    showlegend = False 
    ) 
#### Plot for the shading #### 
trace_stage0=go.Scatter(
    x = [points['A'][0], points['B'][0]], 
    y = [1,1], 
    mode = 'markers+lines', 
    line = dict(width=0),   # Setting width = 0 = no lines 
    marker=dict(size=[0,0]),   # Setting size = [0,0] = no dots 
    fill = 'tozeroy', 
    fillcolor = 'rgba(190,0,0,.15)', # The '.15' sets opaqueness 
    hoverinfo = "none", 
    showlegend = False) 

Rend un code long, mais cela fonctionne.