Python 参数s中matplotlib.pyplot.District的matplotlib.pyplot问题

Python 参数s中matplotlib.pyplot.District的matplotlib.pyplot问题,python,pandas,numpy,matplotlib,Python,Pandas,Numpy,Matplotlib,我的名字是Luis Francisco Gomez,我正在学习中级Python>1 Matplotlib>Sizes课程,该课程属于DataCamp中使用Python的数据科学家。我复制了本课程的练习,在本部分中,你必须绘制一个散点图,其中点的大小等于各国的人口。我尝试用以下代码重现DataCamp的结果: # load subpackage import matplotlib.pyplot as plt ## load other libraries import pandas as pd

我的名字是Luis Francisco Gomez,我正在学习中级Python>1 Matplotlib>Sizes课程,该课程属于DataCamp中使用Python的数据科学家。我复制了本课程的练习,在本部分中,你必须绘制一个散点图,其中点的大小等于各国的人口。我尝试用以下代码重现DataCamp的结果:

# load subpackage
import matplotlib.pyplot as plt

## load other libraries
import pandas as pd
import numpy as np

## import data
gapminder = pd.read_csv("https://assets.datacamp.com/production/repositories/287/datasets/5b1e4356f9fa5b5ce32e9bd2b75c777284819cca/gapminder.csv")
gdp_cap = gapminder["gdp_cap"].tolist()
life_exp = gapminder["life_exp"].tolist()

# create an np array that contains the population
pop = gapminder["population"].tolist()
pop_np = np.array(pop)


plt.scatter(gdp_cap, life_exp, s = pop_np*2)

# Previous customizations
plt.xscale('log') 
plt.xlabel('GDP per Capita [in USD]')
plt.ylabel('Life Expectancy [in years]')
plt.title('World Development in 2007')
plt.xticks([1000, 10000, 100000],['1k', '10k', '100k'])

# Display the plot
plt.show()
然而,我们可以这样做:

但从理论上讲,你需要做到:


我不明白plt中的参数s有什么问题。分散

您需要调整s

plt.scatter(gdp_cap, life_exp, s = pop_np*2/1000000)
标记大小以点**2为单位。


我认为你应该使用

plt.scatter(gdp_cap, life_exp, s = gdp_cap*2)

或者缩小或缩放pop_np

这是因为您的尺寸太大,请缩小它。此外,无需创建所有中间阵列:

plt.scatter(gapminder.gdp_cap, 
            gapminder.life_exp, 
            s=gapminder.population/1e6)
输出:


对不起,这是一个分散的过程(gdp上限,寿命上限,s=pop\U np*2)。我纠正了错误,问题也是一样的。谢谢你快跑波士顿。这在DataCamp课程中非常奇怪,因为他们没有这个问题。也许他们会重新调整数组的大小,但不会向学生展示。谢谢你的帮助。对不起,如果这是一个愚蠢的问题。谢谢你编辑我的文章广汉的情况下的图像,并回答我的问题。请记住,我是Python新手,所以在这个过程中,我可能会采取不必要的步骤,因为我正在学习一门在线课程。再次非常感谢您。感谢您的帮助@simomod。我从未使用过stackoverflow,但是这个资源非常棒。