ValueError: kan argumenttype <type 'bool'> naar rgba-array niet converteren?

Ik leer spreiding te verspreiden met behulp van matplotlib. Er is echter een bug en deze lijkt gerelateerd aan het kleurargument. Kan iemand me de fout uitleggen? Ik heb gegoogeld maar geen antwoord gevonden. Bij voorbaat dank.

xActA = range(10)
yActA = np.random.randn(10)
xActQ = range(10)
yActQ = np.random.randn(10)
xRa = np.random.randn(10)
yRa = np.random.randn(10)

f1 = figure(1)
scatter(xActA, yActA, c ='b', marker = 'o', facecolors = True, label = 'Answers')
scatter(xActQ, yActQ,   c ='r', marker = 'o', facecolors = True, label = 'Questions')
xscale('log')
yscale('log')
title('User activity')
xlabel('Number of posts')
ylabel('Number of users')
legend()
f1.show()
f1.savefig('figure7_test.png')
1

2 antwoord

U geeft gezichtskleuren een boolean.
De parameter is gedefinieerd als:

facecolor or facecolors: matplotlib color arg or sequence of rgba tuples  

Maak gewoon facecolor = Geen en het zal werken. Dit wil je waarschijnlijk niet omdat je dezelfde kleur krijgt voor de twee plots. Als u de parameter verwijdert, krijgt u automatische kleuren. Als u toch aangepaste kleuren nodig hebt, is dit de eenvoudigste manier om ze aan te geven als matplotlib-kleuren ('geel', 'rood', enz.)

1
toegevoegd
@AnneS het is moeilijk om te zeggen van de gegevens die u geeft. Met die veranderingen zou het nog moeten werken. Dus het probleem is ergens anders dat je niet laat zien. U moet uw nieuwe code en de volledige traceback in een andere vraag plaatsen. Maar probeer eerst het programma te begrijpen wanneer het werkt en analyseer wat u hebt gewijzigd om het te laten mislukken
toegevoegd de auteur joaquin, de bron
Bedankt. Ik heb mijn code gewijzigd in: ax1 = scatter (xActA, yActA, color = 'blue', s = 20) en er is een nieuwe fout: return-array (a, dtype, copy = False, order = order) ValueError: instelling een arrayelement met een reeks. En er is een plot met geen scatterpunten, maar iets anders erin. Kun je me vertellen wat de fout is? Erg bedankt.
toegevoegd de auteur AnneS, de bron

Het lijkt erop dat u een reeks kleurwaarden moet opgeven voor de parameter facecolors , niet True .

0
toegevoegd