我正在尝试从具有 10488 行和 3 列的数据帧在 matplotlib 中创建折线图。我的数据框如下所示:
col_A col_B col_C
target_id
KYQ35740 22.67 19.7 26.0
KYQ35675 9.21 3.2 3.1
KYQ35736 73.93 42.8 24.6
KYQ35737 349.94 602.6 212.4
KYQ35685 16.10 19.5 29.1
这里,目标 id 是索引。我做的试验是:
import pandas as pd
import matplotlib.pyplot as plt
plt.style.use('ggplot')
%matplotlib inline
df = pd.read_csv("Data.txt", sep='\t', index_col=['target_id'])
df.plot()
我得到一个条形图,在 x 轴上带有目标 ID,三个彩色条代表每列。但是,我需要生成它的转置。即,col_A、col_B、col_C 标签在 x 轴上,图中标有 10488 条贯穿系列的线。我不需要图例中的 target_ids。
我尝试用 df.T 转置 df,然后是 df.plot()。但是我认为系统挂起是因为需要在图例中放置 10488 个标签?!
在此先感谢您的帮助。
美联社
如果你想摆脱传说,你可以使用legend=False
.
import pandas as pd
import io
import matplotlib.pyplot as plt
u = u"""target_id col_A col_B col_C
KYQ35740 22.67 19.7 26.0
KYQ35675 9.21 3.2 3.1
KYQ35736 73.93 42.8 24.6
KYQ35737 349.94 602.6 212.4
KYQ35685 16.10 19.5 29.1"""
df = pd.read_csv(io.StringIO(u), delim_whitespace=True,index_col=['target_id'])
df=df.T
df.plot(legend=False)
plt.show()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句