how-to-upgrade-to-enterprise / src /plotly_example.py
jeffboudier's picture
jeffboudier HF Staff
fresh start
dde6bca
import plotly.graph_objects as go
import numpy as np
import pandas as pd
data = {
"x": 3*np.random.rand(512),
"y": np.random.rand(512),
"z": np.random.random(512),
}
df = pd.DataFrame(data)
def get_label(z):
if z<0.25:
return "smol dot"
if z<0.5:
return "ok-ish dot"
if z<0.75:
return "a dot"
else:
return "biiig dot"
df["label"] = df["z"].apply(get_label)
df["z"] = (df["z"]+1)*5
fig = go.Figure()
fig.add_trace(go.Scatter(
x=df['x'],
y=df['y'],
mode='markers',
marker=dict(
size=df['z'],
color=df['z'],
colorscale=[
[0, 'rgb(78, 165, 183)'], # Light blue
[0.5, 'rgb(206, 192, 250)'], # Purple
[1, 'rgb(232, 137, 171)'] # Pink
],
opacity=0.9,
),
customdata=df[["label"]],
hovertemplate="Dot category: %{customdata[0]}",
hoverlabel=dict(namelength=0),
showlegend=False
))
fig.update_layout(
width=1200,
height=400,
paper_bgcolor='white',
plot_bgcolor='white',
showlegend=False,
margin=dict(l=0, r=0, t=0, b=0),
xaxis=dict(
showgrid=False,
zeroline=False,
showticklabels=False,
range=[0, 3]
),
yaxis=dict(
showgrid=False,
zeroline=False,
showticklabels=False,
scaleanchor="x",
scaleratio=1,
range=[0, 1]
)
)
fig.show()
fig.write_html("fragments/banner.html",
include_plotlyjs=False,
full_html=False,
config={
'displayModeBar': False,
'responsive': True,
'scrollZoom': False,
})