#python #pandas #matplotlib #seaborn
#python #pandas #matplotlib #seaborn
Вопрос:
Я не могу заставить seaborn вернуться к настройкам по умолчанию. Я помещу код, который, по моему мнению, вызвал эту проблему, но я бы не рекомендовал запускать его, если вы не знаете, как это исправить. Я считаю, что виновник находится в последнем фрагменте sns.set(font_scale = 4). прежде чем этот вопрос будет удален, потому что его уже задавали, я безуспешно пробовал другие опубликованные решения. Просто для краткости, сброс с помощью sns.set(), sns.set_style(), sns.restore_defaults() . Я также попытался сбросить настройки matplot до значений по умолчанию. Этот атрибут сохраняется во всех моих файлах, поэтому я не могу даже открыть новый файл, удалить строку кода, которая его вызвала, или запустить какие-либо прошлые программы, иначе он будет применяться и к этим графикам. Моя версия seaborn 0.10.1, я пытался ее обновить, но я не могу заставить ее пройти. Я использую среду разработки spyder от anaconda, в документации для версий после 0.8 указано, что стили / темы должны быть вызваны для сброса, но если я попытаюсь использовать их решение sns.set_theme() Я получаю сообщение об ошибке, в котором говорится, что у этого модуля нет атрибута. Я уверен, что это постоянство считается особенностью, но мне отчаянно нужно, чтобы оно исчезло!
import requests
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import os
if __name__ == '__main__':
#data prep
data_path = './assets/'
out_path = './output'
#scraping javascript map data via xml
endpoint = "https://covid.cdc.gov/covid-data-tracker/COVIDData/getAjaxData"
data = requests.get(endpoint, params={"id": "US_MAP_DATA"}).json()
#convert to df and export raw data as csv
df = pd.DataFrame(data["US_MAP_DATA"])
path = os.path.join(out_path,'Raw_CDC_Data.csv')
df.to_csv(path)
#Remove last data point (Total USA)
df.drop(df.tail(1).index,inplace=True)
#Create DF of just 50 states
state_abbr =["AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DC", "DE", "FL", "GA",
"HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD",
"MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ",
"NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC",
"SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY"]
states = df[df['abbr'].isin(state_abbr)]
#Adding NYC to state of NY
# FILL THIS IN LATER
#Graphing
plt.style.use('default')
sns.set()
#add new col survival rate and save
states['survival_rate']=states['tot_cases']-states['tot_death']
states.drop(df.columns[[0]],axis=1)
states.reset_index(drop=True)
path = os.path.join(out_path,'CDC_Data_By_State.csv')
states.to_csv(path)
#Stacked BarPlot
fig, ax = plt.subplots()
colors = ['#e5c5b5','#a8dda8']
r=range(0,len(states.index))
plt.bar(r,states['survival_rate'],color=colors[0])
#ax = stacked['survival_rate','tot_death'].plot.bar(stacked=True, color=colors, ax=ax)
fig, ax = plt.subplots()
plt.figure(figsize=(20,35))
sns.set(font_scale=4)
ax = sns.barplot(x='tot_cases',y='abbr',data=states)
ax.set(title='USA Covid-19 Cases by State', ylabel='State', xlabel='Confirmed Cases')
path = os.path.join(out_path,'Total_Deaths_Bar.png')
plt.savefig(path)
Комментарии:
1. Сначала перейдите к приглашению Anaconda и запустите
conda update --all
. Нет причин, по которым seaborn не может обновляться. seaborn для возврата к настройкам по умолчанию если вы не изменили файл, никакие настройки не сохраняются постоянно.import seaborn as sns
загружает seaborn с настройками по умолчанию.2. В документации упоминается следующее: (Обратите внимание, что в версиях seaborn до версии 0.8 set_theme() вызывался при импорте. В более поздних версиях это должно быть явно вызвано). разве это не то, что устанавливает настройки seaborn по умолчанию?
3. Только если вы хотите что-то другое, кроме настроек по умолчанию.
4. похоже, это исправлено! Спасибо