【问题标题】:holoviews reorder x-axis ticksholoviews 重新排列 x 轴刻度
【发布时间】:2019-11-14 16:49:55
【问题描述】:

我有一个一键维度和一值维度的数据集,其中键维度是月份名称,值维度是数字。当我使用hv.Curve(...) 绘制此图时,月份不是按时间顺序排列的。解决此问题的最佳方法是什么?

【问题讨论】:

  • 嗨马丁,你还能添加你的数据/代码的小样本吗?我现在刚刚在我的回答中猜到您的日期字段只是字符串。

标签: python holoviews


【解决方案1】:

我的猜测是你现在的月份可能是字符串

所以最简单的事情是:
1。首先将您的字符串月份转换为正确的熊猫日期时间字段
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')

【讨论】:

猜你喜欢
  • 2013-12-13
  • 2012-12-12
  • 2012-12-24
  • 1970-01-01
  • 2012-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多