一 使用 Plotly 画图
import plotly.graph_objects as go
def img_show_fig(out_data_today):
# 创建 Plotly 的散点线图
fig = go.Figure()
# 添加散点线
fig.add_trace(go.Scatter(
x=out_data_today.index,
y=out_data_today.values,
mode='lines+markers',
marker=dict(
color='red', # 设置数据点颜色为红色
size=2, # 设置数据点大小为6
)
))
# 设定图表布局
fig.update_layout(
title='出厂水量',
xaxis_title='time',
yaxis_title='data',
width=24 * 50, # 设置图表宽度(以像素为单位)
height=12 * 50, # 设置图表高度(以像素为单位)
plot_bgcolor='rgba(0,0,0,0)', # 设置背景颜色为透明
showlegend=False, # 不显示图例
)
# 显示坐标轴的网格线和刻度
fig.update_xaxes(showgrid=True, linecolor='black', linewidth=1, tickmode='auto', ticks='outside') # 调整 x 轴线条颜色、宽度和刻度位置
fig.update_yaxes(showgrid=True, linecolor='black', linewidth=1, tickmode='auto', ticks='outside') # 调整 y 轴线条颜色、宽度和刻度位置
# 将 y 轴上的数值显示为数学数字
fig.update_layout(yaxis_tickformat='g')
# 显示图表
fig.show()
# 调用函数显示图表
img_show_fig(out_data_today)
二 dataframe
import plotly.graph_objects as go
def img_show_fig(pd):
# 创建 Plotly 的散点线图
fig = go.Figure()
# 添加第一列数据的散点线(红色)
fig.add_trace(go.Scatter(
x=pd.index,
y=pd.iloc[:, 0],
mode='lines+markers',
marker=dict(
color='red', # 设置数据点颜色为红色
size=2, # 设置数据点大小为6
),
name='Column 1' # 设置图例名称
))
# 添加第二列数据的散点线(蓝色)
fig.add_trace(go.Scatter(
x=pd.index,
y=pd.iloc[:, 1],
mode='lines+markers',
marker=dict(
color='blue', # 设置数据点颜色为蓝色
size=2, # 设置数据点大小为6
),
name='Column 2' # 设置图例名称
))
# 设定图表布局
fig.update_layout(
title='水量数据',
xaxis_title='time',
yaxis_title='data',
width=24 * 50, # 设置图表宽度(以像素为单位)
height=12 * 50, # 设置图表高度(以像素为单位)
plot_bgcolor='rgba(0,0,0,0)', # 设置背景颜色为透明
showlegend=True, # 显示图例
)
# 显示坐标轴的网格线和刻度
fig.update_xaxes(showgrid=True, linecolor='black', linewidth=1, tickmode='auto', ticks='outside', gridcolor='rgb(230, 230, 230)') # 调整 x 轴线条颜色、宽度和刻度位置
fig.update_yaxes(showgrid=True, linecolor='black', linewidth=1, tickmode='auto', ticks='outside', gridcolor='rgb(230, 230, 230)') # 调整 y 轴线条颜色、宽度和刻度位置
# 将 y 轴上的数值显示为数学数字
fig.update_layout(yaxis_tickformat='g')
# 显示图表
fig.show()
# 调用函数显示图表
img_show_fig(in_out_df)
三 画df中的几列
import plotly.graph_objects as go
def img_show_fig(df, column_names):
# 创建 Plotly 的散点线图
fig = go.Figure()
# 添加数据列的散点线
for column_name in column_names:
fig.add_trace(go.Scatter(
x=df.index,
y=df[column_name],
mode='lines+markers',
marker=dict(
size=2,
),
name=column_name
))
# 设定图表布局
fig.update_layout(
title='水量数据',
xaxis_title='time',
yaxis_title='data',
width=24 * 50, # 设置图表宽度(以像素为单位)
height=12 * 50, # 设置图表高度(以像素为单位)
plot_bgcolor='rgba(0,0,0,0)', # 设置背景颜色为透明
showlegend=True, # 显示图例
)
# 显示坐标轴的网格线和刻度
fig.update_xaxes(showgrid=True, linecolor='black', linewidth=1, tickmode='auto', ticks='outside', gridcolor='rgb(230, 230, 230)') # 调整 x 轴线条颜色、宽度和刻度位置
fig.update_yaxes(showgrid=True, linecolor='black', linewidth=1, tickmode='auto', ticks='outside', gridcolor='rgb(230, 230, 230)') # 调整 y 轴线条颜色、宽度和刻度位置
# 将 y 轴上的数值显示为数学数字
fig.update_layout(yaxis_tickformat='g')
# 显示图表
fig.show()
# 调用函数
img_show_fig(in_out_df, ['cdc_inflow_data', 'raw_inflow_data'])