簡體   English   中英

由於空刻度,Matplotlib污染了x軸

[英]Matplotlib polluted x axis due to empty ticks

我試圖按照這個問題在matplotlib中設置自定義的Xticks

使用自定義文本繪制x軸點

但是,在鏈接的問題中,x軸只有4個數據點,它們為每個數據點分配一個標簽。 我有100個數據點,以弧度表示整個正弦周期,我只想標記“有趣的”點( 0.0, π/4, π/2, 3π/2

我最想要的就是創建一個包含100個空字符串的列表,然后將所需的字符串設置為所需的值。 但是,由於空字符串,x軸會受到嚴重污染。

我如何擺脫這種“污染”,而只標記所需的位置?

import matplotlib.pyplot as plt
import numpy as np

# generate 100 points in the range [0.0, 2*pi)
t = np.linspace(0.0, 2*np.pi, 101)[:-1] 
y = np.sin(t)

ticks = [''] * 100
ticks[0] = '0.0'
ticks[25] = 'π/4'
ticks[50] = 'π/2'
ticks[75] = '3π/2'

plt.xticks(t, ticks)

plt.plot(t, y)
plt.show()

在此處輸入圖片說明

您的顯示器似乎確實有誤。 sin(pi/4)等於0.78 ,不會在圖表上顯示。

也就是說, xticks函數允許您將自定義刻度添加為第一個參數。 您沒有使用行空間。 請執行下列操作:

ticks = [0, np.pi/2, np.pi, 3*np.pi/2, 2*np.pi]
ticks_labels = ['0', 'π/2', 'π', '3π/2', '2π']


plt.xticks(ticks, ticks_labels)

而你得到的結果是

在此處輸入圖片說明

暫無
暫無

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

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