Код: Выделить всё
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()

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