質問編集履歴
1
試したことの追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -64,6 +64,198 @@
|
|
64
64
|
|
65
65
|
|
66
66
|
|
67
|
+
### 試したこと
|
68
|
+
|
69
|
+
リストを使いたいのですが、まずはX軸とY軸を描画するために、
|
70
|
+
|
71
|
+
以下のコードを実行しました。
|
72
|
+
|
73
|
+
```python
|
74
|
+
|
75
|
+
import matplotlib.pyplot as plt
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
born_live = [('gunma', 'tokyo'), ('tochigi', 'hokkaido') , ('tokyo', 'tokyo'), ('nagano', 'nagano'), ('miyazaki', 'fukuoka')]
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
# 都道府県のリスト作成
|
84
|
+
|
85
|
+
pref = [d for d in set(sum(map(list, born_live), []))]
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
x = ['hokkaido', 'gunma', 'tochigi', 'tokyo', 'nagano', 'miyazaki', 'fukuoka']
|
90
|
+
|
91
|
+
y = ['hokkaido', 'gunma', 'tochigi', 'tokyo', 'nagano', 'miyazaki', 'fukuoka']
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
plt.xticks(range(len(pref)), pref)
|
96
|
+
|
97
|
+
plt.yticks(range(len(pref)), pref)
|
98
|
+
|
99
|
+
plt.scatter(x,y)
|
100
|
+
|
101
|
+
plt.show()
|
102
|
+
|
103
|
+
```
|
104
|
+
|
105
|
+
![イメージ説明](442f784c0f4251cbb137de08c19f817b.png)
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
この時点で、入力したX軸・Y軸の要素の順番が異なるのですが、
|
110
|
+
|
111
|
+
更に、以下のようにリストと同じようにプロットを打とうとしたところ、
|
112
|
+
|
113
|
+
エラーが出力されてしまっている状態です。
|
114
|
+
|
115
|
+
```python
|
116
|
+
|
117
|
+
import matplotlib.pyplot as plt
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
born_live = [('gunma', 'tokyo'), ('tochigi', 'hokkaido') , ('tokyo', 'tokyo'), ('nagano', 'nagano'), ('miyazaki', 'fukuoka')]
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
# 都道府県のリスト作成
|
126
|
+
|
127
|
+
pref = [d for d in set(sum(map(list, born_live), []))]
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
x = ['hokkaido', 'gunma', 'tochigi', 'tokyo', 'nagano', 'miyazaki', 'fukuoka']
|
132
|
+
|
133
|
+
y = [None, 'tokyo', 'hokkaido', 'tokyo', 'nagano', 'fukuoka', None]
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
plt.xticks(range(len(pref)), pref)
|
138
|
+
|
139
|
+
plt.yticks(range(len(pref)), pref)
|
140
|
+
|
141
|
+
plt.scatter(x,y)
|
142
|
+
|
143
|
+
plt.show()
|
144
|
+
|
145
|
+
```
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
エラー文
|
150
|
+
|
151
|
+
```
|
152
|
+
|
153
|
+
--------------------------------------------------------------------------
|
154
|
+
|
155
|
+
ValueError Traceback (most recent call last)
|
156
|
+
|
157
|
+
<ipython-input-4-457a837ce2d3> in <module>()
|
158
|
+
|
159
|
+
11 plt.xticks(range(len(pref)), pref)
|
160
|
+
|
161
|
+
12 plt.yticks(range(len(pref)), pref)
|
162
|
+
|
163
|
+
---> 13 plt.scatter(x,y)
|
164
|
+
|
165
|
+
14 plt.show()
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
~/.pyenv/versions/anaconda3-5.0.1/lib/python3.6/site-packages/matplotlib/pyplot.py in scatter(x, y, s, c, marker, cmap, norm, vmin, vmax, alpha, linewidths, verts, edgecolors, hold, data, **kwargs)
|
170
|
+
|
171
|
+
3355 vmin=vmin, vmax=vmax, alpha=alpha,
|
172
|
+
|
173
|
+
3356 linewidths=linewidths, verts=verts,
|
174
|
+
|
175
|
+
-> 3357 edgecolors=edgecolors, data=data, **kwargs)
|
176
|
+
|
177
|
+
3358 finally:
|
178
|
+
|
179
|
+
3359 ax._hold = washold
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
~/.pyenv/versions/anaconda3-5.0.1/lib/python3.6/site-packages/matplotlib/__init__.py in inner(ax, *args, **kwargs)
|
184
|
+
|
185
|
+
1708 warnings.warn(msg % (label_namer, func.__name__),
|
186
|
+
|
187
|
+
1709 RuntimeWarning, stacklevel=2)
|
188
|
+
|
189
|
+
-> 1710 return func(ax, *args, **kwargs)
|
190
|
+
|
191
|
+
1711 pre_doc = inner.__doc__
|
192
|
+
|
193
|
+
1712 if pre_doc is None:
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
~/.pyenv/versions/anaconda3-5.0.1/lib/python3.6/site-packages/matplotlib/axes/_axes.py in scatter(self, x, y, s, c, marker, cmap, norm, vmin, vmax, alpha, linewidths, verts, edgecolors, **kwargs)
|
198
|
+
|
199
|
+
4094 offsets=offsets,
|
200
|
+
|
201
|
+
4095 transOffset=kwargs.pop('transform', self.transData),
|
202
|
+
|
203
|
+
-> 4096 alpha=alpha
|
204
|
+
|
205
|
+
4097 )
|
206
|
+
|
207
|
+
4098 collection.set_transform(mtransforms.IdentityTransform())
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
~/.pyenv/versions/anaconda3-5.0.1/lib/python3.6/site-packages/matplotlib/collections.py in __init__(self, paths, sizes, **kwargs)
|
212
|
+
|
213
|
+
859 """
|
214
|
+
|
215
|
+
860
|
216
|
+
|
217
|
+
--> 861 Collection.__init__(self, **kwargs)
|
218
|
+
|
219
|
+
862 self.set_paths(paths)
|
220
|
+
|
221
|
+
863 self.set_sizes(sizes)
|
222
|
+
|
223
|
+
|
224
|
+
|
225
|
+
~/.pyenv/versions/anaconda3-5.0.1/lib/python3.6/site-packages/matplotlib/collections.py in __init__(self, edgecolors, facecolors, linewidths, linestyles, antialiaseds, offsets, transOffset, norm, cmap, pickradius, hatch, urls, offset_position, zorder, **kwargs)
|
226
|
+
|
227
|
+
147 self._uniform_offsets = None
|
228
|
+
|
229
|
+
148 if offsets is not None:
|
230
|
+
|
231
|
+
--> 149 offsets = np.asanyarray(offsets, float)
|
232
|
+
|
233
|
+
150 # Broadcast (2,) -> (1, 2) but nothing else.
|
234
|
+
|
235
|
+
151 if offsets.shape == (2,):
|
236
|
+
|
237
|
+
|
238
|
+
|
239
|
+
~/.pyenv/versions/anaconda3-5.0.1/lib/python3.6/site-packages/numpy/core/numeric.py in asanyarray(a, dtype, order)
|
240
|
+
|
241
|
+
581
|
242
|
+
|
243
|
+
582 """
|
244
|
+
|
245
|
+
--> 583 return array(a, dtype, copy=False, order=order, subok=True)
|
246
|
+
|
247
|
+
584
|
248
|
+
|
249
|
+
585
|
250
|
+
|
251
|
+
|
252
|
+
|
253
|
+
ValueError: could not convert string to float: 'fukuoka'
|
254
|
+
|
255
|
+
```
|
256
|
+
|
257
|
+
|
258
|
+
|
67
259
|
### 補足情報(FW/ツールのバージョンなど)
|
68
260
|
|
69
261
|
Python 3.6
|