使用 plotnine 进行轴缩放
Axis scaling with plotnine
到目前为止,我已经花了几个小时来完成 plotnine 中的轴缩放。
到目前为止我发现的所有内容都不起作用。
是数据吗,是定义图表的代码吗,希望大家能看出哪里不对。
数据如下:
数据类型为:
concat object
direction object
date_trunc timedelta64[ns]
comment object
timestamp datetime64[ns]
dtype: object
以下代码按预期创建图表:
ch_time_plot = (p9.ggplot(data= ch_time,
mapping= p9.aes(x= 'timestamp',
y= 'date_trunc',
color= 'direction'))
+ p9.geom_line()
+ p9.theme(axis_text_x= p9.element_text(rotation=90))
)
# ch_time_plot += p9.ylim(0,5)
# => TypeError: Discrete value supplied to continuous scale
# ch_time_plot += p9.expand_limits(y=0)
# => AttributeError: 'int' object has no attribute 'value'
# ch_time_plot += p9.scale_y_continuous(limits = (1, 10))
# => TypeError: Discrete value supplied to continuous scale
ch_time_plot
我想要实现的是始终显示 y 轴 (0) 的原点。一旦我注释掉代码中显示的一行(应该这样做),我就会收到一条错误消息,并且没有更多的图表。
我的代码有什么问题?
由于使用的数据类型,上述示例中的缩放不起作用。
只要在 y 轴 timedelta64[ns]
上使用缩放就不起作用。
经过以下转换:
ch_time['change_time']= ch_time['date_trunc'] / np.timedelta64(1, 's')
图表可以适当缩放:
ch_time_plot = (p9.ggplot(data= ch_time,
mapping= p9.aes(x= 'timestamp',
y= 'change_time',
color= 'direction'))
+ p9.geom_line()
+ p9.theme(axis_text_x= p9.element_text(rotation=90))
+ p9.scale_y_continuous(limits=(0, 6))
)
到目前为止,我已经花了几个小时来完成 plotnine 中的轴缩放。 到目前为止我发现的所有内容都不起作用。
是数据吗,是定义图表的代码吗,希望大家能看出哪里不对。
数据如下:
数据类型为:
concat object
direction object
date_trunc timedelta64[ns]
comment object
timestamp datetime64[ns]
dtype: object
以下代码按预期创建图表:
ch_time_plot = (p9.ggplot(data= ch_time,
mapping= p9.aes(x= 'timestamp',
y= 'date_trunc',
color= 'direction'))
+ p9.geom_line()
+ p9.theme(axis_text_x= p9.element_text(rotation=90))
)
# ch_time_plot += p9.ylim(0,5)
# => TypeError: Discrete value supplied to continuous scale
# ch_time_plot += p9.expand_limits(y=0)
# => AttributeError: 'int' object has no attribute 'value'
# ch_time_plot += p9.scale_y_continuous(limits = (1, 10))
# => TypeError: Discrete value supplied to continuous scale
ch_time_plot
我想要实现的是始终显示 y 轴 (0) 的原点。一旦我注释掉代码中显示的一行(应该这样做),我就会收到一条错误消息,并且没有更多的图表。
我的代码有什么问题?
由于使用的数据类型,上述示例中的缩放不起作用。
只要在 y 轴 timedelta64[ns]
上使用缩放就不起作用。
经过以下转换:
ch_time['change_time']= ch_time['date_trunc'] / np.timedelta64(1, 's')
图表可以适当缩放:
ch_time_plot = (p9.ggplot(data= ch_time,
mapping= p9.aes(x= 'timestamp',
y= 'change_time',
color= 'direction'))
+ p9.geom_line()
+ p9.theme(axis_text_x= p9.element_text(rotation=90))
+ p9.scale_y_continuous(limits=(0, 6))
)