gpt4 book ai didi

python - 在 Python 中将图例标签设置为日期

转载 作者:行者123 更新时间:2023-12-04 04:12:05 25 4
gpt4 key购买 nike

简而言之,我根据时间戳绘制了(几天的)葡萄糖值。我写了一个函数,然后将葡萄糖值分层放在同一个 x 轴上,这样我就可以寻找葡萄糖趋势。最终,这意味着用不同的线绘制了几天的葡萄糖数据,结果如下图所示:

enter image description here

目前,标签上为每种颜色标明“葡萄糖读数”。我希望以某种方式设置标签,以便在绘制数据时显示日期(2019-11-21、2019-11-22)等。我真的不确定该怎么做,因为我从来没有处理过下面的 matplotlib 图例,而且我找不到任何有用的解决方案。

任何指导将不胜感激!

编辑 1:

我正在使用 Pandas 数据框。最小代码示例 - 我的图例位于绘图函数中,如下所示:

def plotting_function(x, y, isoverlay = False):

years_fmt = mdates.DateFormatter(' %H:%M:%S')
ax = plt.axes()
ax.xaxis.set_major_formatter(years_fmt)
dates = [date.to_pydatetime() for date in x]

if isoverlay:
plt.plot(x, y, label= "Glucose reading" )
else:
plt.plot(x, y, 'rs:', label="Glucose reading")

plt.xlabel("Time of readings")
plt.ylabel("Glucose readings in mmol/L")

plt.legend(ncol=2)
plt.title("Glucose readings plotted against their timestamps")

最佳答案

在绘图函数中,您可以添加图例的标签列表作为额外参数,并将其提供给 plt.legend()

这是一个展示它如何工作的最小示例:

import numpy as np
import matplotlib.pyplot as plt

def plotting_function(x, y, labels):
plt.plot(x, y)
plt.legend(labels, ncol=2)

N = 100
K = 9
x = np.arange(N)
y = np.random.normal(.05, .2, (N, K)).cumsum(axis=0) + np.random.uniform(1, 10, K)
labels = [f'label {i + 1}' for i in range(K)] # as a test: ['label 1', 'label 2' ,...]
# labels = ['2019-11-21', '2019-11-22', ...] # this is another example, how dates could be used
plotting_function(x, y, labels)

example plot

关于python - 在 Python 中将图例标签设置为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61547059/

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