当我尝试结合使用pandas绘图函数和Seaborn的FacetGrids将我的数据框绘制为具有时间索引的面积图时,我在Qt应用程序中遇到了问题。发生的情况是正确创建了网格布局,但这些网格中没有出现绘图。不过,使用Seaborn绘图函数可以按预期工作。我试图通过将绘图例程与我的其余代码隔离开来弄清楚发生了什么,我发现了一个相当出乎意料的行为,如下所示(使用ipythonnotebook):%matplotlibinlineimportpandasaspdimportseabornassnsdf=pd.DataFrame({"Home":[76,64,38,78,63,45,32,46,
我在为线图自定义颜色时遇到了一些麻烦。我想用顺序调色板显示一组光谱。参数“palette="blues"工作正常,但不接受任何适当的颜色列表(如“Blues_d”),其中不包含任何明亮的颜色。您可以在下面看到我正在使用的代码。color=(sns.dark_palette("purple"))sns.set()ax=sns.lineplot(x="Wavelength",y="Absorption",hue="t(min)",lw=1,data=df1,palette=color,legend="brief")问题是,我收到以下错误:ValueError:Thepalettelisth
当使用SeabornfacetGrid图时。是否可以将行变量标签设置在左侧(例如,作为两行子图y轴标签的第一行)?作为子图标题的一部分,默认位置在顶部。不幸的是,合并的文本有时会变得太长而无法合理地放入那个拥挤的空间。然后我尝试在实例化facetGrid对象时使用margin_titles=True选项。但在这种情况下,行变量标签位于图例右侧的外侧,这可能离图表太远了。因此,在我的两分钱思想中,提高美感的可能简单方法:当margin_titles=True和legend_out=True时,将边距标题移动到图例中允许行变量标签显示在y轴标签之前的左侧。其他想法?抱歉,积分不够,无法添加
我刚刚升级到IPythonNotebook3.0版,它禁用了seaborn的格式设置。这是一些复制问题的示例代码importnumpyasnpimportmatplotlibasmplimportmatplotlib.pyplotaspltimportseabornassns%matplotlibinlinedata=np.random.randn(100)fig,ax=plt.subplots(figsize=(11,8.5))ax.plot(data)此代码在IPythonNotebookV2.4.1中运行良好(参见http://nbviewer.ipython.org/gist/
注意:这在1.4.3或更高版本中已修复我使用Seaborn绘图包,我刚刚升级到最新版本的Matplotlib。现在,带有点符号的图不再呈现。以前可用的代码现在会创建空白图,但只有在导入Seaborn时才会如此。下面是一些示例代码:importmatplotlib.pyplotaspltimportmatplotlibimportnumpyasnpprintmatplotlib.__version__Matplotlib版本:1.4.2创建一个没有seaborn的图:x=np.linspace(0,2,101)y=np.sin(2*np.pi*x)plt.plot(x,y,'.')导入s
我正在尝试为某些数据绘制条形样式“因子图”,然后在其上绘制适合该数据的常规点样式“因子图”。所以对于数据图我可以简单地做:sns.factorplot(x='x',y='yData',data=dataFrame,kind='bar')对于模型图,我可以简单地做:sns.factorplot(x='x',y='yModel',data=dataFrame,kind='point')问题是如果我这样做:sns.plt.show()我得到2个独立的数字,而不是一个。有什么简单的方法可以告诉seaborn将它们绘制在同一张图上吗? 最佳答案
您可以为绘图指定颜色,但Seaborn会在绘图过程中稍微淡化颜色。有没有办法关闭此行为?例子:importmatplotlibimportseabornassnsimportnumpyasnp#Createsomedatanp.random.seed(0)x=np.random.randn(100)#SettheSeabornstylesns.set_style('white')#Specifyacolorforplottingcurrent_palette=matplotlib.colors.hex2color('#86b92e')#Makeaplotg=sns.distplot(x
所以我使用seaborn制作一个kdeplot和sns.kdeplot(x,y,ax=plt.gca(),cmap="coolwarm").我可以使用levelskwarg更改级别,但我也希望能够标记轮廓。在matplotlib中,您只需执行plt.clabel(CS,CS.levels,inline=True)但seaborn不会返回轮廓集合CS。我该怎么做?还是我必须自己从头开始?编辑:有没有办法制作一个也将返回CS的包装器?我看不出如何... 最佳答案 不幸的是,seaborn竭尽全力对用户保密。除了根据数据绘制plt.con
有没有办法并排绘制两个KDE联合图?我已经能够显示seaborn可以使用类似这样的东西生成的几乎所有类型的图表:power_t_series=sDF.pitchvelocity_t_series=sDF.velocityduration_t_series=sDF.durationfigure,axes=plt.subplots(nrows=1,ncols=2)figure.set_size_inches(20,10)b,g=sns.color_palette("muted",2)sns.tsplot(power_t_series,color=b,ax=axes[0])sns.distp
我正在尝试使用seaborn绘制图表sns.lmplot(x="when_start",y="how_long",hue='state',data=apps_pd.loc[(apps_pd['user']=='xavi')],lowess=True);apps_pd是数据框。apps_pd['when_start']中的字段类似于1499963856220,how_long也是如此。脚本的结果但是,如果我不更改数据格式,我会得到一个非常困惑的图表。我是否可以将x轴的单位更改为“yyyy-mm-dd”?我想按天对所有数据进行分组。我也可以将y轴的单位更改为小时-分钟-秒吗?这是我的数据框