用matplotlib标记x轴

时间:2016-04-28 14:29:58

标签: python numpy matplotlib plot

我有一个二维(numpy)数组,我用命令plt.plot(wp [:,0])绘制第一列。这显示了我想要的东西,除了x轴标记之外我没有什么要改变的。对于x轴,我正在搜索一个命令,该命令显示第二列的值相同的区域,并且还显示该区域的y值。

[x1,y1]
[x2,y2]
[x3,y2]  
[x4,y3]
[x5,y3]
[x6,y3]
[x7,y4]

正如你可以在我的示例矩阵中看到的那样,第二列中的条目不是唯一的,而是有#34;区域"具有相同的价值。

编辑:所以plt.xticks(tx,wp [:,2],rotation =' vertical')适用于较小的矩阵,但对于较大的矩阵看起来真的很难看:small matrices

Large matrices

所以在我看来,如果每个数字只发生一次就足够了。你知道怎么做吗?

1 个答案:

答案 0 :(得分:1)

你必须:

  • 自定义刻度数
  • 自定义特定值时的打印内容

examples修改:

import matplotlib.pyplot as plt
from matplotlib.ticker import FuncFormatter, MaxNLocator
fig = plt.figure()
ax = fig.add_subplot(111)
xs = range(100)
ys = range(100)


def format_fn(tick_val, tick_pos):
    return '{0}'.format(int(tick_val))[:1]

ax.xaxis.set_major_formatter(FuncFormatter(format_fn))
ax.xaxis.set_major_locator(MaxNLocator(nbins=6,integer=True))
ax.plot(xs, ys)
plt.show()