Des*_*wal 1 python data-visualization matplotlib plotly plotly-python
有没有办法控制水平线和垂直线的起点和终点plotly?
import plotly.graph_objects as go
fig = go.Figure(data=go.Scatter())
fig.add_vline(x=1, line_width=2, line_dash="dash", line_color="green")
fig.add_hline(y=2, line_width=2, line_dash="dash", line_color="red")
fig.show()
Run Code Online (Sandbox Code Playgroud)
上面的代码将绘制线条,但在整个屏幕上
我想做类似的事情:
import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize = (10,7))
ax.hlines(y=2, xmin='July', xmax='Aug', linewidth=2, color='red', linestyles = 'dotted')
ax.axvline(x = 1,color = 'green', linestyle = 'dotted', linewidth = 2)
Run Code Online (Sandbox Code Playgroud)
根据文档,add_vline将跨越绘图的整个 y 轴,并将add_hline跨越绘图的整个 x 轴。
您可以改为使用Plotly Shapesadd_shape中的图形方法,并通过使用参数, , ,指定开始和结束坐标来添加线段。x0x1y0y1
编辑:如果 x 轴上有日期时间,则可以将日期时间传递给 x 坐标参数
import plotly.express as px
import pandas as pd
df = px.data.stocks()
fig = px.line(df, x='date', y="GOOG")
vertical_date_time = pd.to_datetime("2018-07-01")
horizontal_date_time_start = pd.to_datetime("2018-04-01")
horizontal_date_time_end = pd.to_datetime("2018-10-01")
fig.add_shape(type="line", x0=vertical_date_time, y0=0.9, x1=vertical_date_time, y1=1.2, line_width=2, line_dash="dash", line_color="green")
fig.add_shape(type="line", x0=horizontal_date_time_start, y0=1.05, x1=horizontal_date_time_end, y1=1.05, line_width=2, line_dash="dash", line_color="red")
fig.show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4811 次 |
| 最近记录: |