回答編集履歴
1
間違い修正と説明追加
test
CHANGED
@@ -10,31 +10,25 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
*/Lib/site-packages/pandas/plotting/_core.py
|
13
|
+
~~*/Lib/site-packages/pandas/plotting/_core.py~~
|
14
14
|
|
15
|
-
|
15
|
+
*/Lib/site-packages/pandas/plotting/_matplotlib/__init__.py
|
16
16
|
|
17
17
|
```python
|
18
18
|
|
19
|
-
|
19
|
+
def plot(data, kind, **kwargs):
|
20
20
|
|
21
|
-
|
21
|
+
# Importing pyplot at the top of the file (before the converters are
|
22
22
|
|
23
|
+
# registered) causes problems in matplotlib 2 (converters seem to not
|
23
24
|
|
25
|
+
# work)
|
24
26
|
|
25
|
-
from pandas._config import get_option
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
27
|
+
import matplotlib.pyplot as plt
|
30
|
-
|
31
|
-
from pandas.util._decorators import Appender, Substitution
|
32
|
-
|
33
|
-
・・・
|
34
28
|
|
35
29
|
```
|
36
30
|
|
37
|
-
|
31
|
+
とかです。
|
38
32
|
|
39
33
|
|
40
34
|
|
@@ -45,3 +39,59 @@
|
|
45
39
|
これはmatplotlibの仕様です。
|
46
40
|
|
47
41
|
matplotlibのいくつかの機能を使うためにはをdf.plotの前matplotlibの関数を使って準備しておく必要があり場合もあります。
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
1点目
|
46
|
+
|
47
|
+
上記の_core.pyは、import pandasの際に読み込まれるのでしょうか。
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
plotが最初に呼ばれたときです。
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
2点目
|
56
|
+
|
57
|
+
もしimport pandasにより、matplotlibが同時にimportされるのなら、あえてimport matplotlibを(jupyterNotebookの)セルに記述する必要は、ないのでは、ないでしょうか。
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
Pythonにimportされるのと、それにある名前を使ってアクセスできるのは違います。
|
62
|
+
|
63
|
+
明にimportせずに使う方法はありますが不便です。以下のように
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
```python
|
68
|
+
|
69
|
+
df.plot()
|
70
|
+
|
71
|
+
impot sys
|
72
|
+
|
73
|
+
sys.modules['matplotlib.pyplot'].xlabel('訪問回数')
|
74
|
+
|
75
|
+
sys.modules['matplotlib.pyplot'].show()
|
76
|
+
|
77
|
+
```
|
78
|
+
|
79
|
+
とか書けば動作はしますが、やりたくないでしょう。
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
一般的にモジュールをimportした場合、そのモジュールがまだimportされていなければそのモジュールを読み込みますが、既に読み込まれている場合は読み込み済みのモジュールを指定された名前に束縛(bind)するだけです。
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
既にmatplotlibがどこかでimportされているなら、
|
88
|
+
|
89
|
+
import matplotlib.pyplot as plt
|
90
|
+
|
91
|
+
と
|
92
|
+
|
93
|
+
impot sys
|
94
|
+
|
95
|
+
plt = sys.modules['matplotlib.pyplot']
|
96
|
+
|
97
|
+
は全く同じ意味ですので、普通は前者を使います。
|