1 ,Seaborn 简介 :
Seaborn 是对 matplotlib 的封装可增强
2 ,安装 : pycharm
file - settings - priject
3 ,异常解决 :
异常 : OSError: [WinError 126] 找不到指定的模块。解决 : dos 界面操作 1、pip uninstall scipy seaborn 2、pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scipy seaborn如果还是不对,说明 : 问题是各个库之间版本不兼容解决办法 : 将各个库都更新到最新版本
pip install
--user
--upgrade numpy
-i https
://pypi
.tuna
.tsinghua
.edu
.cn
/simple
pip install
--user
--upgrade pandas
-i https
://pypi
.tuna
.tsinghua
.edu
.cn
/simple
pip install
--user
--upgrade matplotlib
-i https
://pypi
.tuna
.tsinghua
.edu
.cn
/simple
pip install
--user
--upgrade seaborn
-i https
://pypi
.tuna
.tsinghua
.edu
.cn
/simple
一顿操作猛如虎 : 结果 anaconda 不能使用了打开 anaconda prompt 发现出错了 : AttributeError: ‘_NamespacePath’ object has no attribute ‘sort’原因是 :conda 中的 pip 版本与 python 中的 pip 版本混乱更新 pip :
python
-m pip install
--upgrade pip
-i https
://pypi
.tuna
.tsinghua
.edu
.cn
/simple
anaconda 修好了,但是 pycharm 依然报错pycharm 引入 Seaborn 的时候报错 :
Traceback
(most recent call last
):
File
"<input>", line
1, in <module
>
File
"D:\58pycharm\file\helpers\pydev\_pydev_bundle\pydev_umd.py", line
197, in runfile
pydev_imports
.execfile(filename
, global_vars
, local_vars
)
File
"D:\58pycharm\file\helpers\pydev\_pydev_imps\_pydev_execfile.py", line
18, in execfile
exec(compile(contents
+"\n", file, 'exec'), glob
, loc
)
File
"D:/space/pycharm/python03/demo03/d1.py", line
2, in <module
>
import seaborn
as sns
File
"D:\58pycharm\file\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line
21, in do_import
module
= self
._system_import
(name
, *args
, **kwargs
)
File
"C:\Users\86182\AppData\Roaming\Python\Python36\site-packages\seaborn\__init__.py", line
6, in <module
>
from .rcmod
import *
File
"D:\58pycharm\file\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line
21, in do_import
module
= self
._system_import
(name
, *args
, **kwargs
)
File
"C:\Users\86182\AppData\Roaming\Python\Python36\site-packages\seaborn\rcmod.py", line
7, in <module
>
from . import palettes
, _orig_rc_params
File
"D:\58pycharm\file\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line
21, in do_import
module
= self
._system_import
(name
, *args
, **kwargs
)
File
"C:\Users\86182\AppData\Roaming\Python\Python36\site-packages\seaborn\palettes.py", line
9, in <module
>
from .utils
import desaturate
, set_hls_values
, get_color_cycle
File
"D:\58pycharm\file\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line
21, in do_import
module
= self
._system_import
(name
, *args
, **kwargs
)
File
"C:\Users\86182\AppData\Roaming\Python\Python36\site-packages\seaborn\utils.py", line
6, in <module
>
from scipy
import stats
File
"D:\58pycharm\file\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line
21, in do_import
module
= self
._system_import
(name
, *args
, **kwargs
)
File
"C:\Users\86182\AppData\Roaming\Python\Python36\site-packages\scipy\__init__.py", line
104, in <module
>
from . import _distributor_init
File
"D:\58pycharm\file\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line
21, in do_import
module
= self
._system_import
(name
, *args
, **kwargs
)
File
"C:\Users\86182\AppData\Roaming\Python\Python36\site-packages\scipy\_distributor_init.py", line
61, in <module
>
WinDLL
(os
.path
.abspath
(filename
))
File
"D:\75python\file\lib\ctypes\__init__.py", line
348, in __init__
self
._handle
= _dlopen
(self
._name
, mode
)
OSError
: [WinError
126] 找不到指定的模块。
原因 : libmxnet.dll 找不到必需的依赖了解决办法 : 1 ,用 Dependency Walker 看看缺少哪些 dll 2 ,把缺少的复制到系统的 path 下或放到 libmxnet 的同目录具体做法 :
pip install Shapely‑
1.6.4.post2‑cp36‑cp36m‑win_amd64
.whl
-i https
://pypi
.tuna
.tsinghua
.edu
.cn
/simple
最终找到了原因 : 1 ,pychrm 用的是 python3.6 ,dos 用的是 python3.5 2 ,刚才在 dos 做的所有事情,都是在 python3.5 中做的解决 : 修改 pycharm 的 python 版本 在 pycharm 中集成 anaconda 环境
3 ,pycharm 集成 anaconda 环境 :
file - settings - project interpreter - add选系统默认的环境 : ( 也就是 anaconda 环境 ) apply - ok等着他集成 : pycharm 集成 anaconda 总结 : 1 ,anaconda 安装之后,会修改环境变量 : 将系统的 python 变量修改为 anaconda 的变量 2 ,为什么 pycharm 运行出错 : 因为 pycharm 在集成 anaconda 之前,一直用的都是自己安装的 python ,而我们没有对自己的 python 做任何操作,pip 安装的内容都安装到 anaconde 中的 python 中了 3 ,pycharm 集成 anaconda 本质 : 将 anaconda 中的 python.exe 拖过来,到 pycharm 中的环境去就好了。
4 ,Seaborn 模板 :
共几套 : 5 套默认模板的使用 : sns.set()
5 ,画正弦曲线 : 参数 ( 最大高度 )
代码 :
import seaborn
as sns
import pandas
as pd
import numpy
as np
import matplotlib
.pyplot
as plt
def sinplot(flip
=1):
x
= np
.linspace
(0, 14, 100)
y
= np
.sin
(x
) * flip
plt
.plot
(x
, y
)
if __name__
== '__main__':
sinplot
(2)
结果 : 思考 : 1 ,生成 ndarray : x = np.linspace(0, 14, 100) 2 ,对全部元素计算 : y = np.sin(x) * flip
6 ,画 6 条线 : plt 自带画风
代码 :
if __name__
== '__main__':
for i
in range(6):
high
= i
+ 1
sinplot
(high
)
结果 :
7 ,画六条线 : seaborn 默认画风
代码 : sns.set()
if __name__
== '__main__':
sns
.set()
for i
in range(6):
high
= i
+ 1
sinplot
(high
)
结果 :
8 ,画 6 条线 : seaborn 五种风格
五种风格 :
darkgrid :
whitegrid : 白色背景,有横线
dark : 灰色背景,没有线
white : 白色背景,没有线
ticks : 有坐标,没有线
9 ,darkgrid :就是默认的那个风格 ( 灰色网格 )
代码 :
if __name__
== '__main__':
sns
.set_style
("darkgrid")
for i
in range(6):
high
= i
+ 1
sinplot
(high
)
结果 :
10,whitegrid :白色网格
代码 :
sns
.set_style
("whitegrid")
结果 :
11 ,sns.set_style(“dark”) :黑色背景
结果 :
12 ,sns.set_style(“white”) : 白色背景
结果 :
13 ,sns.set_style(“ticks”) : 有坐标点
结果 :
14 ,只有 x ,y 轴 :
代码 :
if __name__
== '__main__':
sns
.set_style
("ticks")
for i
in range(6):
high
= i
+ 1
sinplot
(high
)
sns
.despine
(left
=False,bottom
=False,top
=True,right
=True)
结果 :
15 ,seaborn 盒图 :
造集合 ndarray : np.arange(6)
res
= np
.arange
(6)
结果 :
[0,1,2,3,4,5]
造矩阵 :