标签: seaborn

在散点图中为虹膜数据集使用不同的颜色

我正在学习使用Python进行数据分析,并使用matplotlib和seaborn库,并在Kaggle中制作了一个Notebook。我试图制作一个散点图,以显示萼片叶子和花瓣叶子的宽度和长度之间的比率。

sns.FacetGrid(iris, hue="Species", size=10) 

total_rows = iris.count
number_of_iris = len(iris)

sepalLengths = iris["SepalLengthCm"]
sepalWidths = iris["SepalWidthCm"]

petalLengths = iris["PetalLengthCm"]
petalWidths = iris["PetalWidthCm"]

plt.scatter(range(number_of_iris),(sepalLengths/sepalWidths))
plt.xlabel("ID")
plt.ylabel("Ratio")
plt.show()
Run Code Online (Sandbox Code Playgroud)

输出是 在此处输入图片说明

这段代码正确无误,但我试图以三种不同的颜色显示该图,以区分这3种不同的物种。我将代码更改为:

total_rows = iris.count
number_of_iris = len(iris)

sepalLengths = iris["SepalLengthCm"]
sepalWidths = iris["SepalWidthCm"]

petalLengths = iris["PetalLengthCm"]
petalWidths = iris["PetalWidthCm"]

sns.FacetGrid(iris, hue="Species", size=10) \
   .map(range(number_of_iris),(sepalLengths/sepalWidths)) \
   .add_legend()
Run Code Online (Sandbox Code Playgroud)

但收到错误:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-48-97e6cd0ab095> in <module>()
     10 petalWidths = iris["PetalWidthCm"]
     11 
---> 12 sns.FacetGrid(iris, hue="Species", size=10)    .map(range(number_of_iris),(sepalLengths/sepalWidths))    .add_legend()
Run Code Online (Sandbox Code Playgroud)

如何将每个物种绘制成不同的颜色?

数据的一小部分是:

47,5.1,3.8, 1.34, …
Run Code Online (Sandbox Code Playgroud)

python matplotlib seaborn kaggle

0
推荐指数
1
解决办法
5513
查看次数

seaborn regplot 删除数据点的颜色

我正在分析Iris 数据集并在花瓣宽度和花瓣长度之间绘制散点图。为了制作情节,我使用了以下代码:

# First, we'll import pandas, a data processing and CSV file I/O library
import pandas as pd
# We'll also import seaborn, a Python graphing library
import warnings # current version of seaborn generates a bunch of warnings that we'll ignore
warnings.filterwarnings("ignore")
import seaborn as sns
import matplotlib.pyplot as plt
import numpy
sns.set(style="dark", color_codes=True)

# Next, we'll load the Iris flower dataset, which is in the "../input/" directory
iris = pd.read_csv("Iris.csv") # the iris dataset is …
Run Code Online (Sandbox Code Playgroud)

python regression matplotlib seaborn

0
推荐指数
1
解决办法
4385
查看次数

使用 countplot() 标准化

下面的代码显示了一个图表,其中包含我列表中的值的数量:

import seaborn as sns
sns.countplot([0,1,2,3,1,2,1,3,2,1,2,1,3])
plt.show()
Run Code Online (Sandbox Code Playgroud)

我想要相同的百分比图。seaborn 或 matplotlib 是否有一个简单的选择?

python matplotlib seaborn

0
推荐指数
1
解决办法
6441
查看次数

seaborn barplot 中条形的升序

我有以下数据框

   Class    Age Percentage
0   2004    3   43.491170
1   2004    2   29.616607
2   2004    4   13.838925
3   2004    6   10.049712
4   2004    5   2.637445
5   2004    1   0.366142
6   2005    2   51.267369
7   2005    3   19.589268
8   2005    6   13.730432
9   2005    4   11.155305
10  2005    5   3.343524
11  2005    1   0.913590
12  2005    9   0.000511
Run Code Online (Sandbox Code Playgroud)

我想使用 seaborn 绘制条形图,其中 y 轴是“百分比”,x 轴是“类别”,并使用“年龄”列标记它们。我还想按降序排列条形,即从较大的条形到较小的条形。

为了做到这一点,我想到了以下几点:我将hue_order根据“百分比”变量的顺序更改参数。例如,如果我按降序对 'Percentage' 列进行排序Class == 2004,则hue_order = [3, 2, 4, 6, 5, 1]. …

python matplotlib bar-chart pandas seaborn

0
推荐指数
1
解决办法
6060
查看次数

seaborn 水平条形图未显示图

我可以用 searborn 绘制一个普通的条形图,但是当我指定orient = 'h'没有在我的图中显示任何内容时。

df = pd.DataFrame(['A','A','A','B','B','C'],columns = ['letters'])
data =df.letters.value_counts()
sns.barplot(x = data.index, y = data)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

东方

在此处输入图片说明

python matplotlib seaborn

0
推荐指数
1
解决办法
2290
查看次数

Python - 分类气泡图

我有一个 12x17 的数据框,想创建一个如下所示的分类气泡图:

https://i.stack.imgur.com/IvD58.png(来自用于映射研究的分类气泡图

我的数据框基本上是这样的:

#      A     B     C
# X   0.3   0.2   0.4
# Y   0.1   0.4   0.1
Run Code Online (Sandbox Code Playgroud)

我不能使用 matplotlib.scatter 因为它不接受分类输入并且创建假值也不起作用,因为它不是 n*n。或者我可以吗?我想不通。我发现 seaborn.stripplot 需要一个分类输入,但所有气泡的大小都相同,所以我被卡住了。

任何想法如何在python中创建这样的情节?非常感谢。

python matplotlib seaborn

0
推荐指数
1
解决办法
3737
查看次数

用seaborn distplot设置轴最大值

是否可以设置海浪变形的最小和最大显示极限?

我试图遍历熊猫数据框的列,但是我所有的输出都使用相同的轴。

for v in var_list: 
    df[v].dropna(inplace=True) 
    var=df[v].max()
    vstar = v + "_output.png"
    splot = sns.distplot(df[v])
#    sns.plt.xlim(0, var)
    splot.figure.savefig(vstar)
    splot.autoscale()
Run Code Online (Sandbox Code Playgroud)

我与几个尝试sns.plt.xlim()自动量程(),但也似乎这样的伎俩。我想念什么?

python pandas seaborn

0
推荐指数
1
解决办法
7643
查看次数

使用 seaborn、pandas 和 datetime 的月线图错误

我正在尝试创建下图,但将月份写成 xticks 而不是整数:

几乎正确

我的代码目前看起来像这样:

plt.figure(figsize=(10,5))
sns.lineplot(x="Month",y="DHN",data = df.head(1100),color="BLACK")
sns.lineplot(x="Month",y="Heat Loss",data = df.head(1100),color ="RED")
Run Code Online (Sandbox Code Playgroud)

结果是:

在此处输入图片说明

显然,这张图有很多地方是错误的。图表 x 轴应该从一月开始,数据框内的值在几个月内堆积起来(?),并且df.head(1100)不应该包括像十二月或九月这样的月份。

数据框的第一行如下所示:

在此处输入图片说明

以日期作为日期时间。

我错过了什么,它没有按照我想要的方式工作?

python pandas seaborn

0
推荐指数
1
解决办法
2217
查看次数

Matplotlib 循环遍历多个子图的 seaborn 图中的轴

我想在 seaborn 直方图 (distplot) 上创建五个子图(数据框特定列中的每个类别一个)。

我的数据集是:

prog score
cool 1.9
cool 3.7
yay  4.5
yay  2.6
neat 1.4
neat 7
neat 6
wow  4.1
wow  1.7
wow  1.4
hooray 6.6
hooray 5.6
hooray 4.9
yikes 1.2
yikes 3.9
yikes 6.9
Run Code Online (Sandbox Code Playgroud)

我不希望所有的 'prog's 都被绘制出来,只是一个列表中的每个:

prog score
cool 1.9
cool 3.7
yay  4.5
yay  2.6
neat 1.4
neat 7
neat 6
wow  4.1
wow  1.7
wow  1.4
hooray 6.6
hooray 5.6
hooray 4.9
yikes 1.2
yikes 3.9
yikes 6.9
Run Code Online (Sandbox Code Playgroud)
prog_list …
Run Code Online (Sandbox Code Playgroud)

python loops matplotlib pandas seaborn

0
推荐指数
1
解决办法
2796
查看次数

如何在seaborn的条形图中的误差条上绘制标准误差?

我有一个很好的图形,它用通用代码绘制如下:

import seaborn as sns
sns.barplot(data=df, x='X', y='y', hue='HUE', capsize=.1)
Run Code Online (Sandbox Code Playgroud)

默认情况下,误差条显示 95% 置信区间(我认为)。有没有办法可以轻松地将它们更改为标准错误?

在此处输入图片说明

python plot matplotlib seaborn

0
推荐指数
2
解决办法
3306
查看次数

标签 统计

python ×10

seaborn ×10

matplotlib ×8

pandas ×4

bar-chart ×1

kaggle ×1

loops ×1

plot ×1

regression ×1