I'm trying to transform one 2d array:
{4: 6, 6: 2, 1: 2, 3: 7, 5: 4, 9: 1, 2: 3, 7: 2, 8: 1}
in to 2 different 1d arrays, like this:
arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
arr2 = [2, 3, 7, 6, 4, 2, 2, 1, 1]
To plot, using matplotlib, arr1 as y and arr2 as x.
How can I do this?
PS: Sorry for the bad English. (;
CodePudding user response:
here is what you can do:
import matplotlib.pylab as plt
d = {4: 6, 6: 2, 1: 2, 3: 7, 5: 4, 9: 1, 2: 3, 7: 2, 8: 1}
lists = sorted(d.items()) # sorted by key, return a list of tuples
x, y = zip(*lists) # unpack a list of pairs into two tuples
plt.plot(x, y)
plt.show()
output :
CodePudding user response: