Python-Matplotlib-轴标签

Python-Matplotlib-轴标签

我正在尝试在四个数字标签上标出两个小数位-例如“ 1475.88”到我的X轴上。如您所见,该标签已被Matplotlib缩短为科学格式1.478e3。

如何以规定的间隔显示完整图形。

以下代码:

with plt.style.context('seaborn-whitegrid'):

    # Plot the SVP data
    plt.figure(figsize=(8,8))
    plt.plot(speed_x_clean,depth_y_clean)
    plt.plot(smoothed_speed,smoothed_depth)
    plt.scatter(float(speed_extrapolated),float(depth_extrapolated),marker='X',color='#ff007f')

    # Add a legend,labels and titla
    plt.gca().invert_yaxis()
    plt.legend(('Raw SVP','Smoothed SVP'),loc='best')
    plt.title('SVP - ROV '+ '['+ time_now + ']')
    plt.xlabel('Sound Velocity [m/s]')
    plt.ylabel('Depth [m]')

    # plt.grid(color='grey',linestyle='--',linewidth=0.25,grid_animated=True)
    ax = plt.axes()
    plt.gca().xaxis.set_major_locator(plt.AutoLocator())
    plt.xticks(rotation=0)

    plt.show()
hangzhoushuangyu 回答:Python-Matplotlib-轴标签

带有两个小数位的标签

使用代码FuncFormatter可以实现任何用户定义的格式。

@ticker.FuncFormatter
def major_formatter(val,pos):
    return "%.2f" % val

以定义的间距标记

使用set_xticks和set_yticks可以在定义的间距上设置标签数。

自包含示例

一个完全独立的示例可能看起来像这样(简单的正弦波):

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.ticker as ticker


@ticker.FuncFormatter
def major_formatter(val,pos):
    return "%.2f" % val


def graph():
    x = np.arange(0.0,1501,50)
    y = np.sin(2 * np.pi * x / 1500)

    fig,ax = plt.subplots()
    ax.plot(x,y)

    ax.xaxis.set_major_formatter(major_formatter)
    ax.yaxis.set_major_formatter(major_formatter)

    x_ticks = np.arange(0,500)
    y_ticks = np.arange(-1.0,+1.01,0.5)

    ax.set_xticks(x_ticks)
    ax.set_yticks(y_ticks)

    ax.grid(which='both')

    plt.show()


if __name__ == '__main__':
    graph()

输出

这里是示例程序的输出:它具有四个图形标签,在x轴上有两个小数位:

screen shot

本文链接:https://www.f2er.com/2606482.html

大家都在问