2011-02-16 2 views
10

Y at-il une source ouverte ou payé bibliothèque .NET qui va créer des diagrammes avec deux caractéristiques importantes:.NET Venn Library

  • Créer les diagrammes de Venn
  • Enregistrer les diagrammes sous forme d'images?
+3

sonne comme un bon projet. pour commencer –

+0

L'API Google Venn ne prend pas en charge https :. Il affiche une balise img avec une référence à leur http: url uniquement, ce qui donne un avertissement de sécurité mixte si vous êtes dans un protocole https – user484527

Répondre

2

Je ne connais pas celui qui existe actuellement, mais il ne devrait pas être si difficile à créer. Un objet Image pour représenter le graphique. Utilisez Graphics.FillEllipse pour dessiner les cercles et Graphics.DrawString pour imprimer les statistiques sur le diagramme. Et la méthode Image.Save va enregistrer le graphique dans le fichier.

+1

Dessiner les graphiques semble être la partie la plus facile. Effectuer les calculs de chevauchement n'est peut-être pas si simple. – detroitpro

+0

Assez vrai. L'utilisation de la composante alpha du pinceau permettrait au chevauchement de fonctionner, mais entraînerait également un affaiblissement du reste de la forme. –

3

Vous ne savez pas si c'était disponible en février. Mais l'API graphique Google prend en charge les diagrammes de Venn: http://code.google.com/apis/chart/image/docs/chart_wizard.html

À titre d'exemple: http://chart.apis.google.com/chart?chs=200x80&cht=v&chd=t:100,50,80,20,10,20,5&chdl=DataA|DataB|DataC

Renvoie un diagramme de Venn avec les propriétés suivantes:

chr = 200x80 (taille de l'image) (peut être un maximum de 300 000 pixels) cht = v (type de diagramme de Venn) chd = t: (taille A, taille B, taille C, taille A croisant B, taille A croisant C, taille B croisant C, taille A croisant B croisant C) chdl = (Etiquettes des données)

Vous pouvez utiliser ceci avec 1, 2 ou 3 cercles. (Pour deux juste faire les paramètres de taille -1 où C serait et seulement donner deux étiquettes

chart.apis.google.com/chart?chs=200x100 & cht = v = t & chd:. 100100, -1 , 10, -1, -1, -1 & CHDL = DATAA | Datab

Vous pouvez implémenter dans toute application qui peut charger une image et donc sauvegarder le résultat de cette requête