gpt4 book ai didi

python - 如何在 Python 中将 x 刻度调整为字符串值

转载 作者:行者123 更新时间:2023-12-01 08:34:04 26 4
gpt4 key购买 nike

我在使用 Python 绘制非常简单的时间序列图时遇到问题。我一直在研究 Twitter 数据,我的 x 是天数和时间,而我的 y 是我根据推文计算的分数。明显的问题是,我的 x 不断扩展,以至于绘制时 x 轴并不代表数据集中 x 的所有值。当然,我完全同意这一点,但我想要的是 x 轴至少从数据集中的第一个 x 值开始并以最后一个 x 值结束,以便我可以评估演变近实时的分数。这至少会创建一个图表,我们可以在其中看到 self 开始收集推文以来我正在计算的分数已经演变了多少,直到我绘制相关分数的最后一天。这是我到目前为止的代码:

n = datetime.date.today().strftime("%B %d, %Y") #Here I'm registering today's date

a_plot=df_US.plot(x='Some timeframe', y='Some Score')
a_plot

plt.xticks(rotation=60)
plt.ylabel('Some Score')
plt.title('Evolution of Some Score in Tweets',fontdict=None, loc='center')
plt.savefig('Some Score('+n+').png', dpi=300, bbox_inches = 'tight')
plt.show()

这就是我根据这个脚本得到的结果。 Some Time Series Plot

我同意 x 轴从它所在的位置开始,只是我希望它以数据集中 x 的最新值结束。我也很满意中间的蜱虫较少。

我在网上搜索了这个问题的答案,但不幸的是我只找到了整数值或有限数量的字符串的答案。任何帮助将不胜感激!

最佳答案

Iiuc,您可以尝试以下函数,它计算给定数组的第一个和最后一个之间的 n 个等距日期时间:

import datetime

def custom_ticks(timings, n):
dt = (timings[-1] - timings[0]).days +1
return [timings[0]+i*datetime.timedelta(dt/(n-1)) for i in range(n)]

然后在绘制数据框后,您可以使用此函数来定义自定义刻度:

plt.xticks(custom_ticks(df_US['Some timeframe'], 5))

关于python - 如何在 Python 中将 x 刻度调整为字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53805135/

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