【问题标题】:Removing all but one tick on x-axis删除 x 轴上除一个刻度外的所有刻度
【发布时间】:2016-04-19 18:15:25
【问题描述】:

我有一个图表,我会勾选以删除所有刻度及其相应的标签,将第一个刻度和标签放在 x 轴上。我该怎么办?

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


a=np.linspace(0,10,10000)
print a

def f(x):
    return 1/(1-(x**2)*np.log((1/(x**2)+1)))

b=f(a)
fig, ax = plt.subplots(1)


ax.plot(b,a)

pylab.xlim(0.5, 5)
pylab.ylim(0, 1.5)
fig.show()

【问题讨论】:

  • 欢迎。请阅读如何提问 - stackoverflow.com/help/how-to-ask。你试过什么了?您是否搜索过堆栈溢出并查看了 thisthis 等答案中的元素?
  • 您能否提供一个粗略的草图来说明您的目标是什么?
  • 我只想要 1 个勾号及其标签在图上的点 (1,0)

标签: python numpy matplotlib labels


【解决方案1】:

您可以使用ax.set_xticks([1]) 将一个xtick 设置为1,0。

另外,无需同时导入pylabmatplotlib.pyplotThe recommended way 现在是导入 matplotlib.pyplot 并使用所有 Axes 方法。例如,您可以使用ax.set_xlim 代替pylab.xlim

这是您的完整脚本和输出图:

import numpy as np
import matplotlib.pyplot as plt


a=np.linspace(0,10,10000)
print a

def f(x):
    return 1/(1-(x**2)*np.log((1/(x**2)+1)))

b=f(a)
fig, ax = plt.subplots(1)

ax.plot(b,a)

ax.set_xlim(0.5, 5)
ax.set_ylim(0, 1.5)

ax.set_xticks([1])

plt.show()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    • 1970-01-01
    • 2015-08-23
    • 1970-01-01
    • 2012-12-12
    相关资源
    最近更新 更多