मैं गाइड यहाँ का पालन किया:अजगर ज्या आरेख (Plotly) इंटरएक्टिव टूल टिप्स
https://plot.ly/python/filled-chord-diagram/
और मैं इस का उत्पादन:
गाइड में, मैं ribbon_info
कोड का पालन किया कनेक्टिंग रिबन में होवरइन्फो जोड़ने के लिए लेकिन कुछ भी नहीं दिखाता है। मैं केवल रिबन समाप्त होने के लिए दिखाने के लिए होवरइन्फो प्राप्त कर सकता हूं। क्या कोई देख सकता है कि मैं कहां गलत हो रहा हूं?
ribbon_info=[]
for k in range(L):
sigma=idx_sort[k]
sigma_inv=invPerm(sigma)
for j in range(k, L):
if matrix[k][j]==0 and matrix[j][k]==0: continue
eta=idx_sort[j]
eta_inv=invPerm(eta)
l=ribbon_ends[k][sigma_inv[j]]
if j==k:
layout['shapes'].append(make_self_rel(l, 'rgb(175,175,175)' ,
ideo_colors[k], radius=radii_sribb[k]))
z=0.9*np.exp(1j*(l[0]+l[1])/2)
#the text below will be displayed when hovering the mouse over the ribbon
text=labels[k]+' appears on'+ '{:d}'.format(matrix[k][k])+' of the same grants as '+ '',
ribbon_info.append(Scatter(x=z.real,
y=z.imag,
mode='markers',
marker=Marker(size=5, color=ideo_colors[k]),
text=text,
hoverinfo='text'
)
)
else:
r=ribbon_ends[j][eta_inv[k]]
zi=0.9*np.exp(1j*(l[0]+l[1])/2)
zf=0.9*np.exp(1j*(r[0]+r[1])/2)
#texti and textf are the strings that will be displayed when hovering the mouse
#over the two ribbon ends
texti=labels[k]+' appears on '+ '{:d}'.format(matrix[k][j])+' of the same grants as '+\
labels[j]+ '',
textf=labels[j]+' appears on '+ '{:d}'.format(matrix[j][k])+' of the same grants as '+\
labels[k]+ '',
ribbon_info.append(Scatter(x=zi.real,
y=zi.imag,
mode='markers',
marker=Marker(size=0.5, color=ribbon_color[k][j]),
text=texti,
hoverinfo='text'
)
),
ribbon_info.append(Scatter(x=zf.real,
y=zf.imag,
mode='markers',
marker=Marker(size=0.5, color=ribbon_color[k][j]),
text=textf,
hoverinfo='text'
)
)
r=(r[1], r[0])#IMPORTANT!!! Reverse these arc ends because otherwise you get
# a twisted ribbon
#append the ribbon shape
layout['shapes'].append(make_ribbon(l, r , 'rgb(255,175,175)', ribbon_color[k][j]))
चर के लिए आउटपुट इस प्रकार हैं:
texti = (u'Sociology appears on 79 of the same grants as Tools, technologies & methods',)
textf = (u'Tools, technologies & methods appears on 79 of the same grants as Sociology',)
ribbon_info = [{'hoverinfo': 'text',
'marker': {'color': 'rgba(214, 248, 149, 0.65)', 'size': 0.5},
'mode': 'markers',
'text': (u'Demography appears on 51 of the same grants as Social policy',),
'type': 'scatter',
'x': 0.89904409911342476,
'y': 0.04146936036799545},
{'hoverinfo': 'text',
'marker': {'color': 'rgba(214, 248, 149, 0.65)', 'size': 0.5},
'mode': 'markers',
'text': (u'Social policy appears on 51 of the same grants as Demography',),
'type': 'scatter',
'x': -0.65713108202353809,
'y': -0.61496238993825791},..................**etc**
sigma = array([ 0, 14, 12, 10, 9, 7, 8, 5, 4, 3, 2, 1, 6, 16, 13, 11, 15], dtype=int64)
जो बनाता तार आरेख इस प्रकार है पिछले ब्लॉक के बाद कोड:
ideograms=[]
for k in range(len(ideo_ends)):
z= make_ideogram_arc(1.1, ideo_ends[k])
zi=make_ideogram_arc(1.0, ideo_ends[k])
m=len(z)
n=len(zi)
ideograms.append(Scatter(x=z.real,
y=z.imag,
mode='lines',
line=Line(color=ideo_colors[k], shape='spline', width=0),
text=labels[k]+'<br>'+'{:d}'.format(row_sum[k]),
hoverinfo='text'
)
)
path='M '
for s in range(m):
path+=str(z.real[s])+', '+str(z.imag[s])+' L '
Zi=np.array(zi.tolist()[::-1])
for s in range(m):
path+=str(Zi.real[s])+', '+str(Zi.imag[s])+' L '
path+=str(z.real[0])+' ,'+str(z.imag[0])
layout['shapes'].append(make_ideo_shape(path,'rgb(150,150,150)' , ideo_colors[k]))
data = Data(ideograms+ribbon_info)
fig=Figure(data=data, layout=layout)
plotly.offline.iplot(fig, filename='chord-diagram-Fb')
यह केवल hoverinfo है जो दिखाता है, बाहरी लेबल, न कि थोड़ा और अंदर:
मेरे प्रश्न की शुरुआत में लिंक से उदाहरण का उपयोग करना। उनके पास लेबल के दो सेट हैं। मेरे उदाहरण पर, 'इसाबेल के बराबर 32 सोफिया पर टिप्पणी की गई है ....' दिखा नहीं रहा है।
दिए गए लिंक से: "ribbon_info जानकारी है कि जब रिबन समाप्त होता है पर माउस मँडरा प्रदर्शित किया जाता है की स्थापना dicts की एक सूची है।"पूरी तरह से केवल मार्करों के लिए होवरइन्फो की अनुमति देता है, कनेक्टिंग लाइनों के लिए नहीं। –
तो जब ribbon_info टेक्स्टफ और टेक्स्टि को जोड़ता है, तो यह मेरे ग्राफ पर रिबन समाप्त होने के बाद क्या कर रहा है, केवल लेबल यानी 'अर्थशास्त्र' दिखाएं। लिंक के बहुत नीचे मेरे प्रश्न (https://plot.ly/python/filled-chord-diagram/) की शुरुआत में उनके चार्ट में रिबन के अंत और रिबन पर लेबल हैं?:/ – ScoutEU
मेरा ब्राउज़र होवरइन्फो दिखाता है जब कर्सर होता है सर्कल के बाहरी हिस्से में लेकिन अंदर नहीं। इसके अलावा बाहरी सेगमेंट के करीब कुछ होवरइन्फो है लेकिन फिर भी, अंदर कुछ भी नहीं। रिबन से छुटकारा पाने के लिए अपने ब्राउज़र में 'class =" shapelayer "हटाएं और अंतर्निहित मार्कर देखें जो होवरइन्फो को ट्रिगर करता है। –