Seaborn Heat Map с логарифмической цветом с каждым цветом, напоминающим один порядок величины?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Seaborn Heat Map с логарифмической цветом с каждым цветом, напоминающим один порядок величины?

Сообщение Anonymous »

Я пытаюсь построить некоторые данные в тепловой карте. Ожидаемые данные могут быть в диапазоне между 1x10 0 и 1x10 9 , поэтому я хотел бы использовать дискретную логарифмическую цветовую шкалу, где один цвет представляет один порядок.

Код: Выделить всё

1   9.233444e+05  1.667961e+05  1.000000e+00       1.000000  1.628000e+05   49113.404001  1.297632e+06  1.417425e+08  9.874216e+06  6.604796e+05  244640.784032  2.644814e+06  302680.552383  4.179854e+05  157001.632229
2   1.035594e+06  1.000000e+00  1.000000e+00       1.000000  1.678359e+05   53792.826077  1.546623e+06  1.605406e+08  1.360309e+07  8.274078e+05  387068.818619  3.309055e+06  327772.433710  5.212390e+05  183668.570530
3   1.757615e+06  2.674736e+05  1.000000e+00   21193.964624  2.619884e+05   87328.604686  1.382115e+06  2.223598e+08  1.332000e+07  1.164365e+06  477190.744769  6.037433e+06  574947.946448  9.707206e+05  339096.608121
4   1.568719e+06  2.586641e+05  1.000000e+00       1.000000  2.269648e+05  111880.599266  1.559659e+06  2.214848e+08  1.681052e+07  1.013042e+06  365251.506398  5.524255e+06  498559.533033  8.148302e+05  273630.913931
5   1.836254e+06  3.793271e+05  1.000000e+00       1.000000  1.000000e+00  164330.522936  2.023138e+06  2.859675e+08  1.741852e+07  2.131141e+06  597542.798838  4.079047e+06  347385.192677  8.431494e+05  194838.752708
6   2.384388e+06  1.000000e+00  1.000000e+00       1.000000  4.542583e+05  262315.667507  2.814922e+06  3.351289e+08  1.002064e+07  5.739982e+05   67494.501506  1.013531e+06  965788.960452  7.560733e+04  483717.390066
7   3.025885e+06  1.626263e+06  5.567249e+06  278075.276104  5.024219e+05  510559.593751  2.269265e+06  1.052652e+07  1.000000e+00  1.000000e+00  863660.428694  1.188858e+07       1.000000  2.953666e+06       1.000000
8   3.665986e+06  1.704403e+06  7.424446e+06  173460.962223  9.440780e+05  175174.671543  1.000000e+00  1.864523e+06  1.000000e+00  1.000000e+00  179608.650232  2.177289e+06       1.000000  5.171294e+05       1.000000
9   4.206076e+06  1.971293e+06  8.298467e+06  835034.598981  1.675579e+06       1.000000  1.569502e+06  1.000000e+00  1.000000e+00  1.000000e+00       1.000000  6.342325e+05       1.000000  1.000000e+00       1.000000
10  4.972394e+06  2.009257e+06  7.716523e+06  670068.164179  7.422010e+05  145980.973202  3.615038e+06  1.048249e+06  1.000000e+00  1.000000e+00       1.000000  4.702494e+05       1.000000  1.000000e+00       1.000000
< /code>
Я написал следующий код: < /p>
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from matplotlib.colors import LogNorm

data=pd.read_excel('example_data.xlsx')

custom_color_map=sns.color_palette("rocket", as_cmap=False, n_colors=9)
fig, ax = plt.subplots(figsize=(20,10))
ax = sns.heatmap(data, norm=LogNorm(), annot=True, cmap = custom_color_map, linewidths=0.05, linecolor='grey')

plt.tight_layout()

plt.show()

This resulted in the following heatmap:
Изображение

The lower end of the colorbar is as desired, the first color starts at 100. Но затем второй цвет начинается не с 10 1 , но где -то ниже 10 1 . Эта тенденция продолжается для следующих цветов.
Основная задача, однако, заключается в том, что отображение значений с цветами неожиданно, которое можно увидеть, рассматривая аннотированные значения: в столбце 0 тепловой карты есть значения 6,3x10 5x> и 9,2x10 SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP> SUP>. В этом столбце 5x10 6 имеет другой цвет, несмотря на то, что в одном и том же порядке, что 1x10 6 .>

Подробнее здесь: https://stackoverflow.com/questions/797 ... -one-order
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»