当另存为pdf时,删除在seaborn热图中分隔细胞的线

Art*_*örk 5 python matplotlib heatmap seaborn

我想删除在保存的pdf中分隔单元格的行。我尝试设置linewidth = 0.0,但行仍显示。

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

data = pd.DataFrame(np.arange(10*10).reshape(10,10))
fig, ax = plt.subplots()
ax = sns.heatmap(data,linewidths=0.0)
fig.savefig('stackoverflow_lines.pdf')
Run Code Online (Sandbox Code Playgroud)

该图像是生成的pdf的屏幕截图。

在此处输入图片说明

Ffi*_*ydd 7

这仅在保存为 PDF 文件时出现问题,如果您使用 PNG 之类的内容,则它会正常工作。已经向开发人员提出Github 问题。

与此同时,开发人员 mwaskom 找到了一个修复程序,您可以在其中添加修复问题rasterized=Trueseaborn.heatmap功能。然后您的代码变为:

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

data = pd.DataFrame(np.arange(10*10).reshape(10,10))
fig, ax = plt.subplots()
ax = sns.heatmap(data,linewidths=0.0, rasterized=True)
fig.savefig('stackoverflow_lines.pdf')
Run Code Online (Sandbox Code Playgroud)