python transform=none_Python 绘图与可视化 matplotlib text 与transform

Text

为plots添加文本或者公式,反正就是添加文本了

补充:

获取设置的text:

get_text:

print( frames_names['text%s'%algorithm_list[i].__name__].get_text)#注意没加括号也能

get_text()

print( frames_names['text%s'%algorithm_list[i].__name__].get_text())

简单使用:(更多例子见应用)

#参数介绍:

matplotlib.pyplot.text(x, y, s, fontdict=None, withdash=, **kwargs)

s:添加的文本

time_text = ax.text(0.1, 0.9, '', transform=ax.transAxes)

#替换文本时可以

time_text.set_text(time_template %(0.1*i))

其中time_template = 'time = %.1fs',这样是为了替换时方便一些,若是只添加一次的话,直接在上面写全就好

出现的问题:

*)下面代码不显示添加的text,最后查看原因发现是axs.cla()的原因,所以在animate里直接添加axs.text(....)

time_template='time=%.2fs'

time_text=axs.text(0.1,0.90,"",transform=axs.transAxes)

# def init():

# time_text.set_text("")

# return time_text

frames=bidirectional_bubble_sort(original_data_object)

def animate(fi):

bars=[]

if len(frames)>fi:

axs.cla()

# axs.text(0.1,0.90,time_template%(0.1*fi),transform=axs.transAxes)#所以这样

time_text.set_text(time_template%(0.1*fi))#这个必须没有axs.cla()才行

axs.set_title('bubble_sort_visualization')

axs.set_xticks([])

axs.set_yticks([])

bars=axs.bar(list(range(Data.data_count)),#个数

[d.value for d in frames[fi]],#数据

1, #宽度

color=[d.color for d in frames[fi]]#颜色

).get_children()

return bars

anim=animation.FuncAnimation(fig,animate,frames=len(frames), interval=frame_interval,repeat=False)

transform

transform就是转换的意思,是不同坐标系的转换

拿上面的例子来讲,在为plots添加text时,就用到了坐标转换

xs.text(0.1,0.90,time_template%(0.1*fi),transform=axs.transAxes)#这里的,transform=axs.transAxes就是轴坐标,大概意思就是左边距离横坐标轴长的0.1倍,下面距离纵坐标轴的0.90倍,如果不写的话默认就是data坐标

,即0.1代表横轴的0.1个单位,即坐标点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值