Comment Définir une Série de graphiques Couleurs dans MVC 3?
Je suis en utilisant
Système.Web.Les aides.Graphique
d'afficher des graphiques dans mon MVC3 application.
@{
var myChart = new Chart(width: 600, height: 400)
.AddTitle("Resource Utilization in Projects in Week 1")
.AddSeries(
name: "Project1",
chartType: "StackedColumn",
xValue: new[] { "W1", "W2", "W3", "W4", "W5" },
yValues: new[] { 80, 60, 40, 20, 10}
)
.AddSeries(
name: "Project2",
chartType: "StackedColumn",
xValue: new[] { "W1", "W2", "W3", "W4", "W5" },
yValues: new[] { 10, 10, 0, 10, 10 }
)
.AddSeries(
name: "Available",
chartType: "StackedColumn",
xValue: new[] { "W1", "W2", "W3", "W4", "W5" },
yValues: new[] { "10", "30", "50", "70", "80" }
)
.AddLegend();
myChart.Write();
}
Cependant les couleurs de la série sont choisi au hasard par le nombre de série il y a sur le graphique. Personne ne sait comment définir la couleur spécifique à certaines séries?
J'ai trouvé la Cartographie des échantillons en ligne pour le réglage des couleurs, mais ils sont à l'aide de l'espace de noms
Système.Web.L'INTERFACE utilisateur.DataVisualization.Cartographie
OriginalL'auteur ala | 2011-04-25
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour créer un ChartTheme si vous voulez personnaliser le graphique. Malheureusement celles-ci ressemblent un peu hacky...
Par exemple. essayez de définir un thème comme ceci:
Vous remarquerez que votre tableau est différent. Si vous cliquez sur
ChartTheme.Green
et appuyez sur la touche F12 (Aller À la Définition), vous verrez le ChartTheme classe est complète des énormes chaînes de définir la façon dont les graphiques sont de style:Il ya une énorme quantité de choses que vous pouvez personnaliser dans ce XML (pourquoi XML? Je ne sais pas!), si le type de graphique etc. que vous utilisez aura une influence sur une grande partie de ce que vous pouvez faire. Vous pouvez trouver la documentation pour ce ici:
http://msdn.microsoft.com/en-us/library/dd456696.aspx
Modifier: Ce lien peut également être utile:
Nouveau asp.net des contrôles graphiques - vont-ils travailler avec MVC (éventuellement)?
Le lien au bas de ma réponse décrit les objets - je suppose que c'est juste un sérialisés version de ces classes, de sorte que vous pouvez simplement ajouter les noms des propriétés ou des classes pour le HTML. Si vous afficher la définition de tous les biens dans le ChartHelper classe il devrait y avoir des échantillons d'un lot de
Aucune idée sur la façon de modifier les propriétés qui sont dans la Série de la propriété comme IsValueShownAsLabel?
OriginalL'auteur Danny Tuppeny
Ce blog l'article décrit comment modifier les couleurs de votre série
Réglage De Microsoft Série De Graphique Des Couleurs
Si vous souhaitez utiliser le format XML au lieu ensuite, copiez le code suivant où j'ai changé la couleur Rouge.
OriginalL'auteur joma
Pour les projets MVC je trouve plus facile de peaufiner l'aspect graphique en mettant le thème dans un fichier XML externe. E. g. vous pouvez mettre un fichier XML dans votre dossier de Contenu et ensuite de référence dans le Tableau constructeur comme suit:
Vous pouvez ensuite le style de tous les aspects, y compris la couleur de la Palette dans le XML. La structure du XML reflète les différentes classes et les propriétés utilisées dans le Graphique de l'instance. Pour la direction, vous pouvez consulter la documentation MSDN des classes, à partir ici.
Pour la modification de la ColorPallette contrôler spécifiquement https://crmchartguy.wordpress.com/2012/08/23/palette-custom-colors-in-charts/
Ceci est un exemple de diagramme de thème en XML:
Aussi, ce qui est intéressant (sauf si c'est un problème de mise en cache), le PaletteCustomColors ne semblait travail lorsque j'ai utilisé un fichier xml avec themePath, plutôt que de thème.
OriginalL'auteur bgx
J'ai eu du mal avec ce même et après la lecture de la documentation de Microsoft posté par Danny j'ai finalement trouvé que le PaletteCustomColor attribut est le chemin à parcourir. Voici un exemple d'un thème avec une palette personnalisée:
OriginalL'auteur Michael Hjorth
vous pouvez essayer cette. Son travail pour moi
graphique.Série[0].Color = Système.De dessin.Couleur.FromArgb(31, 167, 215);
OriginalL'auteur dilipkumar1007