Space of a muser

Insight

Enjoy life, relish the moment!


Data visualization with Python

最近经常用Python画柱状图和heatmap,一般需要存储为矢量图的PDF文件,方便后期编辑。

这里面有些需要注意的地方,记录如下:
(另外我还发现在Jupyter中运行Python代码save的图像文件的字体有写异常,往往不是字母重叠就是距离太远,但是在Jupyter以外生成的图片正常。目前我还没有找到其中原因。)

  • 关于pdf的图中启用Truetype字体方便编辑
1
plt.rcParams['pdf.fonttype'] = 42
  • barplot的legend大小位置设置
1
plt.legend(loc='lower right', prop={'size': 25})
  • heatmap的colorbar的大小调整
1
plt.colorbar(im, fraction=0.046, pad=0.04)
  • 轴刻度标签对齐方式
1
ax1.set_xticklabels(labels, rotation=60, ha='left')

不过改为Truetype字体后有个问题就是字体貌似会有偏移,暂时没有找到解决方案,我的OS是macOS用的Python3。希望能有解决方案,也许随着matplotlib的更新会解决。

以下是一个🌹画boxplot的完整例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

df = pd.read_csv("./paired_exp.txt", sep="\t")
df['tissue'] = ["cancer", "control"]*15
plt.figure(figsize=(6, 6))
#plt.rcParams['pdf.fonttype'] = 42
sns.set(style="whitegrid", context="poster", font_scale=2)

ax = sns.boxplot(x="tissue", y="geneA", data=df, palette="husl", linewidth=1.5)
plt.ylim(0, 700000)
plt.savefig("./exp_boxplot.pdf", bbox_inches='tight')
最近的文章

Taxonomy tree constructio and visualization

于 
更早的文章

Python module bs4

于 
comments powered by Disqus