怎么按照每个厂家型号售价最高值和最低值设置热力图的颜色
时间: 2024-02-11 21:04:20 浏览: 25
你可以使用 `vmin` 和 `vmax` 参数来设置热力图的最小值和最大值,从而控制颜色的取值范围。具体来说,可以先对表按照 `FactoryName` 和 `JiJXH` 进行分组,然后计算出每组的售价最高值和最低值,再将这些值作为 `vmin` 和 `vmax` 的参数传入 `sns.heatmap` 中即可。下面是具体的代码示例:
```python
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# 读取数据
df = pd.read_excel("./data.xlsx")
# 按照 FactoryName 和 JiJXH 进行分组,计算售价最高值和最低值
grouped = df.groupby(['FactoryName', 'JiJXH'])['sale_avg'].agg(['min', 'max']).reset_index()
grouped = grouped.rename(columns={'min': 'min_sale', 'max': 'max_sale'})
# 将售价最高值和最低值合并到原表中
df = pd.merge(df, grouped, on=['FactoryName', 'JiJXH'])
# 绘制热力图,并设置颜色取值范围
sns.set_context(font_scale=1.5)
plt.figure(figsize=(12, 8))
sns.heatmap(df.pivot_table(index='FactoryName', columns=['JiJXH', 'shi'], values='sale_avg'), cmap='YlGnBu', annot=True, fmt='.2f', cbar_kws={'label': '销售额'}, vmin=df['min_sale'].min(), vmax=df['max_sale'].max())
plt.title('各厂家各型号在不同市的平均销售额')
plt.show()
```
在这个示例中,我们先对表按照 `FactoryName` 和 `JiJXH` 进行分组,计算出每组的售价最高值和最低值,然后将这些值合并到原表中。最后,我们将透视后的表作为 `sns.heatmap` 的输入,同时将 `vmin` 和 `vmax` 参数分别设置为售价的最小值和最大值,从而控制热力图的颜色取值范围。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)