为什么我的可绘制图形在x轴上绘制日期时间作为指数?

时间:2018-09-06 01:01:59

标签: python pandas datetime plotly

我正在尝试在x轴上绘制带有日期(熊猫的datetime)的图形。但是,它们以数字格式绘制(显示为指数)。

日期示例:

0   2014-05-01
1   2014-05-02
2   2014-05-03
3   2014-05-04
4   2014-05-05
Name: date, dtype: datetime64[ns]

情节代码:

trace1 = go.Scatter(x = df_iso_h.date, 
                y=del18_f_hum,
               mode = 'markers')
data = [trace1]
py.iplot(data)

我的x轴: enter image description here

不确定如何解决此问题吗?

3 个答案:

答案 0 :(得分:2)

您需要添加response.setHeader( "Content-Security-Policy", "default-src 'none'; script-src 'unsafe-inline' *.googleapis.com; style-src 'self' *.googleapis.com;font-src 'self' *.gstatic.com;connect-src ; img-src 'self' data:;base-uri 'none';frame-ancestors 'none';"); 并在其中指定参数layout。例如here

所以尝试一下:

xaxis

这应该对您有帮助。

更新:尝试将# Create trace trace1 = go.Scatter(x = df_iso_h.date, y=del18_f_hum, mode = 'markers') # Add trace in data data = [trace1] # Create layout. With layout you can customize plotly plot layout = dict(title = 'Scatter', # Add what you want to see at xaxis xaxis = df_iso_h.date ) #Do not forget added layout to fig! fig = dict(data=data, layout=layout) # Plot scatter py.iplot(data, filename="scatterplot") 列转换为datetime(新列应采用strftime格式!):

object

如果不起作用,请在df_iso_h["date"] = df_iso_h["date"].dt.strftime("%d-%m-%Y") 中添加此列。也许xaxis不支持日期时间格式plotly ...请注意,您的yyyy-mm-dd看起来像xaxis

答案 1 :(得分:1)

想通了... Plotly不使用熊猫的datetime,所以我不得不将熊猫的datetime转换为python datetime.datetime或datetime.date。

答案 2 :(得分:0)

这似乎是plotly.py版本3.2.0中引入的回归,并已在版本3.2.1中修复。

您现在可以简单地将pandas datetime列传递给plotly,它将像过去一样为您处理正确的转换。

请参见https://github.com/plotly/plotly.py/issues/1160

相关问题