Matplotlib表中的ax.hlines和ax.axhline无法正常工作

时间:2019-12-29 17:21:43

标签: python matplotlib matplotlib-table

我想创建Matplotlib表来显示一些数据,并想为每一行添加行。我以为axhline正是我所需要的。但是,我遇到了一些问题。 axline函数会为每一行添加一行,但并非100%正确对齐,因此需要进行一些调整,但这似乎是不可能的。我试图调整函数中的坐标,但没有任何结果,仅当我不使用索引时,它会产生不同但无法预测的结果。难道我做错了什么?有人可以帮我吗?

下面的代码循环遍历行数,并为每个循环添加一行。这两个代码片段都产生相同的结果(我认为这很奇怪)。我还尝试了ax.hline,它产生了相同的结果。

未经调整的索引:

for i in range(0, len(data)+1):
    cells[i, 0]._loc = custom_allignment_first_column
    cells[i, 0].set_text_props(fontproperties= fm.FontProperties(fname=font_location, size=60, weight= "semibold"))
    ax.axhline(y= i, color=font_color_text)

索引已调整:

for i in range(0, len(data)+1):
    cells[i, 0]._loc = custom_allignment_first_column
    cells[i, 0].set_text_props(fontproperties= fm.FontProperties(fname=font_location, size=60, weight= "semibold"))
    ax.axhline(y= (i * 700000), color=font_color_text)

非常感谢:D

1 个答案:

答案 0 :(得分:0)

我不太了解你在这里的追求。如果可以显示更多代码或示例,则可能会有所帮助。如果您有2d ndarray cells,则可以使用

将每一行绘制为不同的趋势线。
import matplotlib.pyplot as plt

rows,columns = cells.shape
for i in range(rows):
    plt.plot(range(columns),cells[:,i])
plt.show()