Skip to content

Commit f55430f

Browse files
koaningclaude
andauthored
Better screen real estate for ScatterWidget (#31)
* tighter * progress * Better screen real estate for ScatterWidget - Remove point counters to save vertical space - Compact single-row controls layout - Smaller dots (radius 3) for finer detail - Fix SVG zoom issue with max-width constraint - Scale brush size relative to canvas dimensions - Remove X/Y axis labels (keep grid) - Default height now 400px - Pastel button backgrounds for better color dot visibility - Bump version to 0.4.0 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
1 parent c0e288f commit f55430f

File tree

8 files changed

+1161
-469
lines changed

8 files changed

+1161
-469
lines changed

conductor.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"setup": "make install"
3+
}

drawdata/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class ScatterWidget(anywidget.AnyWidget):
1414
data = traitlets.List([]).tag(sync=True)
1515
brushsize = traitlets.Int(40).tag(sync=True)
1616
width = traitlets.Int(800).tag(sync=True)
17-
height = traitlets.Int(500).tag(sync=True)
17+
height = traitlets.Int(400).tag(sync=True)
1818

1919
@property
2020
def data_as_pandas(self):

drawdata/static/scatter_widget.css

Lines changed: 6 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,11 @@
8787
width: 100%;
8888
max-width: 1200px;
8989
box-sizing: border-box;
90-
margin: 0 auto;
91-
padding: 1rem;
90+
margin: 0;
91+
padding: 0.25rem;
9292
color: var(--dd-text-color);
9393
background-color: var(--dd-bg-color);
94-
border-radius: 0.5rem;
94+
border-radius: 0.25rem;
9595
transition: background-color 0.3s ease, color 0.3s ease;
9696
}
9797

@@ -100,8 +100,8 @@
100100
display: flex;
101101
flex-wrap: wrap;
102102
align-items: center;
103-
gap: 0.75rem;
104-
margin-bottom: 1rem;
103+
gap: 0.5rem;
104+
margin-bottom: 0.25rem;
105105
width: 100%;
106106
}
107107

@@ -179,40 +179,6 @@
179179
box-shadow: none;
180180
}
181181

182-
/* Count labels */
183-
.dd-scatter-container span.count {
184-
display: inline-flex;
185-
align-items: center;
186-
justify-content: center;
187-
padding: 0.25rem 0.75rem;
188-
font-size: 0.75rem;
189-
font-weight: 600;
190-
border-radius: 9999px;
191-
margin-right: 0.5rem;
192-
border: 1px solid transparent;
193-
transition: all 0.2s ease;
194-
}
195-
196-
.dd-scatter-container span.count[data-color="a"] {
197-
background-color: var(--dd-count-bg-a);
198-
color: var(--dd-count-text-a);
199-
}
200-
201-
.dd-scatter-container span.count[data-color="b"] {
202-
background-color: var(--dd-count-bg-b);
203-
color: var(--dd-count-text-b);
204-
}
205-
206-
.dd-scatter-container span.count[data-color="c"] {
207-
background-color: var(--dd-count-bg-c);
208-
color: var(--dd-count-text-c);
209-
}
210-
211-
.dd-scatter-container span.count[data-color="d"] {
212-
background-color: var(--dd-count-bg-d);
213-
color: var(--dd-count-text-d);
214-
}
215-
216182
/* Radio button class selector */
217183
.dd-scatter-container .class-selector {
218184
display: flex;
@@ -336,7 +302,7 @@
336302
.dd-scatter-container .dd-scatter-svg-container {
337303
width: 100%;
338304
box-sizing: border-box;
339-
margin-top: 0.75rem;
305+
margin-top: 0.25rem;
340306
}
341307

342308
.dd-scatter-container svg {

0 commit comments

Comments
 (0)