В настоящее время я пытаюсь получить данные, а именно результаты моего эксперимента, который включал файлы сканирования xy, а затем вычерчивал их как функцию времени.Мне удалось получить их в панде DataFrame, который имеет форму (1027,281) в форме с осью х в качестве индекса, время в качестве метки столбца и значения для сканирования в качестве значений в df.Контурный сюжет выглядит следующим образом.
y = dftest.index.values
x = dftest.columns.values
z = dftest.values
X,Y = np.meshgrid(x,y)
z2 = np.ma.array(z)
z2_masked = np.ma.masked_where(z2 > 300, z2)
z2_masked = np.ma.masked_where(z2_masked < -5, z2_masked)
z3 = np.ma.filled(z2_masked, fill_value = 0)
plt.contourf(X, Y ,z3, 20, cmap = 'jet')
plt.colorbar()
plt.xlim(xmax = 175000)
plt.xticks(np.arange(0, 175000, step=50000))
PXRD с разрешением по времени, ось x = время, y = угол дифракции:
Во-первых, получается что-то, чтов обратном направлении, я хотел бы, чтобы значение x файлов сканирования было осью x, но вместо этого это ось y.Затем я хотел бы найти простой способ построения этого графика в виде трехмерной контурной карты или поверхности.Я думаю, что мои проблемы заключаются в форме данных, но я не совсем уверен, как их исправить.
каждый из моих DataFrame выглядит следующим образом:
0.0 646.0 ... 181742.0 182390.0
x ...
0.996522 7.301625 3.914700 ... 8.224773 9.885618
1.000432 10.722788 7.379380 ... 8.474020 19.229299
1.004341 0.079724 5.567879 ... -0.143427 2.684953
1.008251 4.738650 3.903460 ... -1.162278 3.809588
1.012161 6.213206 -0.318955 ... 4.050190 1.454264
... ... ... ... ...
4.992126 -2.956039 -4.475446 ... -2.816053 -4.556231
4.996036 -1.105434 1.274342 ... -1.393612 -4.338330
4.999945 -0.536215 2.073975 ... -2.727332 -1.083154
5.003855 5.983973 6.983155 ... 1.188320 3.657221
5.007765 -3.638785 -1.548692 ... -5.225328 -2.164280
[1027 rows x 281 columns]