我正在尝试同时显示两个熊猫系列对象,除了没有显示所有标签之外,其他都可以正常工作。
我试图像这样将两个系列绘制在一起:
plt.figure()
sns.set_style('ticks')
ts86['Gene'].value_counts().plot(kind='area')
l97['Gene'].value_counts().plot(kind='area')
sns.despine(offset=10)
但是仅显示一个索引。
这是我拥有的两个系列:
one
TIIIh 25
TET2-2 24
IDH2 15
TIIIa 14
TIIIb 12
TIIIj 11
TIIIp 9
p53-1 9
SF3B1 8
TIIIe 8
KRAS-1 7
TIIIo 6
TIIId 6
TET2-1 6
GATA1 5
p53-3 5
HRAS 5
NRAS-2 4
IDH1 4
TIIIq 4
JAK2 4
TIIIc 4
TIIIf 3
TIIIg 3
TIIIm 3
KRAS-2 3
p53-2 3
TIIIk 3
TIIIn 2
DNMT3a 1
和
two
p53-1 17
p53-2 2
NRAS-2 2
p53-3 1
KRAS-2 1
答案 0 :(得分:1)
您的输出图显示了2个数据帧中的value_counts
,但显然索引顺序不再相同,因此此时无法显示xticks(例如df1中的最高计数为TIIIh
,而df2的值为p53-1
,您正尝试通过保留顺序将它们绘制在一起。)
首先简单地将df1和df2合并(我将TIIIh
命名为id
,以作为合并密钥):
combi = pd.merge(ts86, l97, on='id', how='left')
combi = combi.set_index('id')
然后,绘制每列并显示所有xticks:
ax = combi['Gene_x'].plot(kind='area', figsize=(10, 3))
combi['Gene_y'].plot(kind='area', figsize=(10, 3))
ax.set_xticks(range(combi.shape[0]))
ax.set_xticklabels(combi.index, rotation=90)
现在您得到了:
希望这会有所帮助。