Skip to content
Advertisement

Python, plot matrix diagonal elements

I have an 120×70 matrix of which I want to graph diagonal lines.

for ease of typing here, I will explain my problem with a smaller 4×4 matrix.

index 2020 2021 2022 2023
0 1 2 5 7
1 3 5 8 10
0 1 2 5 3
1 3 5 8 4

I now want to graph for example starting at 2021 index 0 so that I get the following diagonal numbers in a graphs: 2, 8, 10

or if I started at 2020 I would get 1, 5, 5, 4.

Kind regards!

Advertisement

Answer

You can do this with a simple for-loop. e.g.:

matrix = np.array((120, 70))
graph_points = []
column_index = 0  # Change this to whatever column you want to start at
for i in range(matrix.shape[0]):
    graph_points.append(matrix[i, column_index])
    column_index += 1
    if column_index >= matrix.shape[1]:
        break

## Plot graph_points here

User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement