unrelated println statement leads to blank plot
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Bereich
- data-visualization
Rechercherichtung
Reproduziere das gemeldete Verhalten, indem du das Modul ausführst und mxgau(20, .3, .3, .1) mit den angegebenen Versionen von Julia, PyPlot, Python und matplotlib aufrufst. Beginne mit plotresult und den figure-Aufrufen in mxgau und vergleiche dann die Ausführungen mit und ohne println; abgeschlossen ist die Aufgabe, wenn du die leere dritte Abbildung erklärst und überprüfst, dass alle drei Plots korrekt gerendert werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
I encountered a strange bug in PyPlot that a println statement in a certain place in my code causes a plot to come out completely blank. Below is a stripped-down version of my code. If I include the code as is, then it makes three plots, but the third plot window is empty. However, if I comment out the println statement on l. 23, then the third plot appears as expected. This is Julia version 1.8.2, PyPlot was just installed today (2022-10-16), python version (according to Pyplot) is 3.9.12, matplotlib version (according to the error message when I type hold(true) at the REPL) is 3.5.2, and the platform is Windows 10.
module driver_ppbug
using LinearAlgebra
using PyPlot
function admm1(a)
n = size(a,2)
clusterID = vcat(ones(Int(n/2)),2*ones(Int(n/2)))
itcount = 1
return clusterID, itcount
end
function find_k_largest_clusters(clusterID, k1)
return vcat([[1,2,3,4], [5,6,7]], [[i] for i = 8 : length(clusterID)])
end
function plotresult(a, clusterID)
n = size(a,2)
colors1 = "rgbcmky"
mxcolor = length(colors1)
result = find_k_largest_clusters(clusterID, mxcolor)
println("result lens = ", [length(q) for q in result])
plotted = [false for i = 1 : n]
for i = 1 : mxcolor
if length(result[i]) > 1
plot(a[1,result[i]], a[2,result[i]], "*" * colors1[[i]])
else
break
end
plotted[result[i]] .= true
end
plot(a[1, .!plotted], a[2, .!plotted], "." * colors1[[mxcolor]])
axis("equal")
nothing
end
function gm_generator(n)
a = hcat(collect(1.0:1.0:n), sin.(1.0:1.0:n))'
compID = vcat(ones(Int(n/2)), 2*ones(Int(n/2)))
weight = ones(n)
return a, compID, weight
end
function mxgau(n, sigma, lambdascale1, lambdascale2)
a, compID, weight = gm_generator(n)
sub1 = findall(compID .== 1)
sub2 = findall(compID .== 2)
close("all")
figure(1)
plot(a[1,sub1], a[2,sub1], "*r")
plot(a[1,sub2], a[2,sub2], "*g")
axis("equal")
figure(2)
plot(a[1,:], a[2,:], "*k")
axis("equal")
clusterID, itcount1 = admm1(a)
figure(3)
plotresult(a, clusterID)
println("itcount1 = ", itcount1)
nothing
end
mxgau(20, .3, .3, .1)
end
- Vorherrschende Sprache
- Julia
- Sterne
- 489
- Forks
- 90
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus JuliaPy/PyPlot.jl
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
-
julia PyPlot support missing dataEvtl. vergeben @deszoeke hat das vor 668 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 30/100
-
PGF preamble is not usedOffen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
Alle Issues in JuliaPy/PyPlot.jl
Ähnliche Issues
-
Add DocStringExtensionsOffendocumentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
ohno/Antique.jl#165 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
SciML/DiffEqNoiseProcess.jl#342 ·
-
Broken links in the docsOffen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag