小编J.A*_*ado的帖子

如何使用 Seaborn 包 FacetGrid 更改图形绘图大小

我正在使用带有数据框的 seaborn FacetGrid 制作绘图:df。由于色调功能,我正在使用 sns。

见代码:

import seaborn as sns
import matplotlib.pyplot as plt 

grid = sns.FacetGrid(df,hue='var')
grid.map(plt.scatter, x, y).add_legend()
grid.set(ylim=ylim,xlim=xlim)
plt.show()
Run Code Online (Sandbox Code Playgroud)

通常我会使用以下方法访问 figsize:

fig, ax = plt.subplots(figsize=(20, 10))
Run Code Online (Sandbox Code Playgroud)

或者

plt.figure(figsize=(20,10))
Run Code Online (Sandbox Code Playgroud)

但是现在,因为我使用的是 seaborn,所以我不知道如何访问图形对象。

如何访问图形对象以更改绘图的大小?

python plot matplotlib figure seaborn

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

使用pandas功能绘制多个数据帧

我有两个数据帧,具有唯一的x和y坐标,我想在同一个图中绘制它们.我现在在同一图中绘制两个数据帧:

plt.plot(df1['x'],df1['y'])
plt.plot(df2['x'],df2['y'])
plt.show
Run Code Online (Sandbox Code Playgroud)

但是,熊猫也有绘图功能.

df.plot()
Run Code Online (Sandbox Code Playgroud)

我怎么能实现与我的第一个例子相同但使用pandas功能?

python matplotlib pandas

5
推荐指数
1
解决办法
9704
查看次数

更改 pandas 图的颜色条

我使用数据框方法绘制了一个图表plot

ax = df1.plot(x='Lat', y='Lon', kind='scatter', c='Thickness')
Run Code Online (Sandbox Code Playgroud)

结果是一个散点图,其中点按 中设置的参数缩放c='Thickness'。图表旁边的颜色条自动接收标签Thickness。我想改变它。

我知道 colorbar 方法set_label,但我不知道如何从axpandasplot函数返回的值访问 colorbar 对象。

如何访问图中的颜色条对象以更改其标签?


为了澄清起见,我添加了图表的图片。我有兴趣更改颜色条的标签。在此输入图像描述

python plot matplotlib dataframe pandas

5
推荐指数
1
解决办法
5382
查看次数

如何解释Python OLS Statsmodel的汇总表?

我有一个连续因变量 y 和一个名为 control_grid 的独立分类变量 x。x 包含两个变量:c 和 g

使用 python 包 statsmodel 我试图查看自变量是否对 y 变量有显着影响,如下所示:

model = smf.ols('y ~ c(x)', data=df)
results = model.fit()
table = sm.stats.anova_lm(results, typ=2)
Run Code Online (Sandbox Code Playgroud)

打印该表将其作为输出:

     OLS Regression Results                            
==============================================================================
Dep. Variable:          sedimentation   R-squared:                       0.167
Model:                            OLS   Adj. R-squared:                  0.165
Method:                 Least Squares   F-statistic:                     86.84
Date:                Fri, 13 Jul 2018   Prob (F-statistic):           5.99e-19
Time:                        16:15:51   Log-Likelihood:                -2019.2
No. Observations:                 436   AIC:                             4042.
Df Residuals:                     434   BIC:                             4050.
Df Model:                           1                                         
Covariance Type:            nonrobust                                         
=====================================================================================
                        coef    std …
Run Code Online (Sandbox Code Playgroud)

python statistics anova statsmodels

5
推荐指数
1
解决办法
1万
查看次数

如何用现有的xyz数据制作矩阵

我想使用matplotlib.pyplot.pcolormesh绘制深度图。

我有一个xyz文件三列,即x(lat),y(lon),z(dep)。

所有列的长度相等

pcolormesh需要矩阵作为输入。因此,使用numpy.meshgrid,我可以将x和y转换为矩阵:

xx,yy = numpy.meshgrid(x_data,y_data)
Run Code Online (Sandbox Code Playgroud)

这很好用...但是,我不知道如何创建我的深度(z)数据矩阵...如何为我的z_data创建与x_data和y_data矩阵相对应的矩阵?

python numpy matplotlib matrix coordinates

3
推荐指数
1
解决办法
6031
查看次数

由于格式值错误,excel散点图不正确

我一直在尝试最简单的方法,在excel中创建散点图。我有一个x值和一组y值。但是excel以某种方式认为它知道的更好,并创建了自己的x值集(范围介于0到10之间)。而我的x值介于40-140之间。手动将x轴的限制更改为40-140只是简单地做到了,所以我不再看到我的数据点,因为excel更改了我的x值。

Label   X   Y
A       47  3.5
B       95  40.5
C       47  10.5
D       95  21.5
E       91  21.5
F       45  18.5
G       91  61.5
H       45  0.5
I       130 40.5
J       90  10.5
Run Code Online (Sandbox Code Playgroud)

请参阅图片以进行澄清。我该如何解决!?

散点图

散点图2

excel scatter-plot

3
推荐指数
1
解决办法
1万
查看次数

np.arange 中的行为不一致?

当我运行时:

import numpy as np
np.arange(14.1,15.1,0.1)
Run Code Online (Sandbox Code Playgroud)

我得到:

array([14.1, 14.2, 14.3, 14.4, 14.5, 14.6, 14.7, 14.8, 14.9, 15. ])
Run Code Online (Sandbox Code Playgroud)

但是当我运行时:

np.arange(15.1,16.1,0.1)
Run Code Online (Sandbox Code Playgroud)

我得到:

array([15.1, 15.2, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9, 16. , 16.1])
Run Code Online (Sandbox Code Playgroud)

失踪了15.1怎么办?为什么在一种情况下输出显示最终数字而在另一种情况下不显示?

我已阅读有关numpy-arange的文档。它指出“间隔不包括停止值,除非在某些情况下步长不是整数并且浮点舍入会影响输出的长度。”

我的问题是: 如何让代码表现一致?

我正在迭代一组成对数字(例如 4 和 15,或 44.2 和 46.4),对于每一对,我想创建一个在对之间步长为 0.1 的列表(例如,4 和 4.5 将是:4.1、4.2、 4.3、4.4、4.5)。但重要的是代码的行为一致。

python numpy

2
推荐指数
1
解决办法
235
查看次数

从2D到1D,如何在混合模型中传递第二个随机效应[Python,Statsmodel]

构建此问题:Q

假设我有一个这样的数据框:

import pandas as pd
d = {'y':[1.2,2.41,3.12,4.76],'x':['A','B'],'r1':['a','b','c','d'],'r2':['a2','b2','c2','d2']}
df = pd.DataFrame(d)
Run Code Online (Sandbox Code Playgroud)

y 是连续变量。x 是分类的并且是固定分量。它是二进制的。r1、r2 是分类的。它们是随机成分。

我会将其传递给混合模型,如下所示:

import statsmodels.formula.api as smf
md = smf.mixedlm("y ~ x", df, groups=df["r1"], re_formula="~ r1")
Run Code Online (Sandbox Code Playgroud)

这很好用。

但现在我想添加第二个随机变量,但这只能作为一维数组来完成...而且我不知道如何重新排列我将两个变量传递给的数据groups作为一维数组

因此总结一下:如何以这种方式重新排列数据框,以便我可以将 2 个变量作为groups一维数组传递?请显示其语法。

python dataframe pandas statsmodels

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