gpt4 book ai didi

python - 如何根据数据自动更改图表标题

转载 作者:行者123 更新时间:2023-12-01 06:44:43 26 4
gpt4 key购买 nike

我有创建seaborn regplots 的代码。我的目标是每次在该日期的特定日期和时间运行此代码。问题是每次运行此图时我都需要更改标题中的日期和小时。我想自动执行此操作,我想使用格式但很困惑如何在字符串中执行此操作。

这是我创建图表的方式:

#Filter/Create the database based on the dat and the hour
# the date and hour for the title should come from here

byDH=df_NDVIall[(df_NDVIall.index.get_level_values('date')=='6/23/2019')&(df_NDVIall.index.get_level_values('hour') == '12:00')]['NDVI']
NITbyDH=df_Nit[['plant','nitrogen']]


merged_data=pd.merge(byDH.to_frame(),NITbyDH,how='inner',on='plant')
merged_data.head(18)

import seaborn as sns

#Define X and Y
x = merged_data['NDVI']
y = merged_data['nitrogen']

#The function
def give_me_scatter(x, y, title, xlabel, ylabel):
slope, intercept, r_value, p_value, std_err = linregress(x, y)
#print('slope:',slope)
#print('intercept:',intercept)
#print('R:',r_value)
#print('R^2:',(r_value**2))

# use line_kws to set line label for legend
plt.figure(figsize=(7.5,6.5))
ax = sns.regplot(x='NDVI', y='nitrogen', data=merged_data, color='b', line_kws={'label':"y={0:.1f}x+{1:.1f}".format(slope,intercept)})
ax = sns.regplot(x='NDVI', y='nitrogen', data=merged_data, color='b', line_kws={'label':"R^2={0:.3}".format(r_value**2)})
ax.set_title('NDVI vs Nitrogen% ')

# plot legend
ax.legend()
plt.show()

# plot legend

ax.legend()
plt.show()

#get scatter plot

give_me_scatter(x, y, 'NDVI vs Nitrogen ', 'NDVI', 'Nitrogen %')

*我无法共享我的数据库

*我的最终目标是自动将日期和时间添加到标题中,而无需手动更改标题

最佳答案

如果将日期和时间放入变量中,则可以使用它们写入字符串以用作标题(最初在函数中没有使用)

date_to_plot = '6/23/2019'
time_to_plot = '12:00'

byDH=df_NDVIall[(df_NDVIall.index.get_level_values('date')==date_to_plot)&(df_NDVIall.index.get_level_values('hour') == time_to_plot)]['NDVI']
(...)

def give_me_scatter(x, y, title, xlabel, ylabel):
(...)
ax.set_title(title)
(...)

#get scatter plot
give_me_scatter(x, y, 'NDVI vs Nitrogen on {} {}'.format(date_to_plot, time_to_plot), 'NDVI', 'Nitrogen %')

关于python - 如何根据数据自动更改图表标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59283008/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com