I am currently working on a university project where I want to plot sentiment scores over a period of time. I've attached a picture of said scatterplot. I now want to change the xticks, the xtick labels and the title. However, when trying to change the x-ticks to the quintils of the dates, i get the error "'numpy.ndarray' object is not callable.
I want the xticks to reflext the min, max, 25%, 50% and 75% quntils of the dates. Since the dates are formatted as yyyymmdd, just calculating the quintils wont work but at this point I have really lost focus on how to solve the problem. Same goes for the changing of the title, though that seems more straight forward.
My code is:
import seaborn as sns
import matplotlib.pyplot as plt
import scipy.stats as stats
# Korrelation überprpfen
correlation, p_value = stats.pearsonr(df_tagesspiegel_final['Datum'], df_tagesspiegel_final['compound'])
print(correlation)
print(p_value)
# Scatterplot erstellen
sns.scatterplot(x='Datum', y = 'compound', data=df_tagesspiegel_final)
#Quintile als xticks speichern
xticks = [df_tagesspiegel_final['Datum'].min(), df_tagesspiegel_final['Datum'].quantile(0.25), df_tagesspiegel_final['Datum'].quantile(0.5), df_tagesspiegel_final['Datum'].quantile(0.75), df_tagesspiegel_final['Datum'].max()]
plt.xticks(ticks=xticks)
plt.set_title('Korrelation von Datum und compound')
plt.set_xlabel('Datum')
plt.set_ylabel('compound')
fig.show()
~~~
I tried updating matplotlib, changing plt.xticks(ticks=xticks)
to plt.xticks(ticks=None)
. Nothing worked. I only get the error: 'numpy.ndarray' object is not callable.
I expect the xticks to change in any way really, though I am sure that calculating the quintils of dates is not the right way to go about it.
EDIT: I've found the solution for the title problem: I used .set_title instead of title.
Replace
plt.xticks(ticks=xticks)
plt.set_title('Korrelation von Datum und compound')
plt.set_xlabel('Datum')
plt.set_ylabel('compound')
by
plt.gca().set(xticks=xticks, xlabel='Datum', ylabel='compound', title='Korrelation von Datum und compound')