首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >海运-美学选择

海运-美学选择
EN

Stack Overflow用户
提问于 2015-08-08 06:48:19
回答 1查看 1.8K关注 0票数 1

我正在用海上因子图绘制熊猫的数据。守则如下:

代码语言:javascript
运行
复制
import seaborn
import numpy as np
import pandas as pd

seaborn.set_style("white")

fg = seaborn.factorplot(x='Group', y='val', hue='Mean', 
                        col='Sex', data=data, kind='bar', ci=68, row='Split', x_order=['Group 1', 'Group 2'],
                        row_order=['Poor','Good'], col_order=['Male', 'Female'], sharex=False, sharey=False, 
                        palette='deep', legend_out=False
                       )

(fg.set_axis_labels("", "val")
  .set_titles("{row_name} - {col_name}")
  .set(ylim=(0, 300))
  .despine(left=True)
) 

下面是一个示例dataframe:

代码语言:javascript
运行
复制
groups = ('Group 1', 'Group 2')
sexes = ('Male', 'Female')
means = ('Low', 'High')
split = ('Poor', 'Good')
index = pd.MultiIndex.from_product(
    [groups, sexes, means, split], 
   names=['Group', 'Sex', 'Mean', 'Split']
)

values = np.random.randint(low=20, high=100, size=len(index))
data = pd.DataFrame(data={'val': values}, index=index).reset_index()

我一直在寻找海运的美学选择,有几个我找不到参考:

  • 这将创建一个由4幅图组成的2x2网格。如何调整每个地块之间的间距?现在,一切都太近了
  • 如何单独设置单独标签的字体大小?我想要一些轴/分类标签比其他的大。
  • 我怎么才能完全删除传说标题呢?
  • 有了一个2x2的地块网格,是否有可能将2块地块放在同一行的同一地块上?即连接x轴,移除右图上的y轴。
  • 是否可以将绘图保存为基于向量的文件格式?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-09 03:48:25

代码语言:javascript
运行
复制
fg = seaborn.factorplot(x='Group', y='val', hue='Mean', 
                        col='Sex', data=data, kind='bar',
                        ci=68, row='Split',
                        order=['Group 1', 'Group 2'],
                        row_order=['Poor','Good'],
                        col_order=['Male', 'Female'],
                        sharex=False, sharey="row", 
                        palette='deep', legend_out=False
                       )

(fg.set_axis_labels("", "val")
  .set_titles("{row_name} - {col_name}")
  .set(ylim=(0, 300))
  .despine(left=True)
)

# Increase space between rows and remove space between cols
fg.fig.subplots_adjust(hspace=.4, wspace=0)

# Change some label sizes
fg.axes[0, 0].title.set(size=16)
fg.axes[1, 0].yaxis.label.set(size=16)
plt.setp(fg.axes[0, 1].get_xticklabels(), size=16)

# Remove the legend title
fg.axes[0, 0].legend()

# Save to a vector format
fg.savefig("figure.svg")

请注意,除了额外的行外,我还在调用sharey="row"中添加了factorplot,该调用移除y轴滴答。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31890482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档