簡體   English   中英

如何在 y 軸上格式化弧度單位

[英]How to format radian units in y-axis

我想基於 pi 格式化以弧度為單位的 y 軸。 但是,當我嘗試測試以前的解決方案時,如何在 Python 圖中以弧度設置 y 軸? ,結果會改變比例,使圖形更短或產生不同的刻度值。

以軸為浮點數的原始圖形是

plt.figure(figsize=(10,5))
plt.plot(t,ph,t,psi) 
plt.show()

在此處輸入圖像描述

fig = plt.figure()
ax  = fig.add_subplot(111)
ax.plot(t,ph,t,psi)
unit = 1
y_tick = np.arange(-1, 4+unit, unit)
y_label = [r"$-\frac{\pi}{2}$", r"$0$", r"$+\frac{\pi}{2}$", r"$+\pi$",  r"$+\frac{2\pi}{3}$",   r"$+2\pi$"]
ax.set_yticks(y_tick*np.pi)
ax.set_yticklabels(y_label, fontsize=10)
y_label2 = [r"$" + format(r, ".2g")+ r"\pi$" for r in y_tick]
ax2 = ax.twinx()
ax2.set_yticks(y_tick*np.pi)
ax2.set_yticklabels(y_label2, fontsize=10)
plt.show()

在此處輸入圖像描述

該圖的值數組如下

ph = array([       nan, 5.15148632, 5.36208877, 5.57944677, 5.80331719,
       6.03344914, 6.26958427, 0.22827168, 0.47560942, 0.72813292,
              nan,        nan,        nan, 1.78428034,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan, 5.97885977,
              nan, 6.26156537,        nan, 0.22449309, 0.33343571,
              nan, 0.52241136, 0.60220749, 0.67207152, 0.73191573,
       0.78166491,        nan, 0.85064075, 0.86978065, 0.87865214,
       0.87724405, 0.87865214, 0.86978065, 0.85064075, 0.82125651,
       0.78166491, 0.73191573, 0.67207152, 0.60220749, 0.52241136,
              nan, 0.33343571, 0.22449309, 0.10609184, 6.26156537,
       6.12470264,        nan, 5.82421858,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan, 2.61626486,
       2.33576309, 2.05832894,        nan,        nan,        nan,
       0.98555648,        nan, 0.47560942, 0.22827168, 6.26958427,
       6.03344914, 5.80331719, 5.57944677, 5.36208877, 5.15148632,
       4.94787463, 5.15148632, 5.36208877, 5.57944677, 5.80331719,
              nan, 6.26958427, 0.22827168, 0.47560942,        nan,
       0.98555648,        nan,        nan,        nan,        nan,
       2.33576309, 2.61626486,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan, 6.26156537,        nan, 0.22449309, 0.33343571,
       0.4327833 , 0.52241136,        nan, 0.67207152, 0.73191573,
       0.78166491, 0.82125651, 0.85064075, 0.86978065, 0.87865214,
       0.87724405, 0.87865214, 0.86978065, 0.85064075, 0.82125651,
       0.78166491, 0.73191573, 0.67207152, 0.60220749, 0.52241136,
       0.4327833 , 0.33343571, 0.22449309, 0.10609184, 6.26156537,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan, 2.05832894,        nan, 1.51393064, 1.24758828,
              nan, 0.72813292, 0.47560942, 0.22827168, 6.26958427,
       6.03344914, 5.80331719, 5.57944677, 5.36208877, 5.15148632,
       4.94787463, 5.15148632, 5.36208877, 5.57944677, 5.80331719,
       6.03344914, 6.26958427, 0.22827168,        nan, 0.72813292,
       0.98555648, 1.24758828,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan, 6.26156537, 0.10609184, 0.22449309,        nan,
       0.4327833 , 0.52241136, 0.60220749, 0.67207152, 0.73191573,
       0.78166491, 0.82125651, 0.85064075, 0.86978065, 0.87865214,
       0.87724405, 0.87865214, 0.86978065, 0.85064075, 0.82125651,
       0.78166491, 0.73191573, 0.67207152, 0.60220749,        nan,
       0.4327833 , 0.33343571, 0.22449309,        nan,        nan,
       6.12470264,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
       0.98555648, 0.72813292, 0.47560942, 0.22827168,        nan,
       6.03344914, 5.80331719, 5.57944677, 5.36208877, 5.15148632,
       4.94787463,        nan, 5.36208877, 5.57944677, 5.80331719,
       6.03344914, 6.26958427,        nan, 0.47560942, 0.72813292,
       0.98555648, 1.24758828,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan, 0.22449309, 0.33343571,
       0.4327833 , 0.52241136, 0.60220749, 0.67207152, 0.73191573,
       0.78166491, 0.82125651, 0.85064075, 0.86978065, 0.87865214,
       0.87724405, 0.87865214, 0.86978065, 0.85064075, 0.82125651,
       0.78166491, 0.73191573, 0.67207152, 0.60220749,        nan,
       0.4327833 ,        nan, 0.22449309,        nan, 6.26156537,
       6.12470264,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan, 2.61626486,
              nan, 2.05832894,        nan,        nan, 1.24758828,
       0.98555648, 0.72813292,        nan, 0.22827168, 6.26958427,
       6.03344914, 5.80331719, 5.57944677, 5.36208877,        nan,
       4.94787463,        nan, 5.36208877, 5.57944677, 5.80331719,
       6.03344914, 6.26958427,        nan, 0.47560942, 0.72813292,
       0.98555648,        nan,        nan, 1.78428034,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan, 6.26156537,        nan,        nan,        nan,
       0.4327833 ,        nan, 0.60220749, 0.67207152, 0.73191573,
              nan, 0.82125651,        nan, 0.86978065, 0.87865214,
       0.87724405, 0.87865214, 0.86978065, 0.85064075, 0.82125651,
       0.78166491,        nan, 0.67207152, 0.60220749, 0.52241136,
       0.4327833 , 0.33343571, 0.22449309,        nan, 6.26156537,
       6.12470264,        nan, 5.82421858,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan,        nan,
              nan,        nan,        nan,        nan, 2.61626486,
       2.33576309,        nan, 1.78428034, 1.51393064, 1.24758828,
       0.98555648, 0.72813292, 0.47560942, 0.22827168, 6.26958427,
       6.03344914, 5.80331719, 5.57944677, 5.36208877, 5.15148632,
       4.94787463])
       
    psi = array([-0.82595077, -0.79171153, -0.75747229, -0.72323304, -0.6889938 ,
       -0.65475455, -0.62051531, -0.58627606, -0.55203682, -0.51779758,
       -0.48355833, -0.44931909, -0.41507984, -0.3808406 , -0.34660135,
       -0.31236211, -0.27812287, -0.24388362, -0.20964438, -0.17540513,
       -0.14116589, -0.10692664, -0.0726874 , -0.03844816, -0.00420891,
        0.03003033,  0.06426958,  0.09850882,  0.13274807,  0.16698731,
        0.20122655,  0.2354658 ,  0.26970504,  0.30394429,  0.33818353,
        0.37242278,  0.40666202,  0.44090126,  0.47514051,  0.50937975,
        0.543619  ,  0.57785824,  0.61209749,  0.64633673,  0.68057597,
        0.71481522,  0.74905446,  0.78329371,  0.81753295,  0.8517722 ,
        0.88601144,  0.92025069,  0.95448993,  0.98872917,  1.02296842,
        1.05720766,  1.09144691,  1.12568615,  1.1599254 ,  1.19416464,
        1.22840388,  1.26264313,  1.29688237,  1.33112162,  1.36536086,
        1.39960011,  1.43383935,  1.46807859,  1.50231784,  1.53655708,
        1.57079633,  1.53655708,  1.50231784,  1.46807859,  1.43383935,
        1.39960011,  1.36536086,  1.33112162,  1.29688237,  1.26264313,
        1.22840388,  1.19416464,  1.1599254 ,  1.12568615,  1.09144691,
        1.05720766,  1.02296842,  0.98872917,  0.95448993,  0.92025069,
        0.88601144,  0.8517722 ,  0.81753295,  0.78329371,  0.74905446,
        0.71481522,  0.68057597,  0.64633673,  0.61209749,  0.57785824,
        0.543619  ,  0.50937975,  0.47514051,  0.44090126,  0.40666202,
        0.37242278,  0.33818353,  0.30394429,  0.26970504,  0.2354658 ,
        0.20122655,  0.16698731,  0.13274807,  0.09850882,  0.06426958,
        0.03003033, -0.00420891, -0.03844816, -0.0726874 , -0.10692664,
       -0.14116589, -0.17540513, -0.20964438, -0.24388362, -0.27812287,
       -0.31236211, -0.34660135, -0.3808406 , -0.41507984, -0.44931909,
       -0.48355833, -0.51779758, -0.55203682, -0.58627606, -0.62051531,
       -0.65475455, -0.6889938 , -0.72323304, -0.75747229, -0.79171153,
       -0.82595077, -0.79171153, -0.75747229, -0.72323304, -0.6889938 ,
       -0.65475455, -0.62051531, -0.58627606, -0.55203682, -0.51779758,
       -0.48355833, -0.44931909, -0.41507984, -0.3808406 , -0.34660135,
       -0.31236211, -0.27812287, -0.24388362, -0.20964438, -0.17540513,
       -0.14116589, -0.10692664, -0.0726874 , -0.03844816, -0.00420891,
        0.03003033,  0.06426958,  0.09850882,  0.13274807,  0.16698731,
        0.20122655,  0.2354658 ,  0.26970504,  0.30394429,  0.33818353,
        0.37242278,  0.40666202,  0.44090126,  0.47514051,  0.50937975,
        0.543619  ,  0.57785824,  0.61209749,  0.64633673,  0.68057597,
        0.71481522,  0.74905446,  0.78329371,  0.81753295,  0.8517722 ,
        0.88601144,  0.92025069,  0.95448993,  0.98872917,  1.02296842,
        1.05720766,  1.09144691,  1.12568615,  1.1599254 ,  1.19416464,
        1.22840388,  1.26264313,  1.29688237,  1.33112162,  1.36536086,
        1.39960011,  1.43383935,  1.46807859,  1.50231784,  1.53655708,
        1.57079633,  1.53655708,  1.50231784,  1.46807859,  1.43383935,
        1.39960011,  1.36536086,  1.33112162,  1.29688237,  1.26264313,
        1.22840388,  1.19416464,  1.1599254 ,  1.12568615,  1.09144691,
        1.05720766,  1.02296842,  0.98872917,  0.95448993,  0.92025069,
        0.88601144,  0.8517722 ,  0.81753295,  0.78329371,  0.74905446,
        0.71481522,  0.68057597,  0.64633673,  0.61209749,  0.57785824,
        0.543619  ,  0.50937975,  0.47514051,  0.44090126,  0.40666202,
        0.37242278,  0.33818353,  0.30394429,  0.26970504,  0.2354658 ,
        0.20122655,  0.16698731,  0.13274807,  0.09850882,  0.06426958,
        0.03003033, -0.00420891, -0.03844816, -0.0726874 , -0.10692664,
       -0.14116589, -0.17540513, -0.20964438, -0.24388362, -0.27812287,
       -0.31236211, -0.34660135, -0.3808406 , -0.41507984, -0.44931909,
       -0.48355833, -0.51779758, -0.55203682, -0.58627606, -0.62051531,
       -0.65475455, -0.6889938 , -0.72323304, -0.75747229, -0.79171153,
       -0.82595077, -0.79171153, -0.75747229, -0.72323304, -0.6889938 ,
       -0.65475455, -0.62051531, -0.58627606, -0.55203682, -0.51779758,
       -0.48355833, -0.44931909, -0.41507984, -0.3808406 , -0.34660135,
       -0.31236211, -0.27812287, -0.24388362, -0.20964438, -0.17540513,
       -0.14116589, -0.10692664, -0.0726874 , -0.03844816, -0.00420891,
        0.03003033,  0.06426958,  0.09850882,  0.13274807,  0.16698731,
        0.20122655,  0.2354658 ,  0.26970504,  0.30394429,  0.33818353,
        0.37242278,  0.40666202,  0.44090126,  0.47514051,  0.50937975,
        0.543619  ,  0.57785824,  0.61209749,  0.64633673,  0.68057597,
        0.71481522,  0.74905446,  0.78329371,  0.81753295,  0.8517722 ,
        0.88601144,  0.92025069,  0.95448993,  0.98872917,  1.02296842,
        1.05720766,  1.09144691,  1.12568615,  1.1599254 ,  1.19416464,
        1.22840388,  1.26264313,  1.29688237,  1.33112162,  1.36536086,
        1.39960011,  1.43383935,  1.46807859,  1.50231784,  1.53655708,
        1.57079633,  1.53655708,  1.50231784,  1.46807859,  1.43383935,
        1.39960011,  1.36536086,  1.33112162,  1.29688237,  1.26264313,
        1.22840388,  1.19416464,  1.1599254 ,  1.12568615,  1.09144691,
        1.05720766,  1.02296842,  0.98872917,  0.95448993,  0.92025069,
        0.88601144,  0.8517722 ,  0.81753295,  0.78329371,  0.74905446,
        0.71481522,  0.68057597,  0.64633673,  0.61209749,  0.57785824,
        0.543619  ,  0.50937975,  0.47514051,  0.44090126,  0.40666202,
        0.37242278,  0.33818353,  0.30394429,  0.26970504,  0.2354658 ,
        0.20122655,  0.16698731,  0.13274807,  0.09850882,  0.06426958,
        0.03003033, -0.00420891, -0.03844816, -0.0726874 , -0.10692664,
       -0.14116589, -0.17540513, -0.20964438, -0.24388362, -0.27812287,
       -0.31236211, -0.34660135, -0.3808406 , -0.41507984, -0.44931909,
       -0.48355833, -0.51779758, -0.55203682, -0.58627606, -0.62051531,
       -0.65475455, -0.6889938 , -0.72323304, -0.75747229, -0.79171153,
       -0.82595077, -0.79171153, -0.75747229, -0.72323304, -0.6889938 ,
       -0.65475455, -0.62051531, -0.58627606, -0.55203682, -0.51779758,
       -0.48355833, -0.44931909, -0.41507984, -0.3808406 , -0.34660135,
       -0.31236211, -0.27812287, -0.24388362, -0.20964438, -0.17540513,
       -0.14116589, -0.10692664, -0.0726874 , -0.03844816, -0.00420891,
        0.03003033,  0.06426958,  0.09850882,  0.13274807,  0.16698731,
        0.20122655,  0.2354658 ,  0.26970504,  0.30394429,  0.33818353,
        0.37242278,  0.40666202,  0.44090126,  0.47514051,  0.50937975,
        0.543619  ,  0.57785824,  0.61209749,  0.64633673,  0.68057597,
        0.71481522,  0.74905446,  0.78329371,  0.81753295,  0.8517722 ,
        0.88601144,  0.92025069,  0.95448993,  0.98872917,  1.02296842,
        1.05720766,  1.09144691,  1.12568615,  1.1599254 ,  1.19416464,
        1.22840388,  1.26264313,  1.29688237,  1.33112162,  1.36536086,
        1.39960011,  1.43383935,  1.46807859,  1.50231784,  1.53655708,
        1.57079633,  1.53655708,  1.50231784,  1.46807859,  1.43383935,
        1.39960011,  1.36536086,  1.33112162,  1.29688237,  1.26264313,
        1.22840388,  1.19416464,  1.1599254 ,  1.12568615,  1.09144691,
        1.05720766,  1.02296842,  0.98872917,  0.95448993,  0.92025069,
        0.88601144,  0.8517722 ,  0.81753295,  0.78329371,  0.74905446,
        0.71481522,  0.68057597,  0.64633673,  0.61209749,  0.57785824,
        0.543619  ,  0.50937975,  0.47514051,  0.44090126,  0.40666202,
        0.37242278,  0.33818353,  0.30394429,  0.26970504,  0.2354658 ,
        0.20122655,  0.16698731,  0.13274807,  0.09850882,  0.06426958,
        0.03003033, -0.00420891, -0.03844816, -0.0726874 , -0.10692664,
       -0.14116589, -0.17540513, -0.20964438, -0.24388362, -0.27812287,
       -0.31236211, -0.34660135, -0.3808406 , -0.41507984, -0.44931909,
       -0.48355833, -0.51779758, -0.55203682, -0.58627606, -0.62051531,
       -0.65475455, -0.6889938 , -0.72323304, -0.75747229, -0.79171153,
       -0.82595077, -0.79171153, -0.75747229, -0.72323304, -0.6889938 ,
       -0.65475455, -0.62051531, -0.58627606, -0.55203682, -0.51779758,
       -0.48355833, -0.44931909, -0.41507984, -0.3808406 , -0.34660135,
       -0.31236211, -0.27812287, -0.24388362, -0.20964438, -0.17540513,
       -0.14116589, -0.10692664, -0.0726874 , -0.03844816, -0.00420891,
        0.03003033,  0.06426958,  0.09850882,  0.13274807,  0.16698731,
        0.20122655,  0.2354658 ,  0.26970504,  0.30394429,  0.33818353,
        0.37242278,  0.40666202,  0.44090126,  0.47514051,  0.50937975,
        0.543619  ,  0.57785824,  0.61209749,  0.64633673,  0.68057597,
        0.71481522,  0.74905446,  0.78329371,  0.81753295,  0.8517722 ,
        0.88601144,  0.92025069,  0.95448993,  0.98872917,  1.02296842,
        1.05720766,  1.09144691,  1.12568615,  1.1599254 ,  1.19416464,
        1.22840388,  1.26264313,  1.29688237,  1.33112162,  1.36536086,
        1.39960011,  1.43383935,  1.46807859,  1.50231784,  1.53655708,
        1.57079633,  1.53655708,  1.50231784,  1.46807859,  1.43383935,
        1.39960011,  1.36536086,  1.33112162,  1.29688237,  1.26264313,
        1.22840388,  1.19416464,  1.1599254 ,  1.12568615,  1.09144691,
        1.05720766,  1.02296842,  0.98872917,  0.95448993,  0.92025069,
        0.88601144,  0.8517722 ,  0.81753295,  0.78329371,  0.74905446,
        0.71481522,  0.68057597,  0.64633673,  0.61209749,  0.57785824,
        0.543619  ,  0.50937975,  0.47514051,  0.44090126,  0.40666202,
        0.37242278,  0.33818353,  0.30394429,  0.26970504,  0.2354658 ,
        0.20122655,  0.16698731,  0.13274807,  0.09850882,  0.06426958,
        0.03003033, -0.00420891, -0.03844816, -0.0726874 , -0.10692664,
       -0.14116589, -0.17540513, -0.20964438, -0.24388362, -0.27812287,
       -0.31236211, -0.34660135, -0.3808406 , -0.41507984, -0.44931909,
       -0.48355833, -0.51779758, -0.55203682, -0.58627606, -0.62051531,
       -0.65475455, -0.6889938 , -0.72323304, -0.75747229, -0.79171153,
       -0.82595077])
       

t = np.arange(0, 20 + 1/35, 1/35)

解決方案如下:

fig = plt.figure()
ax  = fig.add_subplot(111)
ax.plot(t,ph,t,psi)
unit = 0.5

y_tick = np.arange(-0.5, 2+unit, unit)
y_label = [r"$-\frac{\pi}{2}$", r"$0$", r"$+\frac{\pi}{2}$", r"$+\pi$",  r"$+\frac{2\pi}{3}$",   r"$+2\pi$"]
ax.set_yticks(y_tick*np.pi)
ax.set_yticklabels(y_label, fontsize=10)

y_tick = np.arange(-0.5, 2+unit, unit)  
y_label1 = [r"$" + format(r, ".2g")+ r"\pi$" for r in y_tick]
ax = ax.twinx()
ax.set_yticks(y_tick*np.pi)
ax.set_yticklabels(y_label1, fontsize=10)
plt.show()

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM