簡體   English   中英

使用matplotlib進行x軸標記

[英]x-axis labelling with matplotlib

我有一個二維(numpy)數組,並使用命令plt.plot(wp [:, 0])繪制第一列。 這恰好顯示了我想要的東西,除了x軸標簽外,我不需要更改。 對於x軸,我正在搜索一個命令,該命令顯示第二列的值相同的區域,並且還顯示該區域的y數。

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

如您所見,在我的示例矩陣中,第二列中的條目不是唯一的,而是存在具有相同值的“區域”。

編輯:所以plt.xticks(tx,wp [:,2],rotation ='vertical')確實適用於較小的矩陣,但對於較大的矩陣確實很丑陋: 小矩陣

大型矩陣

因此,我認為如果每個數字僅出現一次就足夠了。 你知道怎么做嗎?

您必須:

  • 自定義刻度數
  • 自定義要打印的值時的值

示例修改:

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()

暫無
暫無

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

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