如何更改matplotlib图的轴值?

时间:2016-04-21 12:34:39

标签: python matplotlib

我有一个11x9的float s numpy矩阵,我想把它想象成一个“热图”。

数据示例:

>>> print(result)
[[ 0.11686587  0.27755644  0.5768039   0.65205843  0.75033201  0.8145197
   0.77202302  0.64099159  0.39442231]
 [ 0.27888446  0.55511288  0.6728641   0.77335104  0.85391766  0.91633466
   0.94510846  0.96901284  0.9729969 ]
 [ 0.55599823  0.68171757  0.77512174  0.89287295  0.937583    0.94643648
   0.96768482  0.97742364  0.97919433]
 [ 0.6644533   0.76803896  0.895529    0.94510846  0.96370075  0.97211155
   0.97786631  0.97919433  0.97919433]
 [ 0.77290837  0.86586985  0.94953519  0.96945551  0.97698097  0.97786631
   0.97786631  0.97919433  0.97919433]
 [ 0.85214697  0.94245241  0.9747676   0.97653829  0.97786631  0.97786631
   0.97919433  0.97919433  0.97919433]
 [ 0.94200974  0.96724214  0.97565294  0.97653829  0.97609562  0.97786631
   0.97919433  0.97919433  0.97919433]
 [ 0.95883134  0.97255423  0.97609562  0.97742364  0.97786631  0.97786631
   0.97919433  0.97919433  0.97919433]
 [ 0.97166888  0.97343958  0.9747676   0.96104471  0.97830899  0.97919433
   0.97919433  0.97919433  0.97919433]
 [ 0.9729969   0.97565294  0.9747676   0.97255423  0.97078353  0.97919433
   0.97919433  0.97919433  0.97919433]
 [ 0.97078353  0.97565294  0.9747676   0.97078353  0.96989819  0.97919433
   0.97919433  0.97919433  0.97919433]]

到目前为止,我已经使用以下方式绘制了它:

import matplotlib.pyplot as plt
plt.matshow(result)
plt.show()

Heatplot

问题是轴的编号从0到10和0到9.我想用10 ^ -5到10 ^ 5等对数编号。

有可能吗?我不是指轴标签,而是轴上的显示值。

1 个答案:

答案 0 :(得分:0)

您可以使用函数set_xticklabelsset_yticklabels设置刻度标签的任何值。它需要一个字符串列表分配给每个tick。例如:

plt.set_xticklabels(["10^-5", "10^-4", "..."])