问题标签 [seaborn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
7869 浏览

python - python中matplotlib的seaborn内核密度估计下限

我有一组测量的树直径,并试图绘制一个直方图,其中核密度估计叠加在 python 的顶部。seaborn 模块让我可以很简单地做到这一点,但我无法指定负数的 kde 应该为零(因为树不能有负的树直径)。

我目前得到的是:

我查看了 seaborn.kdeplot 这是 distplot 调用但找不到任何有用的函数。有谁知道这是否可以用 seaborn 完成,如果不能,是否可以更普遍地用 matplotlib 完成?

我才开始使用 seaborn,因为我不知道如何用 pyplot.hist() 覆盖 kde pyplot.plot()。

0 投票
1 回答
930 浏览

seaborn - subplots_adjust 与 seaborn.regplot

使用时seaborn.regplot,xlabel 和 ylabel 和 yticklabels 实际上被截断,即不可见。正常,我会做

解决这个问题。但是,这似乎对数字没有任何影响。

我究竟做错了什么?

0 投票
2 回答
27048 浏览

python - 使用 seaborn 将次要网格线添加到 matplotlib 图

我是 Seaborn 包的粉丝,它使用 Matplotlib 制作漂亮的图。但我似乎无法弄清楚如何在我的情节中显示次要网格线。

给出:

在此处输入图像描述

这里有什么想法吗?还有关于如何调整确实出现的 Seaborn 网格线样式的任何想法……特别是,我想让它们更窄。

0 投票
2 回答
7045 浏览

python - 如何定义 matplotlib 和 seaborn 轴

我很难在绘图中打开和关闭轴,也很难调整轴的大小。我关注了几个线程,我的方法是:

但是我的图形最终仍然在顶部和右侧带有轴,并且由于轴的大小而出现了奇怪的间隙。在此处输入图像描述

0 投票
1 回答
6947 浏览

python - 具有堆叠组件的直方图

假设我有一个在过去 90 天内每天都测量的值。我想绘制值的直方图,但我想让查看者轻松查看过去 90 天的某些非重叠子集的测量值在哪里累积。我想通过将直方图的每个条“细分”成块来做到这一点。一大块是最早的观察,一大块是最近的,一大块是最近的。

这听起来像是一份工作,df.plot(kind='bar', stacked=True)但我无法正确获取详细信息。

这是我到目前为止所拥有的:

这给了我:

结果不佳

这个图有一些缺点:

  • 条形图以错误的顺序堆叠。 last5应该在顶部和next15中间。即它们应该按列的顺序堆叠forhist
  • 条之间有水平空间
  • x 轴标有整数,而不是指示 bin 所代表的值。我的“第一选择”是将 x 轴标记为与我刚刚运行时完全相同的标记data['values'].hist()。我的“第二个选择”是让 x 轴标有如果我这样做的话我会得到的“bin 名称” pd.cut(data['values'], 15)。在我的代码中,我使用labels=False了因为如果我不这样做,它将使用 bin 边缘标签(作为字符串)作为条形标签,并且它会将这些按字母顺序排列,从而使图表基本上无用。

解决这个问题的最佳方法是什么?到目前为止,我觉得我正在使用非常笨拙的功能。

0 投票
5 回答
130678 浏览

python - 绘制一个直方图,使总高度等于 1

这是此答案的后续问题。我正在尝试绘制标准化直方图,但不是将 1 作为 y 轴上的最大值,而是得到不同的数字。

对于数组 k=(1,4,3,1)

我得到这个直方图,看起来不像规范。

在此处输入图像描述

对于不同的数组 k=(3,3,3,3)

我得到这个直方图,最大 y 值为 10。

在此处输入图像描述

对于不同的 k,即使 normed=1 或 normed=True,我也会得到不同的 y 最大值。

为什么标准化(如果有效)会根据数据发生变化,如何使 y 的最大值等于 1?

更新:

我正在尝试通过在 matplotlib 中绘制条形高度总和为 1 的直方图来实现Carsten König的答案,并得到非常奇怪的结果:

结果:

在此处输入图像描述

我究竟做错了什么?

0 投票
1 回答
2866 浏览

python - seaborn中的小提琴图没有显示平均值,百分位数或棍子?

当我尝试复制此处的示例时,我的小提琴图(带有我的数据)没有显示中位数和中位数,以及第 25 和第 75 个百分位数,但原始示例显示。

它似乎也忽略了"sticks"它的论点。

这是我尝试过的:

这就是我得到的:

在此处输入图像描述

而原来的样子如下(对于sns.violinplot(df, color="pastel")):

在此处输入图像描述

笔记:

此问题不影响箱线图。

这是一个导致(非常相似)形状的最小示例:

0 投票
2 回答
4753 浏览

python - seaborn 0.2 版中图像的默认调色板是什么?

我立即喜欢的一件事seaborn是,它将 Matplotlib 图像的默认调色板(、、、imshow... pcolormeshcontourf设置为我以前从未见过的非常好的调色板(黑色-蓝色-绿色-棕色-粉色-紫色-白色) :

seaborn v. 0.2.1 下的默认轮廓图

但是当我将包从版本 0.21 升级到 0.3 时,这个默认值变成了一些灰度:

seaborn v. 0.3 下的默认轮廓图

v. 0.2.1 中的默认调色板是什么,我该如何取回它?

0 投票
8 回答
58854 浏览

python - 如何使用 python (Pandas) 拥有堆叠的条形集群

所以这是我的数据集的样子:

我想为每个数据框绘制堆积条形图,但由于它们具有相同的索引,我希望每个索引有 2 个堆积条形图。

我试图在相同的轴上绘制两者:

但它重叠。

然后我尝试先连接两个数据集:

但这里的一切都堆积如山

我最好的尝试是:

这使 :

在此处输入图像描述

这基本上是我想要的,除了我希望酒吧订购为

(df1,A) (df2,A) (df1,B) (df2,B) 等等...

我想有一个技巧,但我找不到它!


在@bgschiller 的回答之后,我得到了这个:

在此处输入图像描述

这几乎是我想要的。我希望栏按 index 聚集,以便在视觉上清晰。

奖励:x标签不是多余的,例如:

感谢您的帮助。

0 投票
1 回答
38340 浏览

python - 使用 seaborn 绘制时间序列数据

假设我使用以下内容创建了一个完全随机Dataframe的:

这导致了本文底部显示的数据框。我想绘制我的列A,,并使用时间序列可视化功能,B以便我得到以下方面的信息:CDseaborn

在此处输入图像描述

我该如何解决这个问题?根据我在这个笔记本上读到的内容,电话应该是:

但这似乎要求数据框以不同的方式表示,列以某种方式编码time、和unit,这不是我的情况。如何将我的数据框(如下所示)转换为这种格式?conditionvalue

这是我的数据框:

最后,我正在寻找的是图的叠加(每列一个),其中每个图如下所示(请注意,不同的 CI 值得到不同的 alpha 值):

                     在此处输入图像描述