Spaces:
Running
Running
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, | |
}) |