绘制更改负 y 轴值。例如将 -1 更改为 (1)
Plotly change negative y axis values. e.g. change -1 to (1)
我想尝试绘制这个 Example graph,这样 y 值就不是 -2 而是 (2)
首先要注意的是(2)
是一个字符串。由于您不能将刻度文本的数据类型混合在一起,因此您需要将每个 y 轴刻度标签更改为字符串,而不仅仅是 -2,这意味着您需要将 -2 的刻度值映射到刻度文本,即字符串'(2)'、0 到'0'、2 到'2' 等等...我承认它很丑,但我想不出其他解决方法。
有关刻度文本和文本值的更多信息,请参见 Plotly documentation。
import pandas as pd
import numpy as np
import plotly.graph_objects as go
## recreate some random timeseries data
np.random.seed(42)
df = pd.DataFrame({
'date':pd.date_range("2021-01-01","2022-01-01", freq="d"),
'x1':np.random.uniform(low=-2.0, high=2.0, size=366),
'x2':np.random.uniform(low=4.0, high=8.0, size=366)
})
## plot your data on the fig
fig=go.Figure()
fig.add_trace(go.Scatter(
x=df.date,
y=df.x1,
mode='lines'
)
)
fig.add_trace(go.Scatter(
x=df.date,
y=df.x2,
mode='lines',
line=dict(color='black', dash='dash')
)
)
## map each of the tickvals to the desired ticktext
fig.update_layout(
yaxis=dict(
tickmode='array',
tickvals=[-2, 0, 2, 4, 6, 8],
ticktext=['(2)', '0', '2', '4', '6', '8']
)
)
fig.show()
我想尝试绘制这个 Example graph,这样 y 值就不是 -2 而是 (2)
首先要注意的是(2)
是一个字符串。由于您不能将刻度文本的数据类型混合在一起,因此您需要将每个 y 轴刻度标签更改为字符串,而不仅仅是 -2,这意味着您需要将 -2 的刻度值映射到刻度文本,即字符串'(2)'、0 到'0'、2 到'2' 等等...我承认它很丑,但我想不出其他解决方法。
有关刻度文本和文本值的更多信息,请参见 Plotly documentation。
import pandas as pd
import numpy as np
import plotly.graph_objects as go
## recreate some random timeseries data
np.random.seed(42)
df = pd.DataFrame({
'date':pd.date_range("2021-01-01","2022-01-01", freq="d"),
'x1':np.random.uniform(low=-2.0, high=2.0, size=366),
'x2':np.random.uniform(low=4.0, high=8.0, size=366)
})
## plot your data on the fig
fig=go.Figure()
fig.add_trace(go.Scatter(
x=df.date,
y=df.x1,
mode='lines'
)
)
fig.add_trace(go.Scatter(
x=df.date,
y=df.x2,
mode='lines',
line=dict(color='black', dash='dash')
)
)
## map each of the tickvals to the desired ticktext
fig.update_layout(
yaxis=dict(
tickmode='array',
tickvals=[-2, 0, 2, 4, 6, 8],
ticktext=['(2)', '0', '2', '4', '6', '8']
)
)
fig.show()