Меня зовут Луис Франсиско Гомес, и я в курсе Intermediate Python> 1 Matplotlib> Размеры, принадлежащие Data Scientist с Python в DataCamp. Я воспроизводлю упражнения курса, где в этой части вы должны составить точечный график, в котором размеры точек эквивалентны населению стран. Я пытаюсь воспроизвести результаты 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()
Однако получить это:
Но в теории вам нужно получить это:
Я не понимаю, в чем проблема с аргументом s в plt.scatter .