holoviews 重新排序 x 轴刻度
holoviews reorder x-axis ticks
我有一个包含一个键维度和一个值维度的数据集,其中键维度是月份名称,值维度是数字。当我使用 hv.Curve(...)
绘制时,月份不按时间顺序排列。解决此问题的最佳方法是什么?
我的猜测是 您现在的月份可能是字符串 。
最简单的事情是:
1。首先将您的字符串月份转换为正确的 pandas 日期时间字段
2。然后在新的日期时间字段
上对数据框进行排序
这是一个 示例 :
# import libraries
import pandas as pd
import holoviews as hv
hv.extension('bokeh', logo=False)
# create sample dataframe
data = {
'month': ['August', 'June', 'May', 'April', 'July'],
'value': [3, 5, 7, 9, 5],
}
df = pd.DataFrame(data=data)
# convert month string to pandas datetime
# here I've added 2019 to the string, to make it a proper 2019 year
# but this isn't really necessary.
df['month2'] = pd.to_datetime('2019 ' + df['month'], format='%Y %B')
# sort your dataframe on the datetime field
df = df.sort_values(by='month2')
# since your dataframe is now sorted correctly, you can make your plot
hv.Curve(data=df, kdims='month', vdims='value')
我有一个包含一个键维度和一个值维度的数据集,其中键维度是月份名称,值维度是数字。当我使用 hv.Curve(...)
绘制时,月份不按时间顺序排列。解决此问题的最佳方法是什么?
我的猜测是 您现在的月份可能是字符串 。
最简单的事情是:
1。首先将您的字符串月份转换为正确的 pandas 日期时间字段
2。然后在新的日期时间字段
上对数据框进行排序
这是一个 示例 :
# import libraries
import pandas as pd
import holoviews as hv
hv.extension('bokeh', logo=False)
# create sample dataframe
data = {
'month': ['August', 'June', 'May', 'April', 'July'],
'value': [3, 5, 7, 9, 5],
}
df = pd.DataFrame(data=data)
# convert month string to pandas datetime
# here I've added 2019 to the string, to make it a proper 2019 year
# but this isn't really necessary.
df['month2'] = pd.to_datetime('2019 ' + df['month'], format='%Y %B')
# sort your dataframe on the datetime field
df = df.sort_values(by='month2')
# since your dataframe is now sorted correctly, you can make your plot
hv.Curve(data=df, kdims='month', vdims='value')