değerleri gibi gibi görünen bir dizi var: Ben (None, None)
değerler çizmek ve dizi değerin indeksini tutmak istiyorummatplotlib: Yok ile Plot numpy diziler
k = numpy.array([(1.,0.001), (1.1, 0.002), (None, None),
(1.2, 0.003), (0.99, 0.004)])
. Yani, bir (None, None)
değeri olduğu her yerde bir boşluk istiyorum. ben
y = k[:,0] + k[:,1]
çizmek istiyorum yapılır ama hatta birlikte diziler ekleyemezsiniz
. Diziyi maskelemeyi denedim, ancak orijinal k
dizisinin dizin değerlerini kaybettim.
minimal örnek:
import matplotlib.pyplot as pyplot
import numpy
x = range(5)
k = numpy.array([(1.,0.001), (1.1, 0.002), (None, None),
(1.2, 0.003), (0.99, 0.004)])
Fig, ax = pyplot.subplots()
# This plots a gap---as desired
ax.plot(x, k[:,0], 'k-')
# I'd like to plot
# k[:,0] + k[:,1]
# but I can't add None
# Here I get rid of the (None, None) values so I can add
# But I lose the original indexing
mask = k != (None, None)
y = k[mask].reshape((-1,2))
ax.plot(range(len(y)), y[:,0]+y[:,1], 'k--')
Ben bu basit örneğin, ama başka bir kaynaktan verilerimi alabilir. – jlconlin
ve arsa yerine geçemezsiniz? Yaptığınız şeyi yapabilir misiniz, ama x değerini masanın içinde de mi saklıyorsunuz? –
Bu neredeyse işe yaradı. Maskeyi oluştururken, Saullo'nun cevabı gibi bir dizi 'Yok' yapmalısınız. – jlconlin