У меня возникли проблемы с визуализацией определенного набора данных, который у меня есть на контурном графике. Проблема в том, что у меня есть куча datapoints (X, Y, Z), для которых значения Z варьируются от примерно 2 до 0, где множество интересных функций находится в диапазоне от 0 до 0,3. Используя нормальное масштабирование, они очень трудно увидеть, как показано на этом изображении:Python Matplotlib нелинейное масштабирование в контурном графике
Теперь, я подумал о том, что еще предстоит сделать. Конечно, есть логарифмическое масштабирование, но тогда мне сначала нужно подумать о каком-то сопоставлении, и я не уверен на 100%, как это можно сделать. Вдохновленный this question, можно было подумать о картировании типа scaling(x) = Log(x/min)/Log(max/min)
, который хорошо работал в этом вопросе.
Также интересным было наблюдение discussed here.
где они использовали какую-то функцию масштабирования ArcSinh
. Казалось, что они достаточно хорошо дополняют мелкие черты, пропорционально целому.
Так что мой вопрос в два раза в том, как я полагаю.
Как бы один масштабировать данные в моем контурный график таким образом, чтобы небольшие особенности амплитуды не получают сдувается выбросов?
Вы бы сделали это, используя любой из перечисленных выше способов или используя что-то совершенно другое?
Я довольно новыми для Python, и я постоянно поражаюсь всеми вещами, которые уже там, так что я уверен, что там может быть построен в пути, который лучше, чем что-либо я говорил выше.
Для полноты я загрузил datafile here (сайт загрузки является robustfiles.com, что быстрый поиск Google сказал мне, является надежным веб-сайт, чтобы поделиться такие вещи)
I график выше с
data = np.load("D:\SavedData\ThreeQubitRess44SpecHighResNormalFreqs.npy")
fig, (ax1) = plt.subplots(1,figsize=(16,16))
cs = ax1.contourf(X, Y, data, 210, alpha=1,cmap='jet')
fig.colorbar(cs, ax=ax1, shrink=0.9)
ax1.set_title("Freq vs B")
ax1.set_ylabel('Frequency (GHz)'); ax1.set_xlabel('B (arb.)')
В качестве комментария, вы можете, например, увидеть некоторые особенности около 6,2 ГГц и -0.6 В. Это то, что я хотел бы сделать более явным. – user129412