首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在matplotlib-3d-图中z-轴的无指数型

在matplotlib-3d-图中z-轴的无指数型
EN

Stack Overflow用户
提问于 2015-06-26 11:35:40
回答 1查看 605关注 0票数 2

我有一个类似的问题,如How to prevent numbers being changed to exponential form in Python matplotlib figure中所描述的

我不想(在我的特殊情况下)轴的奇怪的科学格式。我的问题是不同的,因为我在我的z-Axis上有这个问题。对于二维图形,我可以使用ax.get_yaxis().get_major_formatter().set_useOffset(False).而且没有函数ax.get_zaxis()

我应该使用什么来以同样的方式格式化我的z-Axis?

编辑:示例:

代码语言:javascript
复制
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import sys
import matplotlib
import matplotlib.pyplot as pyplot

def func(xi, ti):
    res = 10e3 + np.cos(ti) * np.sin(xi)
    return res

if __name__ == '__main__':
    timeSpacing = 20
    timeStart = 0
    timeEnd = 1
    time = np.linspace(timeStart, timeEnd, timeSpacing)
    widthSpacing = 50
    widthStart = 0
    widthEnd = 3
    width = np.linspace(widthStart, widthEnd, widthSpacing)
    resList = []
    matplotlib.rcParams['legend.fontsize'] = 10
    fig = pyplot.figure()
    ax = fig.gca(projection = '3d')
    for i, item in enumerate(time):
        ti = [item for t in width]
        res = func(width, ti)
        ax.plot(width, ti, res, 'b')
    ax.set_xlabel('x')
    ax.set_ylabel('t')
    ax.set_zlabel('f(x,t)')
    pyplot.show()

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-10 10:26:14

正如您所说,没有get_zaxis()方法。但是,幸运的是,有zaxis字段(所以不要添加())。还有xaxisyaxis字段,所以如果您愿意,可以使用所有这些字段,而不是get_...axis()字段。

例如:

代码语言:javascript
复制
if __name__ == '__main__':
    ...
    ax = fig.gca(projection = '3d')
    ax.zaxis.get_major_formatter().set_useOffset(False) # here
    for i, item in enumerate(time):
        ...

最终的结果应该是这样的:

正如你所看到的,对于大量的数字,它可能看起来不太好.

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

https://stackoverflow.com/questions/31072192

复制
相关文章

相似问题

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