Skip to content

Commit 2bc5777

Browse files
committed
Fix: CI check type.gno
1 parent 4b25d1c commit 2bc5777

File tree

2 files changed

+56
-57
lines changed

2 files changed

+56
-57
lines changed

packages/p/pierre115/gnov/scatterplot.gno

Lines changed: 50 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,15 @@ func (sp ScatterPlot) GetMaxTicks() int {
2323
return sp.maxTicks
2424
}
2525

26-
// Get width and height of the svg
26+
// Get width of the svg
2727
func (sp ScatterPlot) GetWidth() int {
2828
if sp.Width == 0 {
2929
return DefaultWidth
3030
}
3131
return sp.Width
3232
}
3333

34+
// Get height of the svg
3435
func (sp ScatterPlot) GetHeight() int {
3536
if sp.Height == 0 {
3637
return DefaultHeight
@@ -76,47 +77,47 @@ func StepXY(sp ScatterPlot, maxX, maxY, minX, minY float64) (float64, float64, f
7677

7778
// Draw axes and axes titles, return SVG strings
7879
func RenderAxes(sp ScatterPlot, Width, Height int, maxX, maxY, minX, minY float64) string {
79-
svgOut := ""
80+
svgOut := ""
8081

8182
// Axe Y
82-
svgOut += ufmt.Sprintf(`<rect x="%d" y="%d" width="%d" height="%d" fill="black"/>`, 40, Height-40, Width-60, 1)
83-
svgOut += ufmt.Sprintf(
84-
`<text x="%d" y="%d" style="font-family:'Inter var',sans-serif;font-size:%dpx;text-anchor:middle;" transform="rotate(-90 %d %d)" fill="black">%s</text>`,
85-
10, Height/2, 12, 15, Height/2, sp.YAxis,
86-
)
83+
svgOut += ufmt.Sprintf(`<rect x="%d" y="%d" width="%d" height="%d" fill="black"/>`, 40, Height-40, Width-60, 1)
84+
svgOut += ufmt.Sprintf(
85+
`<text x="%d" y="%d" style="font-family:'Inter var',sans-serif;font-size:%dpx;text-anchor:middle;" transform="rotate(-90 %d %d)" fill="black">%s</text>`,
86+
10, Height/2, 12, 15, Height/2, sp.YAxis,
87+
)
8788

8889
// Axe X
89-
svgOut += ufmt.Sprintf(`<rect x="%d" y="%d" width="%d" height="%d" fill="black"/>`, 40, 20, 1, Height-60)
90-
svgOut += ufmt.Sprintf(
91-
`<text x="%d" y="%d" style="font-family:'Inter var',sans-serif;font-size:%dpx;text-anchor:middle;" fill="black">%s</text>`,
92-
Width/2, Height-10, 12, sp.XAxis,
93-
)
90+
svgOut += ufmt.Sprintf(`<rect x="%d" y="%d" width="%d" height="%d" fill="black"/>`, 40, 20, 1, Height-60)
91+
svgOut += ufmt.Sprintf(
92+
`<text x="%d" y="%d" style="font-family:'Inter var',sans-serif;font-size:%dpx;text-anchor:middle;" fill="black">%s</text>`,
93+
Width/2, Height-10, 12, sp.XAxis,
94+
)
9495

9596
// Scale helpers
9697
scaleX := func(val float64) float64 {
97-
return 40 + (val-minX)/(maxX-minX)*float64(Width-60)
98+
return 40 + (val-minX)/(maxX-minX)*float64(Width-60)
9899
}
99100
scaleY := func(val float64) float64 {
100-
return float64(Height-40) - (val-minY)/(maxY-minY)*float64(Height-60)
101+
return float64(Height-40) - (val-minY)/(maxY-minY)*float64(Height-60)
101102
}
102103

103104
// N icesteps calcul for graduation
104105
stepX, startX, endX, stepY, startY, endY := StepXY(sp, maxX, maxY, minX, minY)
105106

106107
// Graduation X
107108
for val := startX; val <= endX; val += stepX {
108-
nx := scaleX(val)
109-
y := float64(Height - 40)
110-
svgOut += ufmt.Sprintf(`<rect x="%d" y="%d" width="%d" height="%d" fill="black"/>`, int(nx), int(y), 1, 5)
111-
svgOut += ufmt.Sprintf(`<text x="%d" y="%d" style="font-size:%dpx;text-anchor:middle;" fill="black">%.1f</text>`, int(nx), int(y)+18, 11, val)
109+
nx := scaleX(val)
110+
y := float64(Height - 40)
111+
svgOut += ufmt.Sprintf(`<rect x="%d" y="%d" width="%d" height="%d" fill="black"/>`, int(nx), int(y), 1, 5)
112+
svgOut += ufmt.Sprintf(`<text x="%d" y="%d" style="font-size:%dpx;text-anchor:middle;" fill="black">%.1f</text>`, int(nx), int(y)+18, 11, val)
112113
}
113114

114115
// Graduation Y
115116
for val := startY; val <= endY; val += stepY {
116-
ny := scaleY(val)
117-
x := float64(40)
118-
svgOut += ufmt.Sprintf(`<rect x="%d" y="%d" width="%d" height="%d" fill="black"/>`, int(x)-5, int(ny), 5, 1)
119-
svgOut += ufmt.Sprintf(`<text x="%d" y="%d" style="font-size:%dpx;text-anchor:end;" fill="black">%.1f</text>`, int(x)-8, int(ny)+4, 11, val)
117+
ny := scaleY(val)
118+
x := float64(40)
119+
svgOut += ufmt.Sprintf(`<rect x="%d" y="%d" width="%d" height="%d" fill="black"/>`, int(x)-5, int(ny), 5, 1)
120+
svgOut += ufmt.Sprintf(`<text x="%d" y="%d" style="font-size:%dpx;text-anchor:end;" fill="black">%.1f</text>`, int(x)-8, int(ny)+4, 11, val)
120121
}
121122

122123
return svgOut
@@ -128,63 +129,61 @@ func RenderAxes(sp ScatterPlot, Width, Height int, maxX, maxY, minX, minY float6
128129
func (sp ScatterPlot) String() string {
129130

130131
const (
131-
pointRadius = 2
132+
pointRadius = 2
132133
)
133134

134135
Width := sp.GetWidth()
135136
Height := sp.GetHeight()
136137

137138
if len(sp.Points) == 0 {
138-
return "\nscatterplot fails: no data provided"
139+
return "\nscatterplot fails: no data provided"
139140
}
140141

141142
// calcul min/max
142143
minX, minY := sp.Points[0].X, sp.Points[0].Y
143144
maxX, maxY := sp.Points[0].X, sp.Points[0].Y
144145

145146
for _, p := range sp.Points {
146-
if p.X > maxX {
147-
maxX = p.X
148-
}
149-
if p.X < minX {
150-
minX = p.X
151-
}
152-
if p.Y > maxY {
153-
maxY = p.Y
154-
}
155-
if p.Y < minY {
156-
minY = p.Y
157-
}
147+
if p.X > maxX {
148+
maxX = p.X
149+
}
150+
if p.X < minX {
151+
minX = p.X
152+
}
153+
if p.Y > maxY {
154+
maxY = p.Y
155+
}
156+
if p.Y < minY {
157+
minY = p.Y
158+
}
158159
}
159160

160161
svgOut := ""
161162
svgOut += RenderAxes(sp, Width, Height, maxX, maxY, minX, minY)
162163

163164
// Draw Points and labels
164165
for _, p := range sp.Points {
165-
nx := 40 + (p.X-minX)/(maxX-minX)*float64(Width-60)
166-
ny := float64(Height-40) - (p.Y-minY)/(maxY-minY)*float64(Height-60)
167-
168-
svgOut += ufmt.Sprintf(`<circle cx="%d" cy="%d" r="%d" fill="%s"/>`, int(nx), int(ny), pointRadius, p.Color)
169-
170-
if p.Label != "" {
171-
svgOut += ufmt.Sprintf(
172-
`<text x="%d" y="%d" style="font-family:'Inter var',sans-serif;font-size:10px;text-anchor:middle;" fill="#333">%s</text>`,
173-
int(nx)+5, int(ny)+12, p.Label,
174-
)
175-
}
166+
nx := 40 + (p.X-minX)/(maxX-minX)*float64(Width-60)
167+
ny := float64(Height-40) - (p.Y-minY)/(maxY-minY)*float64(Height-60)
168+
svgOut += ufmt.Sprintf(`<circle cx="%d" cy="%d" r="%d" fill="%s"/>`, int(nx), int(ny), pointRadius, p.Color)
169+
if p.Label != "" {
170+
svgOut += ufmt.Sprintf(
171+
`<text x="%d" y="%d" style="font-family:'Inter var',sans-serif;font-size:10px;text-anchor:middle;" fill="#333">%s</text>`,
172+
int(nx)+5, int(ny)+12, p.Label,
173+
)
174+
}
176175
}
177176

178177
// Flags :
179178
if sp.FlagRe == true {
180-
svgOut += RenderReFlag(sp.Points, minX, maxX, minY, maxY, Width, Height)
179+
svgOut += RenderReFlag(sp.Points, minX, maxX, minY, maxY, Width, Height)
181180
}
182181

183182
// Draw Title
184183
if sp.Title != "" {
185-
svgOut += ufmt.Sprintf(`<text x="%d" y="%d" style="font-family:'Inter var',sans-serif;font-size:16px;text-anchor:middle;" fill="black">%s</text>`,
186-
Width/2, 20, sp.Title,
187-
)
184+
svgOut += ufmt.Sprintf(`<text x="%d" y="%d" style="font-family:'Inter var',sans-serif;font-size:16px;text-anchor:middle;" fill="black">%s</text>`,
185+
Width/2, 20, sp.Title,
186+
)
188187
}
189188

190189
return svgOut

packages/p/pierre115/gnov/type.gno

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ type Point struct {
99

1010
// Scatterplot structure
1111
type ScatterPlot struct {
12-
Points []Point // Points structure (points clouds)
13-
Title string // Title of the scatter plot
14-
XAxis, YAxis string // Title of X and Y axis
15-
FlagRe bool // Optional flag for linear regression
16-
maxTicks int // Optional max ticks for axis (default 10)
17-
Width, Height int // Optional width and height of the svg (default 750x600)
12+
Points []Point // Points structure (points clouds)
13+
Title string // Title of the scatter plot
14+
XAxis, YAxis string // Title of X and Y axis
15+
FlagRe bool // Optional flag for linear regression
16+
maxTicks int // Optional max ticks for axis (default 10)
17+
Width, Height int // Optional width and height of the svg (default 750x600)
1818
}

0 commit comments

Comments
 (0)