带有Seaborn的matplotlib 1.4.2:行标记不起作用

oll*_*end 7 python numpy matplotlib seaborn

注意:这在1.4.3或更高版本中已得到修复


我使用Seaborn绘图包,我刚刚升级到最新版本的Matplotlib.现在,带有点符号的图不再呈现.之前功能正常的代码会创建空白图,但仅在导入Seaborn时才会创建.这是一些示例代码:

import matplotlib.pyplot as plt
import matplotlib
import numpy as np

print matplotlib.__version__
Run Code Online (Sandbox Code Playgroud)

Matplotlib版本:

1.4.2
Run Code Online (Sandbox Code Playgroud)

创建一个没有seaborn的情节:

x = np.linspace(0,2,101)
y = np.sin(2*np.pi*x)
plt.plot(x,y,'.')
Run Code Online (Sandbox Code Playgroud)

sin函数在每个数据点都有点

进口seaborn,打印版本:

import seaborn as sns
print sns.__version__
Run Code Online (Sandbox Code Playgroud)

Seaborn版本:

0.4.0
Run Code Online (Sandbox Code Playgroud)

使用seaborn导入创建线图:

plt.plot(x,y,'-')
Run Code Online (Sandbox Code Playgroud)

sin函数,实线连接每个数据点

使用seaborn导入创建点图会产生一组空白轴:

plt.plot(x,y,'.')
Run Code Online (Sandbox Code Playgroud)

一组空的轴

上面的所有内容都是在IPython笔记本中完成的,但我只是在Spyder中尝试了以下相同的结果:

import matplotlib.pyplot as plt
import matplotlib
import numpy as np

print matplotlib.__version__

x = np.linspace(0,2,101)
y = np.sin(2*np.pi*x)
plt.figure()
plt.plot(x,y,'.')

import seaborn as sns
print sns.__version__
plt.figure()
plt.plot(x,y,'-')

plt.figure()
plt.plot(x,y,'.')

plt.show()
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?

der*_*icw 4

看来这是由于 Matplotlib 中的错误造成的。

https://github.com/matplotlib/matplotlib/issues/3711

https://github.com/mwaskom/seaborn/issues/344

您可能只需要暂时降级。

PS:怎么了,道格。