热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python–Matplotlib:在日志图中禁用10的幂

是否有一种简单的方法可以使matplotlib在日志图中不显示10的幂,而只是显示数字?即,而不是[10^1,10^2,10^3]显示[10,100,1000]?我不想改变tickm

是否有一种简单的方法可以使matplotlib在日志图中不显示10的幂,而只是显示数字?即,而不是[10 ^ 1,10 ^ 2,10 ^ 3]显示[10,100,1000]?我不想改变tickmark位置,只想摆脱十的权力.

这就是我目前拥有的:

我可以通过xticks更改标签本身,但是我会得到y刻度标签不匹配的字体或大小.我在本文中使用TeX.我尝试过以下方法:

xx, locs = xticks()
ll = [r'\rm{%s}' % str(a) for a in xx]
xticks(xx, ll)

这给出了以下结果:

在这种特殊情况下,我可以使用相同的LaTeX罗马字体,但尺寸和外观与y轴的尺寸和外观不同.另外,如果我在matplotlib中使用了不同的LaTeX字体,那么这将是个问题.

是否有更灵活的方式来关闭十种符号的力量?

解决方法:

使用ScalarFormatter:

from matplotlib import rc
rc('text', usetex=True)
rc('font', size=20)
import matplotlib.pyplot as plt
from matplotlib.ticker import ScalarFormatter
fig = plt.figure(figsize=(10, 6))
ax = fig.add_subplot(111)
ax.semilogx(range(100))
ax.xaxis.set_major_formatter(ScalarFormatter())
plt.show()


推荐阅读
author-avatar
鱼mm不会游泳456
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有