R Lattice就像使用Python,Pandas和Matplotlib的情节

兰德尔·古德温

我有一个“因素”,浮点数和整数的熊猫数据框。我想使用条件变量和对分类变量进行分组,使“ R Lattice”像其上的图。我已经广泛使用R并编写了自定义面板函数来使绘图完全按照我想要的格式进行格式化,但是我在matplotlib方面苦苦挣扎以简洁地进行相同类型的绘图。我在玩布局和subplot2grid,但似乎无法正确处理。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

nRows = 500
df = pd.DataFrame({'c1' : np.random.choice(['A','B','C','D'], size=nRows),
               'c2' : np.random.choice(['P','Q','R'], size=nRows),
               'i1' : np.random.randint(20,50, nRows),
               'i2' : np.random.randint(0,10, nRows),
               'x1' : 3 * np.random.randn(nRows) + 90,
               'x2' : 2 * np.random.randn(nRows) + 89})

我想绘制以下内容(R格码示例)

每个级别的c1的x1与x2(晶格代码)

xyplot(x1 ~ x2 | c1, data = df)

带有“全局”图例c2(符号或颜色)的每个c1级别的x1与x2

xyplot(x1 ~ x2 | c1, groups = c2, data = df)

每个c2的x1直方图

hist (~x1 | c1, data = df)

我还尝试制作“条件化”轮廓图,例如此处生成的轮廓图(1.4.4.4)

https://scipy-lectures.github.io/intro/matplotlib/matplotlib.html

我已经阅读了以下示例:http : //nbviewer.ipython.org/github/fonnesbeck/Bios366/blob/master/notebooks/Section2_4-Matplotlib.ipynb

但是,我希望从分类条件(或“ by”)变量中的级别数生成布局。也就是说,指定列数,行将基于数量级别进行计算。

赞赏任何正确的建议或正确方向的步骤。我宁愿不要使用rpy2或python ggplot(我把它们弄乱了-发现它们也令人沮丧和限制)。

谢谢!兰德尔

10

Seaborn是我发现的用于在python中进行多面图绘制的最有效的库。它是围绕matplotlib的熊猫感知包装器,可为您处理所有子绘图,并更新matplotlib样式以使其看起来更现代。它产生一些非常可爱的输出。

使用网格部分完成构面

它与R的工作方式略有不同,首先创建网格并将数据以及所需的构面,行,列,颜色等传递到网格中,然后将绘图函数映射到该网格上,并将所有必需的参数传递给映射的绘图功能。

#scatter plot one factor
import seaborn as sns
grid1 = sns.FacetGrid(df, col='c1')
grid1.map(plt.scatter, 'x1', 'x2')


#scatter plot with column and hue factor
grid2 = sns.FacetGrid(df, col='c1', hue='c2')
grid2.map(plt.scatter, 'x1', 'x2')


#histogram with one factor
grid3 = sns.FacetGrid(df, col='c1')
grid3.map(plt.hist, 'x1', alpha=.7)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

不返回R闪亮的情节和表格

来自分类Dev

使用 matplotlib 和 python 代码在 r-markdown 中打印图像

来自分类Dev

使用Pandas和R创建序列总和

来自分类Dev

在R-Studio中使用Lattice panel.identify

来自分类Dev

Chmod和-r + r

来自分类Dev

Python replace()\ r与\\ r

来自分类Dev

使用R中的和

来自分类Dev

R sprintf在sqldf中就像

来自分类Dev

R中的情节列表结构

来自分类Dev

R闪亮的情节布局UI

来自分类Dev

在R中重现此情节

来自分类Dev

R:情节未完全加载

来自分类Dev

R闪亮的情节布局UI

来自分类Dev

R QQ情节未显示

来自分类Dev

-r和-R之间的区别

来自分类Dev

由于本地rstudio和r ui中有特定的日语字符,因此无法绘制情节,但使用plotly在rstudio.cloud中没有探针

来自分类Dev

Installing lattice in R: "Error : Invalid DESCRIPTION file"

来自分类Dev

使用 python pandas 或 R,组织日历数据

来自分类Dev

Python情节外的图例-Matplotlib

来自分类Dev

使用R或Python抓取网页和相关的后续页面

来自分类Dev

如何确保R和Python脚本使用相同的排序规则?

来自分类Dev

如何在GitLab CI中使用Python和R?

来自分类Dev

使用Python和R语言进行矩阵乘法的不同结果

来自分类Dev

如何在Matlab R2012b中的情节中获取斯堪的纳维亚字母ä和ö

来自分类Dev

R将传统情节和ggplot2放在一起

来自分类Dev

使用 pandas 和 matplotlib 绘图

来自分类Dev

使用R和foreach在R中使用多核进行循环

来自分类Dev

如何在R中使用胶水在情节的标题/字幕中使用变量的最大值?

来自分类Dev

R Knitr:将spin()与R和Python代码一起使用