【问题标题】:How can i display my data in a chart using chart js如何使用图表 js 在图表中显示我的数据
【发布时间】:2020-03-23 23:40:23
【问题描述】:

请帮助我,我不知道如何在图表栏中显示我的数据,我正在使用 ChartJs

这是我的销售表

id  | product     | stock | 
1   | brown cloth | 50    |
2   | jeans neavy | 35    |

这是我的控制器

public function chart2()
{
   $sell= DB::table('sell')->get();
       return view('myblade')>with('sell',json_encode($sell,JSON_NUMERIC_CHECK));
}

我想将产品显示为标签,将 stok 显示为数据,这是购物车栏

var db == {{ url('chart2') }}; // your db object
          var your_labels  = new Array();
          var your_data = new Array();  //array that will hold your data

          db.forEach((item, index, arr) => {
            your_labels.push(item.product);
            your_data.push(item.stock);
          })

          var myChart = new Chart(ctx, {
            type: 'bar',
            data: {
                labels: your_labels, 
                datasets: [{
                    label: '# of stocks',
                    data: your_data, 
                    backgroundColor: "rgba(220,220,220,0.5)",  //create them the same way. with same size 1 for each data entry
                    borderColor: color_border_array,
                    borderWidth: 1
                }]
            },
            options: {
                scales: {
                    yAxes: [{
                        ticks: {
                            beginAtZero:true
                        }
                    }]
                }
            }
        });

这是画布

<div class="panel panel-default">
    <div class="panel-heading text-center"><b>Data Penjualan</b></div>
      <div class="panel-body">
        <canvas id="canvas" height="280" width="400"></canvas>
    </div>
</div>

【问题讨论】:

  • 您可以在初始化图表之前从数据库中动态填充标签和数据数组并传递它们而不是静态数据。
  • 你能给我示例代码吗,我是新手
  • 您是 JavaScript 还是编程新手?
  • 我是 javascript 新手

标签: javascript laravel chart.js


【解决方案1】:

这是您可以对您的数据库进行基本迭代并初始化标签和数据数组的方法

var db; // your db object
var your_labels, your_data;  //array that will hold your data

db.forEach((item, index, arr) => {
  your_labels.push(item.product);
  your_data.push(item.stock);
})

像这样在初始化时将它们传递到图表中。

var myChart = new Chart(ctx, {
            type: 'bar',
            data: {
                labels: your_labels, 
                datasets: [{
                    label: '# of stocks',
                    data: your_data, 
                    backgroundColor: color_background_array,  //create them the same way. with same size 1 for each data entry
                    borderColor: color_border_array,
                    borderWidth: 1
                }]
            },
            options: {
                scales: {
                    yAxes: [{
                        ticks: {
                            beginAtZero:true
                        }
                    }]
                }
            }
        });

要记住的重要一点是您必须自己查看 db 对象的迭代。我不知道你是怎么用它的。

【讨论】:

  • 嗨,原来是空白,没有图表显示
  • 你已经创建了 color_background_array 和 color_border_array 吧?
  • 是的,我成功了
  • var db == {{ url('chart2') }}; "==" 你为什么使用比较运算符?尝试自己调试代码。如果您在 chrome 上运行它,您可以右键单击并使用检查选项。您将在控制台部分显示 js 错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 2019-05-02
  • 2014-09-12
  • 2017-11-23
  • 1970-01-01
相关资源
最近更新 更多