/ / Generowanie wykresu konturowego na podstawie macierzy wartości z za pomocą MatPlotLib - python, matplotlib

Generowanie wykresu warstwicowego na podstawie macierzy wartości z za pomocą MatPlotLib - python, matplotlib

Powiedz, że mam słownik list:

dict = {}
for x in range(0, 11):
dict[x] = [0,1,2,3,4,5,6,7,8,9,10]

Jak mógłbym zacząć od utworzenia wykresu konturowegote dane? Struktura danych jest w zasadzie macierzą wartości z, gdzie współrzędne xiy są równoważne odpowiednio kluczowi i wartości słownika.

Odpowiedzi:

1 dla odpowiedzi № 1

Jeśli poprawnie zrozumiałem twój typ danych, aby przekonwertować go na tablicę numpy, a następnie wykreślić, możesz zrobić coś takiego:

import numpy as np
import pylab as plt

# The example dict/matrix
dict = {}
for x in range(0, 11):
dict[x] = [0,1,2,3,4,5,6,7,8,9,10]

# Create an empty numpy array with the right dimensions
nparr = np.zeros((len(dict.keys()), len(dict[0])))

# Loop through converting each list into a row of the new array
for ii in xrange(nparr.shape[0]):
nparr[ii] = dict[ii]

# Plotting as a contour
plt.contour(nparr)
plt.show()

Zauważ, że pętla for nie będzie szczególnie szybka w przypadku bardzo dużych zestawów danych, ale powinna wystarczyć w przypadku danych o rozmiarze obrazu (spodziewałbym się, że renderowanie matplotlib zajmie najwięcej czasu w każdym razie).