Построение графика непрерывной линейчатой диаграммы с разными цветами / шириной

#python #pandas #matplotlib #plot #graph

#python #pandas #matplotlib #график #График

Вопрос:

Я работаю над относительно большим набором данных (5000 строк) в pandas и хотел бы нарисовать линейчатый график, но непрерывный и с разными цветами 1.

Для каждого значения глубины будет значение SBT.

Изначально я думал сгенерировать линейку для каждой глубины, но из-за большого объема данных график отображает ее не очень хорошо, и загрузка занимает действительно много времени.

Тем временем я сгенерировал график данных, но с линиями.

Я добавил код и изображение этого графика ниже 2.

 fig, SBTcla = plt.subplots()
SBTcla.plot(SBT,datos['Depth (m)'], color='black',label='SBT')
plt.xlim(0, 10)
plt.grid(color='grey', linestyle='--', linewidth=1)
plt.title('SBT');
plt.xlabel('SBT');
plt.ylabel('Profundidad (mts)');
plt.gca().invert_yaxis();
  

Ответ №1:

Ваш график состоит из множества точек без какой-либо информации. Мы могли бы исключить последовательные строки, содержащие один и тот же SBT. Группировка по последовательным строкам с одинаковым содержимым может быть выполнена с помощью сдвига и кумулятивной суммы. Логическое выражение выполняет поиск шагов от одной области к следующей. Если это шаг, он возвращает true, и сумма увеличивается на единицу.

 x = datos.groupby((datos['SBT'].shift() != datos['SBT']).cumsum())
  

Каждая группа может быть нанесена сама по себе, с заполненным стилем