天道酬勤,学无止境

heatmap

控制 seaborn 热图中的单个线宽(Control individual linewidths in seaborn heatmap)

问题 是否可以加宽 seaborn 热图中特定列和行的线宽? 例如,这个热图可以 import numpy as np; np.random.seed(0) import seaborn as sns; sns.set() uniform_data = np.random.rand(10, 12) ax = sns.heatmap(uniform_data, linewidths=1.0) 变成这样的东西: 回答1 这是可能的,但可能需要做很多工作。 一个可能的解决方案可能如下所示。 它涉及绘制 6 个不同的热图并调整间距以使其看起来正常。 然后还需要同步颜色缩放并手动设置颜色条。 import matplotlib import matplotlib.pyplot as plt import numpy as np; np.random.seed(0) import seaborn as sns; sns.set() data = np.random.rand(10, 12) asp = data.shape[0]/float(data.shape[1]) figw = 8 figh = figw*asp cmap = plt.cm.copper norm = matplotlib.colors.Normalize(vmin= data.min(), vmax= data.max

2022-01-16 14:23:17    分类:技术分享    python   pandas   matplotlib   heatmap   seaborn

Control individual linewidths in seaborn heatmap

Is it possible to widen the linewidth for sepcific columns and rows in a seaborn heatmap? For example, can this heatmap import numpy as np; np.random.seed(0) import seaborn as sns; sns.set() uniform_data = np.random.rand(10, 12) ax = sns.heatmap(uniform_data, linewidths=1.0) be transformed into something like this:

2022-01-16 05:46:57    分类:问答    python   pandas   matplotlib   heatmap   seaborn

如何将颜色条居中于 seaborn 热图的定义值?(How to centre a colorbar at a defined value for seaborn heatmap?)

问题 我正在尝试使用 seaborn 绘制热图。 我的值从 0 到 5,我需要制作一个蓝色到红色的色标,白色为 1,蓝色 - 低于 1,红色 - 从 1 到 5。 我怎样才能做到这一点? import seaborn as sns; sns.set() hm=sns.heatmap(proportion, vmin=0, vmax=5, cmap='RdBu') 这是我尝试做的,但它不是定制的......“比例”是我的变量。 有什么我可以做的吗? 回答1 也许你的意思是使用center论点, import matplotlib.pyplot as plt import seaborn as sns import numpy as np data = np.random.rand(10,10)*5 ax = sns.heatmap(data, vmin=0,vmax=5,center=1,cmap="RdBu_r") plt.show()

2022-01-16 02:48:04    分类:技术分享    python   matplotlib   heatmap   seaborn

如何在 Seaborn Heatmap 单元格中显示多个注释?(How to display multiple annotations in Seaborn Heatmap cells?)

问题 我希望 seaborn 热图在热图的每个单元格中显示多个值。 为了清楚起见,这是我想看到的手动示例: data = np.array([[0.000000,0.000000],[-0.231049,0.000000],[-0.231049,0.000000]]) labels = np.array([['A\nExtra Stuff','B'],['C','D'],['E','F']]) fig, ax = plt.subplots() ax = sns.heatmap(data, annot = labels, fmt = '') 这里作为一个示例,让 seaborn.heat 在单元格中显示flightsRoundUp值。 import matplotlib.pyplot as plt import seaborn as sns sns.set() def RoundUp(x): return int(np.ceil(x/10)*10) # Load the example flights dataset and conver to long-form flights_long = sns.load_dataset("flights") flights = flights_long.pivot("month", "year", "passengers")

2022-01-16 01:03:00    分类:技术分享    python   seaborn   heatmap

How to centre a colorbar at a defined value for seaborn heatmap?

I am trying to plot a heatmap using seaborn. I have values from 0 to 5 and I need to make a blue-to-red color scale, with white being at 1, blue- below 1, and red - from 1 to 5. How can I do that? import seaborn as sns; sns.set() hm=sns.heatmap(proportion, vmin=0, vmax=5, cmap='RdBu') This is what I try to do, but it is not customized... 'proportion' is my variable. Is there anything I can do?

2022-01-15 22:09:56    分类:问答    python   matplotlib   heatmap   seaborn

ggplot2 - 热图表按行(ggplot2 - Heatmap Table by Row)

问题 我正在尝试制作一个热图表,这很容易,但我希望将渐变颜色限制在一行内,而不是在整个 data.frame 上。 结果应该是每一行都应该有行 max 和 min 都存在。 基本上我可以在网上找到的所有热图示例都根据表中的所有值创建渐变色标。 这是一个示例数据框: df <- data.frame('var' = paste0('var',1:3), 'group1' = c(1,500,3), 'group2' = c(2,300,1), 'group3' = c(3,100,2), 'group4' = c(4,50,4), 'group5' = c(5,10,5)) 这是我正在寻找的结果: 回答1 如何按行缩放数据(除以行的平均值)。 ggplot2 示例: df <- melt(df) df <- data.table(df) df[,value_rescaled:=value/mean(value),by=.(var)] ggplot(data = df, aes(x = variable, y = var)) + geom_tile(aes(fill = value_rescaled))+ scale_fill_gradient2(low = "#4682B4", mid = "#FFFFFF", high = "#FF0000", midpoint = 1

2022-01-15 11:06:35    分类:技术分享    r   ggplot2   heatmap

Seaborn 热图减小了单元格大小(Seaborn heatmap reducing cell size)

问题 有没有办法改变 Seaborn 热图的单元格大小? 我发现了这一点,但我无法按预期工作。 所以,我在 y 轴标签中有长文本。 由于所有文本都被切掉了,我想将热图的单元格大小缩小得多。 我不需要那么大的矩形。 (仅作为示例突出显示。) (我隐藏了标签名称。) 当我通过类似的方式更改图形大小时, plt.figure(figsize=(8, 6)) or figure.set_size_inches(12, 12) 单元格也变得更大,因此文本仍然被截断。 这是代码。 sns.set(font_scale=1.2) ax0 = plt.axes() ax1 = sns.heatmap(hmap, cbar=0, cmap="YlGnBu",linewidths=2, ax=ax0,vmax=3000, vmin=0) ax1.set_title('test heatmap') for item in ax1.get_yticklabels(): item.set_rotation(0) for item in ax1.get_xticklabels(): item.set_rotation(0) figure = plt.gcf() # get current figure figure.set_size_inches(12, 12) plt.savefig('test.png')

2022-01-15 08:10:08    分类:技术分享    python-3.x   matplotlib   heatmap   seaborn

Seaborn heatmap reducing cell size

Is there any way to change cell size of Seaborn heatmap? I found this but I cannot get it work as expected. So, I have long text in y-axis labels. Since all of the texts are chopped off, I would like to shrink cell size of the heatmap much smaller. I don't need that big rectangle. (Highlighted just for example.) (I hid label names.) When I change the figure size by something like, plt.figure(figsize=(8, 6)) or figure.set_size_inches(12, 12) the cell gets bigger as well so the texts remain chopped off. Here is the code. sns.set(font_scale=1.2) ax0 = plt.axes() ax1 = sns.heatmap(hmap, cbar=0

2022-01-15 05:57:28    分类:问答    python-3.x   matplotlib   heatmap   seaborn

画布或 ImageView 上的 Android 热图(Android Heatmap on canvas or ImageView)

问题 我想在画布或图像视图上生成如下所示的动态热图。 我查看了 google map heat map API,但无法获得预期的输出。 回答1 我认为你应该这样做 github.com/HeartlandSoftware/AndroidHeatMap

2022-01-15 03:15:43    分类:技术分享    android   canvas   heatmap

Mathematica 2D 热方程动画(Mathematica 2D Heat Equation Animation)

问题 我正在绘制二维的温度梯度图,遇到了很多麻烦。 我目前的方法是定义一个插值函数,然后尝试多次绘制它,然后为该图表设置动画。 这是我到目前为止所拥有的: RT = 388.726919 R = 1 FUNC == NDSolve[{D[T[x, y, t], t] == RT*(D[T[x, y, t], x, x] + D[T[x, y, t], y, y]), T[x, y, 0] == 0, T[0, y, t] == R*t, T[9, y, t] == R*t, T[x, 0, t] == R*t, T[x, 9, t] == R*t}, T, {x, 0, 9}, {y, 0, 9}, {t, 0, 6}] 所以前两个变量只是控制变化率。 我正在求解的方程是基本的二维热方程,其中 dT/dt=a(d^2T/dx^2+d^2T/dy^2)。 初始条件将所有内容设置为 0,然后将边缘定义为热变化的来源。 现在它从 t=0 扫描到 t=6 的 9x9 块。 第二部分尝试为功能工作设置动画。 ListAnimate[ Table[ DensityPlot[T[x, y, t] /. FUNC, {x, 0, 9}, {y, 0, 9}, Mesh -> 9] , {t, 0, 6}] ] 不幸的是,这不起作用,我疯了想找出原因。 我最初认为它与插值函数有关

2022-01-14 14:59:07    分类:技术分享    animation   wolfram-mathematica   heatmap   differential-equations