python matplotlib 柱状图三个变量_带变量的Python matplotlib柱状图标题

我有一组数据,如下所示:index 902.4 909.4 915.3

n 0.6 0.3 1.4

n.1 0.4 0.3 1.3

n.2 0.3 0.2 1.1

n.3 0.2 0.2 1.3

n.4 0.4 0.3 1.4

DCIS 0.3 1.6

DCIS.1 0.3 1.2

DCIS.2 1.1

DCIS.3 0.2 1.2

DCIS.4 0.2 1.3

DCIS.5 0.2 0.1 1.5

br_1 0.5 0.4 1.4

br_1.1 0.2 1.3

br_1.2 0.5 0.2 1.4

br_1.3 0.5 0.2 1.6

br_1.4 1.4

使用列[0]的常规python索引。下面是我在Stackoverflow成员的帮助下编写的代码:nh = pd.ExcelFile(file)

df = pd.read_excel(nh)

df = df.set_index('Samples').transpose()

df = df.reset_index()

df_n = df.loc[df['index'].str.startswith('n')]

df_DCIS = df.loc[df['index'].str.startswith('DCIS')]

df_br1234 = df.loc[df['index'].str.startswith('br')]

#plt.tight_layout()

for i in range(1, df.shape[1]):

plt.figure()

df_n.iloc[:, i].hist(histtype='step', color='k', label='N')

df_DCIS.iloc[:, i].hist(histtype='step', color='r', label='DCIS')

df_br1234.iloc[:, i].hist(histtype='step', color='orange', label='IDC')

plt.legend(loc='center left', bbox_to_anchor=(1, 0.5), fancybox=True, shadow=True)

plt.title("Histograms for " + df.columns[i], loc='center')

plt.show()

这将创建多个带有截断图例的图形(当该图形由pycharm创建时,没有截断)。但是,plt.title给出一条错误消息,说TypeError:必须是str,而不是float。我知道不同数据帧的列是浮点数,当我输入print(df.columns)时,它会说dtype是object。有没有办法把float对象转换成str?我试着用plt.title("Histograms for " + df.columns[i].astype('str'))

但是它说float对象没有astype属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值