Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python `sns.scatterplot`类似于sns.catplot中的子图`_Python_Seaborn_Subplot - Fatal编程技术网

Python `sns.scatterplot`类似于sns.catplot中的子图`

Python `sns.scatterplot`类似于sns.catplot中的子图`,python,seaborn,subplot,Python,Seaborn,Subplot,我只想在一个图中绘制部分数据,该图由多个值(环境,方法,费用)表示。 该图应包含两个子图,显示变化环境中的能量差异。 我想结合子地块的属性,比如 sns.catplot (data = data, x = 'base', y = 'energy', hue = 'charge', col = 'environment', order = ['A', 'T', 'U1', '', 'G', 'C', 'U2'], jitter = False) 允许,但标记应因不同的方法而不同,类似于sns.s

我只想在一个图中绘制部分数据,该图由多个值(
环境
方法
费用
)表示。 该图应包含两个子图,显示变化环境中的能量差异。
我想结合子地块的属性,比如

sns.catplot (data = data, x = 'base', y = 'energy', hue = 'charge', col = 'environment', order = ['A', 'T', 'U1', '', 'G', 'C', 'U2'], jitter = False)
允许,但标记应因不同的
方法而不同,类似于
sns.scatterplot
的情况

MWE
导入matplotlib.pyplot作为plt
导入matplotlib
导入seaborn作为sns
作为pd进口熊猫
导入操作系统
sns.set(样式=白色,颜色代码=真,调色板=[“FF0000”、“000FFF”、“00FF00”、“FF8000”、“00FFFF”、“FF00FF”、“FF00”)
matplotlib.rcParams['axes.xmargin']=.1
matplotlib.rcParams['axes.ymargin']=.1
matplotlib.spines.rcParams['axes.spines.right']=False
matplotlib.spines.rcParams['axes.spines.top']=False
matplotlib.rcParams['xtick.bottom']=False
matplotlib.rcParams['ytick.left']=True
将open(os.path.join(os.environ['HOME'],'Data.csv'),'r')作为f:
data=pd.read\u csv(f,index\u col=0,header=head,数千=None,decimal='.'))
data['charge']=data['charge'].map({'neu':'neutral','neg':'negative','pos':'positive'})
data=data.sort_值(['charge'、'base'、'environment'])
Data=sns.scatterplot(Data=Data,x=base,y=energy,hue=charge,markers=['o','D'],style='method',size=environment',size=[20,40],legend=full')
数据。图例。设置为锚((1,0.95))
Data.legend\uu.set\u frame\u on(错误)
~/Data.csv
如果我没有弄错,那么您可以在
环境中使用FaceGrid和facet:

g = sns.FacetGrid(data, col="environment",sharex=False,sharey=False)
g.map_dataframe(sns.scatterplot,
                x = "base",
                y = "energy",
                hue = "charge",
                style = "method",
                markers = ['o', 'D']
               )
g.add_legend()

图例的格式似乎有所不同。您能否调整您的答案,使图例(即缩进、副标题大小等)获得“seaborn的默认格式”(就像我的MWE一样)?是否有一条捷径可以将图例的seaborn样式作为默认样式(在matplotlib设置上)?
g = sns.FacetGrid(data, col="environment",sharex=False,sharey=False)
g.map_dataframe(sns.scatterplot,
                x = "base",
                y = "energy",
                hue = "charge",
                style = "method",
                markers = ['o', 'D']
               )
g.add_legend()