首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >树轴未被savefig保存

树轴未被savefig保存
EN

Stack Overflow用户
提问于 2017-07-11 11:17:40
回答 1查看 1.3K关注 0票数 1

我试图保存一个由大型表(10000+行,18列)生成的大型树状图,并附带了以下代码

代码语言:javascript
复制
from matplotlib import pyplot as plt
from scipy.cluster.hierarchy import dendrogram, linkage
import numpy as np
import pandas as pd

data = pd.read_csv("Input.txt", header = 0, index_col = None,\
               sep = "\t", memory_map = True)
data = data.fillna(0)
Matrix = data.iloc[:,-18:]

Linkage_Matrix = linkage (Matrix, "ward")
fig=plt.figure(figsize=(20, 200))
#fig, ax = plt.subplots(1, 1, tight_layout=False)
ax = fig.add_axes([0.1,0.1,0.75,0.75])
#fig.title('Hierarchical Clustering Dendrogram')
ax.set_title("Hierarchical Clustering Dendrogram")
ax.set_xlabel("distance")
ax.set_xlabel("name")
dendrogram(
    Linkage_Matrix,
    orientation ="left",
    leaf_rotation=0., 
    leaf_font_size=12.,  
    labels = list(data.loc[:,"name"])
)    
ax.set_yticklabels(list(data.loc[:,"name"]), minor=False)
ax.yaxis.set_label_position('right')
ax.yaxis.tick_right()

plt.savefig("plt1.png", dpi = 320, format= "png", bbox_inches=None)

但不幸的是,它没有保存轴,而我留下了一些空间,如下所示:

Matplotlib savefig does not save axes

Why is my xlabel cut off in my matplotlib plot?

Matplotlib savefig image trim Plotting hierarchical clustering dendrograms for large data sets Dendrogram generated by scipy-cluster customisation我在控制台中有一个正确的显示,我可以保存它,但是dpi不是很好,而且理想情况下,我也希望切换到svg,以便以后能够设置可读性级别。

任何见解都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-11 14:52:02

移除这一行

代码语言:javascript
复制
ax = fig.add_axes([0.1,0.1,0.75,0.75])

plt.savefig()中设置plt.savefig()使它对我有用。

此外,由于您正在用熊猫加载数据,请注意如何将'name‘列声明为索引,并使用这些索引值作为标签。

代码语言:javascript
复制
from matplotlib import pyplot as plt
from scipy.cluster.hierarchy import dendrogram, linkage
import numpy as np
import pandas as pd


data = pd.read_csv('input.txt', header=0, index_col=['name'], sep="\t")
data = data.fillna(0)

link_matrix = linkage(data, 'ward')
fig, ax = plt.subplots(1, 1, figsize=(20,200))
ax.set_title('Hierarchical Clustering Dendrogram')
ax.set_xlabel('distance')
ax.set_ylabel('name')
dendrogram(
    link_matrix,
    orientation='left',
    leaf_rotation=0., 
    leaf_font_size=12.,  
    labels=data.index.values
)    
ax.yaxis.set_label_position('right')
ax.yaxis.tick_right()
plt.savefig('plt1.png', dpi=320, format='png', bbox_inches='tight')
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45033052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档