将DataFrame表另存为图片时如何使图片清晰

时间:2019-04-23 14:14:56

标签: python pandas matplotlib

我想将DataFrame的表另存为图片,并从this question得到启发。
但是可悲的是,我画的这张桌子的图太模糊了,我不清楚。
这是我的环境:

  

Python 3.7.0
  熊猫0.23.0
  matplotlib 2.2.2

这是我的代码,其表和图片:

train_corr
         Survived    Pclass      Age         SibSp       Parch      Fare
Survive  1.000000   -0.338481   -0.077221   -0.035322    0.081629    0.257307
Pclass  -0.338481    1.000000   -0.369226    0.083081    0.018443   -0.549500
Age     -0.077221   -0.369226    1.000000   -0.308247   -0.189119    0.096067
SibSp   -0.035322    0.083081   -0.308247    1.000000    0.414838    0.159651
Parch    0.081629    0.018443   -0.189119    0.414838    1.000000    0.216225
Fare     0.257307   -0.549500    0.096067    0.159651    0.216225    1.000000
from pandas.plotting import  table

ax = plt.subplot(111, frame_on=False) # no visible frame
ax.xaxis.set_visible(False)  # hide the x axis
ax.yaxis.set_visible(False)  # hide the y axis

table(ax, train_corr, loc='center')  

plt.savefig('correlation_matrix_HD.jpg')

enter image description here

我已经搜索了有关pandas.plottingmatplotlib.pyplot.table的文档,但我仍然不知道如何解决。
如果不介意,有人可以帮我吗?
真诚的感谢。

2 个答案:

答案 0 :(得分:1)

您可以在 savefig() 中调整dpi参数,以调整绘图的分辨率。

从文档中

  

dpi:[无|标量> 0 | '图']

     

以每英寸点数为单位的分辨率。如果为无,则默认为   rcParams [“ savefig.dpi”]。如果为“ figure”,则使用图形的dpi值。

plt.savefig('correlation_matrix_HD.jpg',dpi=600)

使用dpi值来满足您的需要。

答案 1 :(得分:1)

您将要使用图形尺寸和图形dpi

fig = plt.figure(figsize=(8,6), dpi=144)
ax = fig.add_subplot(111, frame_on=False) 

更改值,直到满意为止。有关两者之间的相互作用,请参见Relationship between dpi and figure size