Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 试图让我的标签在scipy树状图中清晰可见_Python_Scipy_Dendrogram - Fatal编程技术网

Python 试图让我的标签在scipy树状图中清晰可见

Python 试图让我的标签在scipy树状图中清晰可见,python,scipy,dendrogram,Python,Scipy,Dendrogram,我用Python编写了以下代码,以创建一个树状图,根据一些新冠病毒数据对不同国家进行聚类: import pandas as pd from scipy.cluster.hierarchy import linkage, dendrogram import matplotlib.pyplot as plt covid = pd.read_csv('https://covid.ourworldindata.org/data/owid-covid-data.csv') covid2 = covid

我用Python编写了以下代码,以创建一个树状图,根据一些新冠病毒数据对不同国家进行聚类:

import pandas as pd
from scipy.cluster.hierarchy import linkage, dendrogram
import matplotlib.pyplot as plt

covid = pd.read_csv('https://covid.ourworldindata.org/data/owid-covid-data.csv')
covid2 = covid[covid['date']=='2020-10-31']
covid3 = covid2[['iso_code','total_cases_per_million','new_cases_per_million',
               'total_deaths_per_million','new_deaths_per_million',
               'reproduction_rate','positive_rate','total_tests_per_thousand',
             'icu_patients_per_million','hosp_patients_per_million']].dropna()

covid_data = covid3.drop(columns='iso_code')

countries = str(covid3['iso_code'].tolist())

clusters = linkage(covid_data,method='complete')

dendrogram(clusters,
       labels=countries,
       leaf_rotation=90,
       leaf_font_size=8)
plt.show()
标签列表(国家)包含每个国家的三个字母代码(例如“AUT”、“BEL”、“BGR”、“CZE”、“DNK”、“EST”、“GBR”、“HUN”、“IRL”、“ITA”、“LUX”、“PRT”、“SVN”、“USA”)

然而,这些标签在生成的树状图中难以辨认。我无法读取每个国家的3个字母代码,而只能看到每个国家的一个字母(对于某些国家,我只能看到字母的一部分)

我已经尝试将树状图的方向更改为“右”,但我仍然只能看到标签的部分信息


有人对我如何在树状图标签中为每个国家显示所有三个字母有什么建议吗?

您是否在
plt.show()之前尝试过
plt.tight_layout()
?和
plt.xticks(rotation=90,fontsize=8)
?谢谢你的建议,约翰。我尝试了这两种方法,但两种方法都没有效果。结果发现问题在于定义国家名称时使用的str()函数。我不应该使用“countries=str(covid3['iso_code']].tolist()”,而应该使用“countries=covid3['iso_code'].tolist()”。现在我的树状图标签工作了。