teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

コードの追加

2019/07/06 12:22

投稿

Roines
Roines

スコア18

title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,201 @@
1
1
  Chart.jsを使用して画面にグラフを表示しようとしています。
2
2
  その際、画面にテーブルを表示し、そのテーブルのセル1つごとにグラフを表示したいのですが、グラフのサイズの調整がうまく行かず途方に暮れております。
3
- どなたか知恵をお貸しいただければと思います。
3
+ どなたか知恵をお貸しいただければと思います。
4
+
5
+ ``` html
6
+ <!DOCTYPE html>
7
+ <html lang="en" dir="ltr">
8
+ <head>
9
+ <meta charset="utf-8">
10
+ <title>test</title>
11
+ <link rel="stylesheet" href="master.css">
12
+ </head>
13
+ <body>
14
+ <header>
15
+ <span id="header-title">
16
+ <h2>
17
+ グラフサンプル
18
+ </h2>
19
+ </span>
20
+ <div id="nav-drawer">
21
+ <input id="nav-input" type="checkbox" class="nav-unshown">
22
+ <label id="nav-open" for="nav-input"><span></span></label>
23
+ <label class="nav-unshown" id="nav-close" for="nav-input"></label>
24
+ <div id="nav-content">メニュー内容</div>
25
+ </div>
26
+
27
+ </header>
28
+ <h1>グラフ</h1>
29
+ <div id="graph">
30
+ <canvas id="myPieChart"></canvas>
31
+ </div>
32
+   <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.bundle.js"></script>
33
+
34
+ <table id="graphtable">
35
+ <tr>
36
+ <td>
37
+ <div style="position:relative; top:60px; left:10px; width:500px; height:500px;">
38
+
39
+ <div id="graph">
40
+ <canvas id="myPieChart"></canvas>
41
+ </div>
42
+ <script>
43
+ var ctx = document.getElementById("myPieChart");
44
+ var myPieChart = new Chart(ctx, {
45
+ type: 'pie',
46
+ data: {
47
+ labels: ["A型", "O型", "B型", "AB型"],
48
+ datasets: [{
49
+ backgroundColor: [
50
+ "#BB5179",
51
+ "#FAFF67",
52
+ "#58A27C",
53
+ "#3C00FF"
54
+ ],
55
+ data: [38, 31, 21, 10]
56
+ }]
57
+ },
58
+ options: {
59
+ title: {
60
+ display: true,
61
+ maintainAspectRatio: true,
62
+ text: '血液型 割合'
63
+ }
64
+ }
65
+ });
66
+ </script>
67
+ </div>
68
+ </td>
69
+ <td>
70
+ <div style="position:relative; top:60px; left:10px; width:500px; height:500px;">
71
+ <div id="graph">
72
+ <canvas id="myPieChart2"></canvas>
73
+ </div>
74
+ <script>
75
+ var ctx = document.getElementById("myPieChart2");
76
+ var myPieChart = new Chart(ctx, {
77
+ type: 'pie',
78
+ data: {
79
+ labels: ["A型", "O型", "B型", "AB型"],
80
+ datasets: [{
81
+ backgroundColor: [
82
+ "#BB5179",
83
+ "#FAFF67",
84
+ "#58A27C",
85
+ "#3C00FF"
86
+ ],
87
+ data: [38, 31, 21, 10]
88
+ }]
89
+ },
90
+ options: {
91
+ title: {
92
+ display: true,
93
+ maintainAspectRatio: true,
94
+ text: '血液型 割合'
95
+ }
96
+ }
97
+ });
98
+ </script>
99
+ </div>
100
+ </td>
101
+ <td>
102
+ <div style="position:relative; top:60px; left:10px; width:500px; height:500px;">
103
+
104
+ <div id="graph">
105
+ <canvas id="myPieChart3"></canvas>
106
+ </div>
107
+ <script>
108
+ var ctx = document.getElementById("myPieChart3");
109
+ var myPieChart = new Chart(ctx, {
110
+ type: 'pie',
111
+ data: {
112
+ labels: ["A型", "O型", "B型", "AB型"],
113
+ datasets: [{
114
+ backgroundColor: [
115
+ "#BB5179",
116
+ "#FAFF67",
117
+ "#58A27C",
118
+ "#3C00FF"
119
+ ],
120
+ data: [38, 31, 21, 10]
121
+ }]
122
+ },
123
+ options: {
124
+ title: {
125
+ display: true,
126
+ maintainAspectRatio: true,
127
+ text: '血液型 割合'
128
+ }
129
+ }
130
+ });
131
+ </script>
132
+ </div>
133
+ </td>
134
+ <td>
135
+ <div style="position:relative; top:60px; left:10px; width:500px; height:500px;">
136
+ <div id="graph">
137
+ <canvas id="myBarChart"></canvas>
138
+ </div>
139
+ <script>
140
+ var ctx = document.getElementById("myBarChart");
141
+ var myBarChart = new Chart(ctx, {
142
+ type: 'bar',
143
+ data: {
144
+ labels: ['8月1日', '8月2日', '8月3日', '8月4日', '8月5日', '8月6日', '8月7日'],
145
+ datasets: [
146
+ {
147
+ label: 'A店 来客数',
148
+ data: [62, 65, 93, 85, 51, 66, 47],
149
+ backgroundColor: "rgba(219,39,91,0.5)"
150
+ },{
151
+ label: 'B店 来客数',
152
+ data: [55, 45, 73, 75, 41, 45, 58],
153
+ backgroundColor: "rgba(130,201,169,0.5)"
154
+ },{
155
+ label: 'C店 来客数',
156
+ data: [33, 45, 62, 55, 31, 45, 38],
157
+ backgroundColor: "rgba(255,183,76,0.5)"
158
+ }
159
+ ]
160
+ },
161
+ options: {
162
+ title: {
163
+ display: true,
164
+ maintainAspectRatio: true,
165
+ text: '支店別 来客数'
166
+ },
167
+ scales: {
168
+ yAxes: [{
169
+ ticks: {
170
+ suggestedMax: 100,
171
+ suggestedMin: 0,
172
+ stepSize: 10,
173
+ callback: function(value, index, values){
174
+ return value + '人'
175
+ }
176
+ }
177
+ }]
178
+ },
179
+ }
180
+ });
181
+ </script>
182
+ </div>
183
+ </td>
184
+ </tr>
185
+ <tr>
186
+ <td>データ</td>
187
+ <td>データ</td>
188
+ <td>データ</td>
189
+ <td>データ</td>
190
+ </tr>
191
+ <tr>
192
+ <td>データ</td>
193
+ <td>データ</td>
194
+ <td>データ</td>
195
+ <td>データ</td>
196
+ </tr>
197
+ </table>
198
+ </body>
199
+ </html>
200
+
201
+ ```