Python pylab情节传奇科学写作

时间:2015-07-08 13:11:33

标签: python matplotlib plot decimal legend

我需要修改我的传奇。 noise_mu的值类似于1.6e-29,我希望它以这种科学方式完全绘制。不幸的是,我的传奇总是以0.000000000000000000000016的形式打印它们。我怎么能改变它?!

pl.figure('Connectivity', figsize=(16, 9), dpi=80, facecolor="grey", frameon="True")
    pl.ion()
    pl.plot(freqs, con, label="$\mu_N: %.30f$"%noise_mu, linewidth=1.5)
    pl.ylim(0, 1.05)
    pl.xlim(freq1_start-30,freq1_end+30)
    pl.xlabel("Frequency [Hz]", color="black", fontsize=22)
    pl.ylabel("Connectivity Value [ ]", color="black", fontsize=22)
    pl.grid(all)
    xticks = np.arange(freq1_start-30,freq1_end+30,5) # change the ticks accordingly to your ROI
    pl.xticks(xticks)
    yticks = np.arange(0,1.05,0.1)
    pl.yticks(yticks)
    leg = pl.legend(prop={'size':16}, shadow=True, fancybox=True)
    for legobj in leg.legendHandles:
        legobj.set_linewidth(2.5)
    pl.show()

2 个答案:

答案 0 :(得分:1)

在不指定格式

的情况下绘制它
pl.plot(freqs, con, label="$\mu_N: %g$"%noise_mu, linewidth=1.5)

请注意%g而不是%.30f

参考:https://docs.python.org/2.4/lib/typesseq-strings.html

答案 1 :(得分:0)

我解决了这个问题。很抱歉打扰你们。

pl.figure('Connectivity', figsize=(16, 9), dpi=80, facecolor="grey", frameon="True")
pl.ion()
pl.plot(freqs, con, label="$\mu_N: %s$"%noise_mu, linewidth=1.5)
pl.ylim(0, 1.05)
pl.xlim(freq1_start-30,freq1_end+30)
pl.xlabel("Frequency [Hz]", color="black", fontsize=22)
pl.ylabel("Connectivity Value [ ]", color="black", fontsize=22)
pl.grid(all)
xticks = np.arange(freq1_start-30,freq1_end+30,5) # change the ticks accordingly to your ROI
pl.xticks(xticks)
yticks = np.arange(0,1.05,0.1)
pl.yticks(yticks)
leg = pl.legend(prop={'size':16}, shadow=True, fancybox=True)
for legobj in leg.legendHandles:
    legobj.set_linewidth(2.5)
pl.show()

该行必须如下所示:

label="$\mu_N: %s$"%noise_mu

%s用于科学写作。