2010-06-08 3 views
3

Je souhaite tracer un graphique linéaire où l'axe des x est défini comme un nombre de jours entre deux dates et l'axe des ordonnées est une valeur qui varie chaque jour.core-plot et NSDate (iPhone)

Je peux tracer les valeurs y sous la forme d'un NSNumber mais je n'ai aucune idée de comment définir les plages et le balisage sur l'axe des x. J'ai regardé l'exemple de date dans le répertoire "examples" de la distribution de core-plot mais j'ai trouvé cela un peu déroutant.

Est-ce que quelqu'un connaît un tutoriel, ou un exemple de code, qui pourrait m'appeler à cet égard?

Merci d'avance.

Répondre

5

Vous devez connaître deux concepts principaux: comment mettre en forme les dates et comment convertir les dates en nombres pour les plages d'axes et les valeurs de données. Core Plot fournit une classe CPTimeFormatter qui prend en charge le formatage. Vous définissez un NSDateFormatter sur le format que vous souhaitez utiliser et une date de référence pour définir l'origine de l'échelle numérique. Définissez la propriété labelFormatter sur l'axe de votre CPTimeFormatter initialisé et il prendra soin de convertir les données numériques en dates et en appliquant le format souhaité.

La clé pour calculer les valeurs numériques est que vous devez trouver la différence entre votre date de référence et la valeur de la date d'intérêt en secondes. C'est pourquoi le programme d'échantillon a défini oneDay = 24 * 60 * 60.

24 heures/jour * 60 minutes/heure * 60 secondes/minute = 86400 secondes/jour.

+0

Merci, je vais essayer ceci =) – Nekto

+0

Eric, pouvez-vous, s'il vous plaît, dire quand est-ce que l'imprimante imprime des étiquettes avec un formateur? Comme je le vois dans le code source, il a pris la valeur de la date de l'emplacement de la tique? – Nekto