首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用matplotlib的轴标注太稀疏

使用matplotlib的轴标注太稀疏
EN

Stack Overflow用户
提问于 2013-07-02 20:58:16
回答 1查看 1.1K关注 0票数 1

Matplotlib试图智能地标记x轴上的刻度,但它有点太稀疏了。应该有一个0的标签,也许还有一个10和100的标签。

这是生成图形的代码。如何使x轴上的标签更详细?

代码语言:javascript
复制
   def timePlot2(data, saveto=None, leg=None, annotate=False, limits=timeLimits, labelColumn="# Threads", valueColumn="Average (s)", size=screenMedium):
        labels = list(data[labelColumn])
        figure(figsize=size)
    ax = gca()
    ax.grid(True)
    xi = range(len(labels))
    rts = data[valueColumn] # running time in seconds
    ax.scatter(rts, xi, color='r')
    if annotate:
        for i,j in zip(rts, xi):
            ax.annotate("%0.2f" % i, xy=(i,j), xytext=(7,0), textcoords="offset points")

    ax.set_yticks(range(len(labels)))
    ax.set_yticklabels(labels)
    ax.set_xscale('log')
    plt.xlim(limits)
    if leg:
        legend(leg, loc="upper left", fontsize=10)
    else:
        legend([r"$t$"], fontsize=10)
    plt.draw()
    if saveto:
        plt.savefig(saveto, transparent=True, bbox_inches="tight")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-02 21:09:22

在您的示例中,您可以使用ax.set_xticks()一起定义自己的X轴刻度及其标注

代码语言:javascript
复制
ax.set_xticks((10,100,1000))

应该能行得通。

如果您想保留10^x标签,可以显式添加标签:

代码语言:javascript
复制
ax.set_xticks((10,100,1000),('$10^1$','$10^2$','$10^3$'))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17426283

复制
相关文章

相似问题

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