Le défi est simple:
Créez un graphique à secteurs basé sur un certain nombre de valeurs d'entrée.
L'entrée sera une liste de nombres positifs, décimaux ou entiers, et la sortie sera un diagramme circulaire où chacune des valeurs d'entrée est représentée par des couleurs distinctes, et un pourcentage en dehors de chacune des zones.
Règles:
- Les couleurs doivent être visuellement reconnaissables (les couleurs exactes sont facultatives)
- Il y aura au moins deux et maximum 10 valeurs d'entrée
- Le rayon du cercle doit être compris dans la plage
[100 300]
pixels- Les graphiques vectoriels sont OK tant que la sortie par défaut donne un rayon de
[100, 300]
pixels
- Les graphiques vectoriels sont OK tant que la sortie par défaut donne un rayon de
- Les pourcentages doivent être des entiers
- Il n'y a pas de règle stricte indiquant où la valeur en pourcentage doit être placée, mais il doit être facile de voir à quelle zone elle appartient
- La distance entre le caractère le plus proche et le bord extérieur du cercle doit être comprise dans la plage
[5, 40]
pixels - La police est facultative
- Le tracé peut ou non avoir des lignes noires séparant chaque région
- Les fonctions faites pour créer des graphiques circulaires, par exemple, MATLAB:,
pie
Python:matplotlib.pyplot.pie
et Mathematica:PieChart
ne sont pas autorisées - Règles d'arrondi normales (vers le haut si c'est
(1.00, 0.5]
, vers le bas si c'est(0.5, 0.00)
) - Si la valeur en pourcentage d'une tranche est inférieure à
0.5%
, affichez0%
. La tranche doit toujours être incluse dans le tracé. - Veuillez fournir des graphiques pour examen (ou un lien vers un interprète). Il suffit de n'afficher que l'intrigue avec 10 valeurs d'entrée (pour éviter les réponses très longues)
Exemples
Veuillez utiliser les exemples de valeurs ci-dessous. Vous pouvez convertir les listes dans un format approprié à l'aide d'un convertisseur de liste numérique , par exemple celui de 27 octets par jimmy23013 .
x = [0.3, 1.2]
x = [3, 6, 2, 10]
x = [0.4387, 0.3816, 0.7655, 0.7952, 0.1869, 0.4898, 0.4456, 0.6463, 0.7094, 0.7547]
code-golf
graphical-output
Stewie Griffin
la source
la source
0.5
à zéro si c'est le cas par défaut. Mais0.50001
doit être arrondi à 1.Réponses:
Mathematica,
186183164 octetsPourrait être joué au golf plus loin. Génère actuellement un
Graphics
objet. Cas de test:la source
JavaScript (ES6),
311310302298 octetsUn octet enregistré avec l'aide de @Neil!
Explication
Écrit du SVG dans le code HTML de la page actuelle. Construit le graphique avec le point central
135 x 150
du rayon100px
et le texte à un rayon du135px
centre.la source
with(Math)c=r=>[sin(d=PI*2*(v+p))*r+135,cos(d)*r+150]
.with(Math)var solution = a=>
etc.with
. Je pense que j'aurais pu être en mode strict lors de mon dernierPython + PIL,
365355Résultat pour la plus grande liste d'exemples:
la source
eval(raw_input())
équivalent à Python 2input()
?