Я хотел бы заполнить поле между df ['Confirmed'] и df ['Alive'], а затем между df ['Recovered'] и осью x
Это цель: Image_showing_the_desired_change
Прокомментированный код - моя неработающая попытка:
Прокрутите вниз, чтобы увидеть код.
============= ==================
Некоторый текст, который необходимо преодолеть: «Похоже, ваше сообщение в основном представляет собой код; пожалуйста, добавьте некоторые подробности». Потому что ... ну, это так!
Некоторый текст, который нужно преодолеть: «Похоже, ваше сообщение - это в основном код; пожалуйста, добавьте еще несколько деталей». Потому что ... ну, это так!
Некоторый текст, который нужно преодолеть: «Похоже, что ваше сообщение - это в основном код; пожалуйста, добавьте некоторые детали». Потому что ... ну, это так!
Некоторый текст, который нужно преодолеть: «Похоже, ваше сообщение - это в основном код; пожалуйста, добавьте еще несколько деталей». Потому что ... ну, это так!
Некоторый текст, который нужно преодолеть: «Похоже, ваше сообщение - это в основном код; пожалуйста, добавьте еще несколько деталей». Потому что ... ну, это так!
Некоторый текст, который нужно преодолеть: «Похоже, ваше сообщение - это в основном код; пожалуйста, добавьте некоторые детали». Потому что ... ну это так!
import matplotlib.pyplot as plt
import pandas as pd
pd.set_option( 'display.max_rows', None )
CONFIRMED = 'https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv'
DEATHS = 'https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv'
RECOVERED = 'https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_recovered_global.csv'
confirmed = pd.read_csv( CONFIRMED )
deaths = pd.read_csv( DEATHS )
recovered = pd.read_csv( RECOVERED )
def covid19( name: str ) -> pd.DataFrame:
# Select matching country
c = confirmed[ 'Country/Region' ] == name
d = deaths [ 'Country/Region' ] == name
r = recovered[ 'Country/Region' ] == name
# Merge data and discard not needed columns
df = pd.concat( [ confirmed.loc[c].transpose()[4:],
deaths .loc[d].transpose()[4:],
recovered.loc[r].transpose()[4:] ]
, axis = 1
, keys = [ 'Confirmed', 'Deaths', 'Recovered' ] )
# Set columns and index
df.columns = df.columns.droplevel(1)
df.index = pd.to_datetime(df.index)
df.sort_index( ascending=True, inplace=True )
print( df.tail(2) )
df['Alive'] = df['Confirmed'] - df['Deaths']
print( df.tail(3) )
# Create figure and axis objects
fig, ax = plt.subplots( nrows = 4,
ncols = 1,
sharex = True,
sharey = False,
gridspec_kw = { 'height_ratios': [2, 1, 1, 4] },
figsize = ( 12, 6 ) )
# ———————————————————
# Confirmed - Deaths - Survived = ( Sick ≈ Fighting ≈ Praying ≈ Waiting )
ax[3].plot( df['Confirmed'], lw=0.5, color='darkred' )
ax[3].plot( df[ 'Alive' ], lw=0.5, color='darkred' )
ax[3].plot( df['Recovered'], lw=0.5, color='darkgreen' )
ax[3].set_ylim( ymin=0, ymax=None )
ax[3].set_ylabel('Syrvived | Waiting | Death')
ax[3].grid( True, which='major' )
# ax[3].axhline(y=0.0, color='k', linestyle='-')
# ax[3].legend()
print( df.shape )
print( df.max() )
print( df.max()[0] )
x = ax[3].axvline( x=df.index[-1], ymin=0.0, ymax=df.max()[0], color='k', lw=0.1 )
# ax[3].fill_between( x,
# df['Confirmed'],
# df[ 'Alive' ], color='red' , alpha='0.5' )
# ax[3].fill_between( x,
# df['Recovered'],
# df[ 'zero' ], color='green', alpha='0.5' )
# Set general layout for whole figure
plt.setp( ax[3].get_xticklabels(), rotation=45, horizontalalignment='right' )
fig.tight_layout()
plt.show()
# print( df )
covid19('Korea, South')