繁体   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