是否有类似于R中的expand.grid()函数的Python函数?提前致谢.
(编辑)以下是此R功能的说明和示例.
Create a Data Frame from All Combinations of Factors
Description:
Create a data frame from all combinations of the supplied vectors
or factors.
> x <- 1:3
> y <- 1:3
> expand.grid(x,y)
Var1 Var2
1 1 1
2 2 1
3 3 1
4 1 2
5 2 2
6 3 2
7 1 3
8 2 3
9 3 3
Run Code Online (Sandbox Code Playgroud)
(EDIT2)下面是rpy包的示例.我想得到相同的输出对象但不使用R:
>>> from rpy import *
>>> a = [1,2,3]
>>> b = [5,7,9]
>>> r.assign("a",a) …Run Code Online (Sandbox Code Playgroud) 这是一个显示每个子图的颜色条的示例:
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.random((10,10,)))
fig,axn = plt.subplots(2, 2, sharex=True, sharey=True)
for ax in axn.flat:
sns.heatmap(df, ax=ax)
Run Code Online (Sandbox Code Playgroud)

如何删除每个子图的颜色条?我想只有一个垂直或水平方向的颜色条.我知道我可以访问每个颜色条轴fig.get_axes()[:-4],但是如何从图中完全删除它们呢?我不认为在调用热图时可以选择不绘制颜色条.
我想为 x 轴添加一个标签,为 y 轴添加一个标签。
此外,将颜色栏标题与颜色栏留出更多空间的提示将不胜感激。
我已经标记了可以使用帮助的地方 # <---- Help Please!
# this chunk seems to be necessary for plotting in my virtualenv.
import matplotlib
matplotlib.use('TkAgg')
% matplotlib inline
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import itertools
import seaborn as sns
import platform
print("python version {}".format(platform.python_version()))
# python version 3.5.1
print("seaborn version {}".format(sns.__version__))
# seaborn version 0.7.0
methods=['method 1', 'method2', 'method 3', 'method 4']
times = range(0, 100, 10)
data = pd.DataFrame(list(
itertools.product(methods, times, …Run Code Online (Sandbox Code Playgroud) 注意:这是与“ 如何使用seaborn FacetGrid更改字体大小? ” 不同的问题。在构面网格内使用热图时,此处建议的方法不起作用。
在构面网格内绘制热图时,如何更改构面标题的字体大小?
尝试下面的代码两种方法,传递fontsize=到set_titles()并在绘图背景下包裹了整个事情。据我所知,尽管字体重量确实发生了变化,但在使用热图时,似乎都没有影响面标题。使用热图时,是否还有其他选项可以控制构面标题?
import pandas as pd
import numpy as np
import itertools
import seaborn as sns
print("seaborn version {}".format(sns.__version__))
# R expand.grid() function in Python
# /sf/answers/849196981/
def expandgrid(*itrs):
product = list(itertools.product(*itrs))
return {'Var{}'.format(i+1):[x[i] for x in product] for i in range(len(itrs))}
methods=['method 1', 'method2', 'method 3', 'method 4']
times = range(0,100,10)
data = pd.DataFrame(expandgrid(methods, times, times))
data.columns = ['method', 'dtsi','rtsi']
data['nw_score'] = np.random.sample(data.shape[0])
def facet(data,color):
data = data.pivot(index="dtsi", columns='rtsi', values='nw_score') …Run Code Online (Sandbox Code Playgroud)