8

我想删除在保存的 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')

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

在此处输入图像描述

4

1 回答 1

9

仅在保存为 PDF 文件时才会出现此问题,如果您使用 PNG 之类的文件,则它可以正常工作。开发人员在这里提出了一个 Github 问题。

与此同时,开发人员 mwaskom 找到了一个修复程序,您可以在其中添加修复该问题rasterized=True的功能。seaborn.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')
于 2014-11-21T07:33:44.363 回答