2

How can I show multiple text variables in an iplot()? Here is an example:

df2007.iplot(kind='bubble', x='gdpPercap', y='lifeExp', size='pop', text='country',
             xTitle='GDP per Capita', yTitle='Life Expectancy',
             filename='cufflinks/simple-bubble-chart')

taken from here: https://plot.ly/ipython-notebooks/cufflinks/#scatter-matrix

I want to add another variable to text, passing a list of column names doesn't help. I have tried

text = 'country' + <br/> + 'country'
0

1 Answer 1

1

In order to achieve this, you'll have to free yourself from the boundaries of px.Scatter. But you can use go.Scatter in combination with iplot() if that is what you prefer. The snippet below will show you how you can assign an extra variable with it's own data in your hovertext by formatting hovertemplate correctly and using the text propery of go.Scatter.

Plot:

enter image description here

Complete code:

import plotly.express as px
from plotly.offline import iplot
import plotly.graph_objects as go

# data
gapminder = px.data.gapminder()
df=gapminder.query("year==2007").copy(deep=True)
df['extraVar']=[i**4 for i in range(len(df))]

# plotly
fig=go.Figure()
fig.add_trace(go.Scatter(x=df['gdpPercap'], y=df['lifeExp'],
                         mode='markers',
                         marker=dict(size=df['pop'],sizemode='area',
                                sizeref=2.*max(df['pop'])/(40.**2),sizemin=2
                                    ),
                         hovertemplate =
                                        '<i>lifeExp</i>: $%{y:.2f}'+
                                        '<br><i>gdpPercap</i>: %{x}<br>'+
                                        '<i>%{text}</i>',
                         text = ['Your extra variable {}'.format(i) for i in df['extraVar']],
                        )
             )

# iplot
iplot(fig)
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.