使用数据库数据将饼图保存为图像

时间:2017-12-29 02:27:13

标签: javascript php laravel charts

尝试将图表另存为图像时需要一些帮助。抱歉刚开始这个新的chart.js。

问题:

  1. 如何在图表中添加数据库数据?我一直试着添加$ user但它一直给我未定义的用户。
  2. 以下是我要从我的数据库中添加的数据

      $users = DB::table('personal_infos')
          ->join('evaluations','evaluations.user_id', '=', 'personal_infos.id') 
          ->select('evaluations.recommendation','evaluations.created_at' ) 
          ->where('evaluations.recommendation', '=', 'Yes')  
          ->get();
    

    现在我只是用这样的东西来生成饼图:

            <script type="text/javascript">
                $("#save-btn").click(function() {
            $("#canvas").get(0).toBlob(function(blob) {
                saveAs(blob, "chart_1.png");
            });
    });
    
    var data = [
        {
            value: 300,
            color:"#F7464A",
            highlight: "#FF5A5E",
            label: "Red"
        },
        {
            value: 50,
            color: "#46BFBD",
            highlight: "#5AD3D1",
            label: "Green"
        },
        {
            value: 100,
            color: "#FDB45C",
            highlight: "#FFC870",
            label: "Yellow"
        }
    ];
    
    var ctx = $("#canvas").get(0).getContext("2d");
    var mychart = new Chart(ctx).Pie(data,
    {
        //Boolean - Whether we should show a stroke on each segment
        segmentShowStroke : false,
    
        //String - The colour of each segment stroke
        segmentStrokeColor : "#fff",
    
        //Number - The width of each segment stroke
        segmentStrokeWidth : 2,
    
        //Number - The percentage of the chart that we cut out of the middle
        percentageInnerCutout : 0, // This is 0 for Pie charts
    
        //Number - Amount of animation steps
        animationSteps : 10,
    
        //String - Animation easing effect
        animationEasing : "linear",
    
        //Boolean - Whether we animate the rotation of the Doughnut
        animateRotate : true,
    
        //Boolean - Whether we animate scaling the Doughnut from the centre
        animateScale : false,
    
        //String - A legend template
        legendTemplate : "<ul class=\"<%=name.toLowerCase()%>-legend\"><% for (var i=0; i<segments.length; i++){%><li><span style=\"background-color:<%=segments[i].fillColor%>\"></span><%if(segments[i].label){%><%=segments[i].label%><%}%></li><%}%></ul>"
    
    }
    );
            </script>
    

0 个答案:

没有答案