import pandas as pd import seaborn as sns import matplotlib.pyplot as plt plt.rcParams['font.family'] = 'Fangsong' # 指定使用宋体字体 # 读取数据 df = pd.read_excel("200马力及以上四轮驱动拖拉机.xlsx") # 按照 FactoryName 和 JiJXH 进行分组,计算售价最高值和最低值 grouped = df.groupby(["FactoryName","JiJXH"])['avg_sale'].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=(20,50), dpi=300) sns.heatmap(df.pivot_table(index=["FactoryName","JiJXH"], columns=["shi"], values="avg_sale"), cmap='YlGnBu', annot=True, fmt='.2f', cbar_kws={'label': '单台售价','shrink':0.8,'aspect':40}, vmin=grouped['min_sale'].min(), vmax=grouped['max_sale'].max()) plt.xlabel(None) plt.ylabel(None) plt.title('''200马力及以上四轮驱动拖拉机 各生产企业各型号在不同市单台平均售价''', fontsize=20) plt.show() 运行后怎么保存图片
时间: 2023-08-10 14:04:12 浏览: 99
要保存图片,可以在代码的最后添加以下代码:
```python
plt.savefig('heatmap.png')
```
这将保存当前图形为名为 "heatmap.png" 的文件。你可以将文件名更改为你喜欢的任何名称,并选择适当的图像格式(例如 .png、.jpg 等)。请注意,此命令必须在 `plt.show()` 命令之前运行,否则文件将不会保存。
相关问题
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt plt.rcParams['font.family'] = 'Fangsong' # 指定使用宋体字体 fig= plt.figure(figsize=(30, 25), dpi=300) ax1= fig.add_subplot(131) # 读取数据 df = pd.read_excel("test_Fd.xlsx") 把Fendmc是140-160马力四轮驱动动力换挡拖拉机查找出来
你可以使用 Pandas 的 loc 函数来筛选符合条件的数据,代码如下:
```python
df.loc[(df['Fendmc'] == '140-160马力四轮驱动动力换挡拖拉机')]
```
其中,`df['Fendmc']` 表示选取数据表中名为 Fendmc 的列,`==` 表示判断是否相等,`'140-160马力四轮驱动动力换挡拖拉机'` 则为要查找的值。
这行代码会返回符合条件的所有行数据,你可以根据需要进行进一步处理。
import numpy as np import scipy.stats as ss import pandas as pd import matplotlib.pyplot as plt import seaborn as sns df=pd.read_excel("./tmp_apply.xlsx") sns.set_context(font_scale=20) plt.rcParams['font.family'] = 'FangSong' plv_tb=pd.pivot_table(df,values="sale",index=["FactoryName","JiJXH"],columns=["Xian"],aggfunc=np.mean) plt.figure(figsize=(200,10)) sns.heatmap(plv_tb,vmin=plv_tb.min().min(), vmax=plv_tb.max().max(),cmap=sns.color_palette("RdYlBu",n_colors=10),annot=True, fmt='g', annot_kws={"size": 20}) plt.show()设置热力图和色阶轴距离距离
可以使用`plt.subplots_adjust()`函数来调整热力图和色阶轴的距离,具体实现代码如下:
``` python
import numpy as np
import scipy.stats as ss
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df=pd.read_excel("./tmp_apply.xlsx")
sns.set_context(font_scale=20)
plt.rcParams['font.family'] = 'FangSong'
plv_tb=pd.pivot_table(df,values="sale",index=["FactoryName","JiJXH"],columns=["Xian"],aggfunc=np.mean)
fig, ax = plt.subplots(figsize=(200,10))
sns.heatmap(plv_tb,vmin=plv_tb.min().min(), vmax=plv_tb.max().max(),cmap=sns.color_palette("RdYlBu",n_colors=10),annot=True, fmt='g', annot_kws={"size": 20}, ax=ax)
plt.subplots_adjust(left=0.2, bottom=0.2) # 调整左边和底部的距离
plt.show()
```
通过`plt.subplots()`函数创建一个`fig`和`ax`对象,然后在`sns.heatmap()`函数中指定`ax=ax`参数,将绘图的轴设置为`ax`,最后调用`plt.subplots_adjust()`函数来调整热力图和色阶轴的距离。
阅读全文