IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

Non génération d'un graphique d'une donnée JSON [Chart.js]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre du Club
    Homme Profil pro
    Intérimaire
    Inscrit en
    Mai 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Intérimaire

    Informations forums :
    Inscription : Mai 2017
    Messages : 91
    Points : 60
    Points
    60
    Par défaut Non génération d'un graphique d'une donnée JSON
    Re,

    Je me permet de revenir à la charge car je souhaite faire maintenant un affichage à la volée des graphique en fonction de la sélection dans la liste déroulante ^^

    J'ai réussi mais j'ai un element où je rencontre l'erreur : "failed to create chart can't acquire context from the given item"

    codes:
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <!DOCTYPE html>
    <html>
     
    <head>
    	<meta charset="utf-8">
    	<meta name="viewport" content="width=device-width">
    	<title>repl.it</title>
    	<link href="css/style.css" rel="stylesheet" type="text/css" />
    	<!-- <link href="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.css" rel="stylesheet" type="text/css" /> -->
    	<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.0/themes/smoothness/jquery-ui.css" />
    	<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    	<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js" integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" crossorigin="anonymous"></script>
    	<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.min.js"></script>
    	<script src="test.js"></script>
    </head>
     
    </head>
    <body>
    	<div id="selection">
    		<select>
    		</select>
    	</div>
    	<div id="graphiques">
    	</div>
    </body>
    </html>
     
    </html>

    JQUERY:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    $(document).ready(function(){
    // Définition des variables
    	var $graph = $('#graphiques'),
    		$container= $('.container'),
    		$select = $('#selection select'),
    		select_val='';
     
    // Paramétrage du cache en false 
    	$.ajaxSetup({cache: false});
    // Chargement du fichier de données JSON
     
     
    	$.getJSON('rp.json',function(rp_stats){
    		$.each(rp_stats, function(webservices){
    			var ctx='';
     
    				$select.append('<option>'+webservices+'</option>'); //Mise en place de la sélection les select_val
    				$select.on('change',function(){
    					var labels_ws=[],
    						data_ws =[];
     
    					select_val=$('select option:selected').text();
    					$graph.empty();
    					console.log(select_val);
    					$graph.append('<div class="chart-container"><canvas id="'+select_val+'" height="600"></canvas></div>');
    					$.each(rp_stats[select_val],function(code_apache){
    						labels_ws.push(code_apache);
    						data_ws.push(rp_stats[select_val][code_apache]);
    						ctx= $('#'+select_val);
    						new Chart(ctx,{
    									type:'doughnut',
    									data:{
    										labels:labels_ws,
    										datasets: [{
    											data:data_ws,
    											backgroundColor: [
    												'#01DF01',
    												'#DF0101',
    												'#BF00FF',
    												'#08088A',
    												'#000000',
    												'#F4FA58'
    											],
    										}],
    									},
    									options:{
    										responsive: true,
    										maintainAspectRatio: false,
    										title:{
    											display: true,
    											text: select_val
    										}
    									}
    								});
    					});
    				});
    		});
    	});
    });
    et l'élément du Json qui pose problème (c'est celui ou il y a plus de 2 code erreurs dénombré)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    {
    	"BduWebservice-12.0.0_services_WSRncps": {
    		"200": 7678,
    		"500": 2,
    		"502": 1,
    		"503": 1
    	}
    }
    Merci par avance

  2. #2
    Membre du Club
    Homme Profil pro
    Intérimaire
    Inscrit en
    Mai 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Intérimaire

    Informations forums :
    Inscription : Mai 2017
    Messages : 91
    Points : 60
    Points
    60
    Par défaut
    Euu je viens de trouver pourquoi ^^

    ce sont les points dans le "12.0.0" .. je les ai remplacé par des - et hop ca fonctionne

    Merci quand meme

  3. #3
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 405
    Points : 4 841
    Points
    4 841
    Par défaut
    Sauf qu'il faut mettre le déclencheur de l'événement "change" sur le select en dehors de each, parce que avec ton code actuel, tu attaches l'événement à chaque tour ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lecture d'une donnée JSON en Delphi
    Par BrunetteCP dans le forum Delphi
    Réponses: 3
    Dernier message: 31/07/2017, 16h19
  2. chercher une donnée json sur un site distant
    Par trx337 dans le forum Langage
    Réponses: 0
    Dernier message: 12/05/2017, 03h13
  3. [D3js] Graphique avec des données json
    Par DiverSIG dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 04/02/2017, 14h56
  4. [AJAX] Mettre un tableau dans une donnée json
    Par reventlov dans le forum jQuery
    Réponses: 2
    Dernier message: 15/05/2014, 16h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo