首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python - matplotlib为"loglog“图修改xticks

Python - matplotlib为"loglog“图修改xticks
EN

Stack Overflow用户
提问于 2015-08-04 14:41:01
回答 1查看 2.5K关注 0票数 3

我正在绘制每个轴的对数比例尺,但是我不希望对x轴进行科学的表示法,所以我对它进行了如下修改:

代码语言:javascript
复制
from matplotlib import pyplot as plt
from matplotlib.ticker import FormatStrFormatter

a = np.array([10.**(-2), 10.**(-3), 5.*10**(-3),10.**(-4), 10.**(-6), 10.**(-7)])
b = np.array([16, 12.5, 14.5, 9.5, 8., 7.5])

axes = plt.subplot(111)

plt.loglog(a,b, 'k.',markersize=10,markerfacecolor='None',label='')

plt.ylim(10**(-6),10**(-1))
plt.xlim(5,30)
plt.subplots_adjust(left=0.15)
plt.legend(loc=2)
axes.xaxis.set_minor_formatter(FormatStrFormatter("%.0f"))
plt.show()

但是,正如你在下面的图片中所看到的,在x轴标签中有10种科学符号.我不知道怎么抑制它,只让10.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-04 15:29:22

您可以使用来自ScalarFormattermatplotlib.ticker

代码语言:javascript
复制
import matplotlib.pyplot as plt
from matplotlib.ticker import ScalarFormatter

fig = plt.figure()
ax = fig.add_subplot(111)
ax.semilogx(range(100))
ax.set_xscale('log')
ax.set_yscale('log')
ax.xaxis.set_major_formatter(ScalarFormatter())
#ax.yaxis.set_major_formatter(ScalarFormatter()) # for the y axis

fig.show()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31812322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档