Python 反转百分比刻度

Python 反转百分比刻度,python,python-3.x,matplotlib,Python,Python 3.x,Matplotlib,我正在尝试使用Matplotlib创建散点图,并希望反转刻度标签,而不是轴本身。我知道PercentFormatter,但似乎没有一种方法可以在调用它时反转勾号标签 我已尝试使用最大Y轴值的反向百分比值列表手动设置刻度,如下所示: 将matplotlib.pyplot作为plt导入 职位=[ [4, 20, 12, 5], [1, 10, 2, 9], [8, 100, 40, 7], [0, 15, 5, 3] ] 线路位置=8 对于线,len_线,g,t处于以下位置: gRel=g/le

我正在尝试使用Matplotlib创建散点图,并希望反转刻度标签,而不是轴本身。我知道PercentFormatter,但似乎没有一种方法可以在调用它时反转勾号标签

我已尝试使用最大Y轴值的反向百分比值列表手动设置刻度,如下所示:

将matplotlib.pyplot作为plt导入 职位=[ [4, 20, 12, 5], [1, 10, 2, 9], [8, 100, 40, 7], [0, 15, 5, 3] ] 线路位置=8 对于线,len_线,g,t处于以下位置: gRel=g/len\u线 tRel=t/len_线 pos=行_pos-行 plt.plot[gRel,gRel+tRel],[pos,pos] l=[j/line_pos*100表示反向范围0中的j,line_pos] LOC,标签=plt.yticks plt.ytickslocs,l 节目 但有些标记出现在刻度界限之外

我将如何正确地反转这些标签,以及每个刻度标签的正确百分比


提前感谢您的回答。

这似乎更符合您的要求:

import matplotlib.pyplot as plt

positions = [
  [4, 20, 12, 5],
  [1, 10, 2, 9],
  [8, 100, 40, 7],
  [0, 15, 5, 3]  
  ]
line_pos = 8

for line, len_line, g, t in positions:
  gRel = g/len_line
  tRel = t/len_line
  pos = line_pos - line 
  plt.plot([gRel, gRel +tRel], [pos, pos])


locs = list(range(line_pos+1))
l = [(j/line_pos)*100 for j in reversed(locs)]   

plt.yticks(locs, l)
plt.show()

你介意提供一份工作吗?否则就看不出这是怎么回事了。nb是什么?结果到底有什么不希望的?这是一个错误,现已修复。正如我在问题的描述中所说的,一些标记出现在标记记号的范围之外。理想情况下,第一个刻度为0,最后100个从上到下这对我来说非常有效,非常感谢!: