我无法从ggplot2切换到seaborn。当前正在使用Anaconda v.4.8.4和Python 3.6.3
找不到我使用的任何图形。例如,我可以从seaborn的网站获取任何代码并运行:
import matplotlib as plt
import seaborn as sns
sns.set(style="ticks")
dots = sns.load_dataset("dots")
# Define a palette to ensure that colors will be
# shared across the facets
palette = dict(zip(dots.coherence.unique(),
sns.color_palette("rocket_r", 6)))
# Plot the lines on two facets
sns.relplot(x="time", y="firing_rate",
hue="coherence", size="choice", col="align",
size_order=["T1", "T2"], palette=palette,
height=5, aspect=.75, facet_kws=dict(sharex=False),
kind="line", legend="full", data=dots)
sns.plt.show() #this was not on site code but tried it(plt.show() as referenced by other posts)
错误消息:
File "<ipython-input-8-893759310442>", line 13, in <module>
sns.relplot(x="time", y="firing_rate",
AttributeError: module 'seaborn' has no attribute 'relplot'
看过这些帖子(及其他)
(1)AtributeError:“模块”对象没有属性“ plt”-Seaborn
(2)Seaborn ImportError:DLL加载失败:找不到指定的模块
(3)pip成功安装后ImportError
(4)在Python中导入Seaborn模块时出错
并尝试了他们描述的安装/卸载方法(python -m pip install seaborn,卸载seaborn / reinstall-等等。)我在conda中使用conda并在cmd中使用pip进行了此操作。
我没有花很多时间在PATH上,但以下是屏幕截图:
有什么想法吗?
非常感谢
答案 0 :(得分:33)
您已经在seaborn模块的最新版本上找到了该示例,该版本为0.9
。在"What’s new in each version"部分中:
新的关系图
添加了三个全新的绘图功能:relplot(), scatterplot()和lineplot()
因此,您需要将seaborn更新到最新版本才能使用这些绘图功能。
答案 1 :(得分:22)
我有同样的问题。所选答案是正确的,您使用的是较旧的版本,但是我遇到了一些麻烦。这是发生的事情以及我如何纠正它。我首先尝试过:
conda update seaborn
并没有安装seaborn 0.9.0,而是安装了0.8.x版本。然后我做了
conda remove seaborn
conda install seaborn=0.9.0
仍安装了旧版本。我终于可以使用pip3了!
pip3 install seaborn==0.9.0
哪一个工作正常,并解决了您提到的遗漏图。只要您在conda环境中执行此操作,它就应该像是conda安装一样起作用。
答案 2 :(得分:6)
首先卸载seaborn:
conda remove seaborn
pip uninstall seaborn
然后尝试下载并安装最新版本:
pip3 --no-cache-dir install seaborn
对我有用。