web-dev-qa-db-fra.com

Comment visualiser la progression des données catégorisées?

Contexte:

Je veux visualiser mes progrès dans le bloc dans un joli graphique.

Dans mon gymnase d'escalade lokal, les problèmes de blocs se présentent sous différentes couleurs: blanc -> très facile; jaune -> facile; vert -> pas si facile ...

Pour chaque couleur, il y a plusieurs problèmes (environ 10). Le nombre total varie à est également difficile à compter, donc je ne le sais pas. Compter également tous les problèmes que j'ai résolus pour une couleur donnée devient également fastidieux. Je compte donc les problèmes résolus si ce nombre est petit ou le nombre pas encore résolu si c'est petit.

En utilisant ces données, je veux visualiser mes progrès au fil du temps.

Fondamentalement, je veux visualiser les données où chaque point de données se compose de plusieurs tuples du type suivant pour chaque point dans le temps:

(category, direction, value)

la catégorie a un nombre limité de valeurs (environ 5), qui ont un ordre strict. Les valeurs réelles sont des nombres entiers positifs, y compris 0. La direction est la signification de la valeur: "Nombre de problèmes résolus" ou "Nombre de problèmes non encore résolus".

Notez qu'il existe plusieurs tuples à tout moment. Par exemple, on peut avoir résolu tous les problèmes jaunes sauf 2 et 3 problèmes verts.

Quelle serait une bonne façon de visualiser cela?

Exemple de données (comme demandé dans les commentaires) Format: Jour en entier; Catégorie; direction; valeur

1; yellow; not solved yet; 4
2; yellow; not solved yet; 2
    green; solved; 1
3; yellow; not solved yet; 0
    green; solved; 1
4; yellow; not solved yet; 3 
    green; solved; 2
5; yellow; not solved yet; 0
    green; solved; 3   
6; yellow; not solved yet; 0
    green; solved; 1
7; yellow; not solved yet; 0
    green; solved; 6
8; yellow; not solved yet; 0
    green; not solved; 7
9; yellow; not solved yet; 0
    green; not solved; 6
10; yellow; not solved yet; 0
    green; not solved; 5
11; yellow; not solved yet; 2
    green; solved; 3
12; yellow; not solved yet; 1
    green; solved; 5
    orange; solved; 1
13; yellow; not solved yet; 0
    green; not solved; 6
    orange: solved; 1

Propriétés qui, je pense, aideraient

J'attendrais les propriétés suivantes d'une solution:

  • le temps passe de gauche à droite, car c'est ainsi que j'ai l'habitude de voir les lignes de temps représentées

  • des valeurs plus élevées sont affichées plus haut sur une sorte d'axe y que des valeurs plus basses

  • les problèmes non résolus sont affichés plus haut sur une sorte d'axe y que les valeurs résolues, car ils représentent une plus grande réussite.

Ce ne sont pas des exigences, mais simplement des choses que j'attendrais d'une solution.

1
Jens Schauder

J'ai peur d'avoir encore un peu de mal à comprendre les données, je vais donc suivre le processus que j'ai utilisé pour trouver un concept et j'espère que cela vous aidera à clarifier les données ou à créer quelque chose que vous pourrez utiliser vous-même .

  1. Décomposez les données en composants individuels et codez-les d'une manière ou d'une autre: il y a quatre informations et chacune a une valeur et un moyen de coder les informations, donc dans ce cas, le jour est un nombre, le problème est une couleur, les valeurs sont des nombres et la direction est un booléen (deux valeurs opposées ou complémentaires).
  2. Regroupez les données dans la plus petite unité d'information significative, qui est dans ce cas les 4 éléments d'information. Toutes les unités d'informations supplémentaires seront regroupées et placées à côté du groupe de valeurs précédent.
  3. Regroupez les données dans un bloc d'informations plus important, qui dans ce cas correspond aux jours, car vous pouvez résoudre un certain nombre de problèmes dans une journée donnée.
  4. Classez les données selon leur ordre logique, qui est dans ce cas les jours car il y a un ordre chronologique des informations par jours.

Si vous pouvez être plus précis sur l'utilisation des données, cela m'aidera à comprendre et à affiner le concept initial.

enter image description here

Une mise à jour basée sur les commentaires et retours:

enter image description here

La seule façon que je vois de mettre le résolu contre le non résolu est de diviser une rangée en deux et d'en mettre une plus haut et l'autre plus bas comme ceci:

enter image description here

1
Michael Lai