質問編集履歴

1

文章を一部修正

2021/03/24 14:32

投稿

usaabc
usaabc

スコア1

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  作りたいグラフは
4
4
 
5
- ・横軸はdate型の日付(modelのday)
5
+ ・横軸はdate型の日付(後述するmodelのday)
6
6
 
7
7
  ・縦軸は時間
8
8
 
@@ -10,19 +10,77 @@
10
10
 
11
11
  ・ラベルはChar型の項目名(modelのcategory)
12
12
 
13
+ としたいです。
14
+
15
+
16
+
17
+ index.html内の<canvas id="myBarChart">について
18
+
19
+
20
+
21
+ data: {
22
+
23
+ labels: {{ **days**|safe }},
24
+
25
+ datasets: [
26
+
27
+ {
28
+
29
+ label: {{ labels|safe }},
30
+
31
+ data: {{ time|safe }},
32
+
33
+ }]
34
+
35
+
36
+
37
+ とするとグラフが表示されませんでした。
38
+
39
+ 試しに
40
+
41
+
42
+
43
+ data: {
44
+
45
+ labels: {{ **labels**|safe }},
46
+
47
+ datasets: [
48
+
49
+ {
50
+
51
+ label: {{ labels|safe }},
52
+
53
+ data: {{ time|safe }},
54
+
55
+ }]
56
+
57
+
58
+
13
- いのですが、のように横軸に入るべき日付とベル出所の分からない文字になってい
59
+ daysのところにlabelsを入れてみところ以下のようなグ表示されした
14
-
15
-
16
-
17
- 唯一、データとなるint型の時間は正常に表示されているようです。
60
+
18
-
19
- 初歩的なミスのかもしれませんが、どうぞよろしくお願いします。
61
+
20
-
21
-
22
-
23
- ### 発生している問題・エラーメッセージ
62
+
24
-
25
- ![![イメージ説明](0dd8e9e2bbd698c47e2736840f819ab5.jpeg)
63
+ ![イメージ説明](2d8dfd188dbe4c35529d54cda027ff42.jpeg)
64
+
65
+
66
+
67
+ 本来の希望は横軸の項目に日付が出るようにしたいので、viewでのデータの取り出し方の問題かと
68
+
69
+ 思うのですが、ご教示いただけないでしょうか。
70
+
71
+
72
+
73
+ *グラフ上部の凡例(labels)がつながって表示されてしまっていますが、そちらはいったん無視して横軸を解決したいです。
74
+
75
+ *コードのインデント処理ができておらず、見づらい状態ですみません
76
+
77
+
78
+
79
+ ###起きている問題
80
+
81
+ グラフの横軸に日付を入れるためviewで取り出したdaysを要素に入れるとグラフが表示されなくなる。
82
+
83
+
26
84
 
27
85
 
28
86
 
@@ -164,6 +222,10 @@
164
222
 
165
223
  <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.min.js"></script>
166
224
 
225
+ <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.3/Chart.min.js"></script>
226
+
227
+ <script type="text/javascript" src="https://github.com/nagix/chartjs-plugin-colorschemes/releases/download/v0.2.0/chartjs-plugin-colorschemes.min.js"></script>
228
+
167
229
  </head>
168
230
 
169
231
 
@@ -172,9 +234,7 @@
172
234
 
173
235
  <div>
174
236
 
175
- <canvas id="myBarChart" width="50px" height="30px"></canvas>
237
+ <canvas id="myBarChart"></canvas>
176
-
177
-
178
238
 
179
239
  <script>
180
240
 
@@ -186,17 +246,15 @@
186
246
 
187
247
  data: {
188
248
 
189
- labels: '{{ days }}',
249
+ labels: {{ labels|safe }},
190
250
 
191
251
  datasets: [
192
252
 
193
253
  {
194
254
 
195
- label: '{{ labels }}',
255
+ label: {{ labels|safe }},
196
-
256
+
197
- data: {{ time }},
257
+ data: {{ time|safe }},
198
-
199
- backgroundColor: "rgba(130,201,169,0.5)"
200
258
 
201
259
  }]
202
260
 
@@ -204,11 +262,21 @@
204
262
 
205
263
  options: {
206
264
 
265
+  plugins: {
266
+
267
+  colorschemes: {
268
+
269
+  scheme: 'brewer.Paired12'
270
+
271
+ }
272
+
273
+ },
274
+
207
275
  title: {
208
276
 
209
277
  display: true,
210
278
 
211
- text: '学習状況'
279
+ text: '学習実施状況'
212
280
 
213
281
  },
214
282
 
@@ -244,8 +312,58 @@
244
312
 
245
313
 
246
314
 
315
+ <canvas id="myPieChart"></canvas>
316
+
247
317
  </div>
248
318
 
319
+ <script type="text/javascript">
320
+
321
+ var ctx = document.getElementById("myPieChart");
322
+
323
+ var myPieChart = new Chart(ctx, {
324
+
325
+ type: 'pie',
326
+
327
+ data: {
328
+
329
+ labels: "{{ piedata.category }}",
330
+
331
+ datasets: [{
332
+
333
+ backgroundColor: [
334
+
335
+ "#BB5179",
336
+
337
+ "#FAFF67",
338
+
339
+ "#58A27C",
340
+
341
+ "#3C00FF"
342
+
343
+ ],
344
+
345
+ data: [38, 31, 21, 10]
346
+
347
+ }]
348
+
349
+ },
350
+
351
+ options: {
352
+
353
+ title: {
354
+
355
+ display: true,
356
+
357
+ text: '学習内訳'
358
+
359
+ }
360
+
361
+ }
362
+
363
+ });
364
+
365
+ </script>
366
+
249
367
  {% endblock %}
250
368
 
251
369