python - PYTHON:如何让 seaborn 属性重置为默认值?
问题描述
我一辈子都无法让 seaborn 恢复默认设置。我将放置我认为导致此问题的代码,但我建议不要运行它除非你知道如何解决它。我认为罪魁祸首是在这个问题被删除之前的最后一个块 sns.set(font_scale = 4) 因为它已经被问过了,我尝试了其他发布的解决方案但没有成功。仅举几例,使用 sns.set()、sns.set_style()、sns.restore_defaults() 进行重置。我也尝试过将 matplot 设置重置为默认值。这个属性在我所有的文件中都存在,所以我什至不能打开一个新文件,删除导致它的代码行,或者运行任何过去的程序,或者它也将应用于这些图表。我的 seaborn 版本是 0.10.1,我已经尝试更新它,但我无法让它通过。我正在使用 anaconda 的 spyder IDE 文档说对于 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)
解决方案
推荐阅读
- python - 为什么我的 import scapy.all 根本不起作用?
- javascript - 在状态发生突变之前调用 SetState 回调
- perl - Intellij Perl5 添加 Perl5 解释器
- android - 棋子无法使用本机反应,但用户界面正确显示?
- angular - 如何在角度 10 中从组件获取 onclick 值到其他组件
- html - 是/否 cshtml 中的切换开关
- c# - 角色通过对象/ Unity3d的问题
- css - 如何打破vf页面中长文本区域字段的文本
- python - 如何使用带有列表而不是'from x import x'的importlib
- apache-kafka - Kafka-Connect Sink 配置 enable.auto.commit 与 offset.flush.interval.ms