РЕДАКТИРОВАТЬ: я ответил в комментариях, но я попробовал метод в отмеченном посте - мои данные z не рассчитываются по моим x и y, поэтому я не могу использовать такую функцию.
У меня есть данные xyz, которые выглядят следующим образом:
NEW: данные xyz в файле, который я создаю - я извлекаю их как x, y, z
И я отчаянно пытаюсь получить график, который имеет x против y с z в качестве цвета.
y - это данные бинарных данных, которые идут (например) от 2,5 до 0,5 в неравных ячейках.Таким образом, значения y одинаковы для одного набора данных x и z.Данные x это температура, а z это информация о плотности.
Итак, я ожидаю, что график, похожий на набор прямоугольников со сложением, где есть градиент цвета для одного набора значений y, который охватывает множество значений x.
Однако всеКоды, которые я пробовал, не любят мои значения z, и лучшее, что я могу сделать, это:
Оси выглядят правильно, но цветная полоса идет снизу вверх к вершине оси y вместопостроение одного значения z для каждого значения x с правильным значением y
Я получил это для работы с этим кодом:
import matplotlib.cm as cm
from matplotlib.colors import LogNorm
import numpy as np
import scipy.interpolate
data=pandas.read_csv('Data.csv',delimiter=',', header=0,index_col=False)
x=data.tempbin
y=data.sizefracbin
z=data.den
x=x.values
y=y.values
z=z.values
X,Y=np.meshgrid(x,y)
Z=[]
for i in range(len(x)):
Z.append(z)
Z=np.array(Z)
plt.pcolormesh(X,Y,Z)
plt.colorbar()
plt.show()
Я перепробовал все, что я мог найти в Интернете, такиекак в посте здесь: matplotlib 2D-график из значений x, y, z
Но либо есть проблема с изменением моих значений z, либо он просто дает мне пустые графики с различными ошибкамиделать (я думаю) с моими значениями z.
Я что-то упустил?Спасибо за вашу помощь!
Редактируйте в ответ на: ImportanceOfBeingErnest
Я попробовал это:
import matplotlib.cm as cm
from matplotlib.colors import LogNorm
import numpy as np
import scipy.interpolate
data=pandas.read_csv('Data.csv',delimiter=',', header=0,index_col=False)
data.sort_values('sizefrac')
x=data.tempbin
y=data.sizefrac
z=data.INP
x=x.values
y=y.values
z=z.values
X=x[1:].reshape(N,N)
Y=y[1:].reshape(N,N)
Z=z[1:].reshape(N,N)
plt.pcolormesh(X,Y,Z)
plt.colorbar()
plt.show()
и получил очень пустой график.Просто показал мне топоры и цветную полосу, как на моем прикрепленном изображении, но чисто белый внутри осей!Нет ошибок или чего-то еще ... И изменение формы мне нужно удалить точку данных из каждой, потому что в противном случае изменение формы не будет работать