创建 Plotly 的散点线图

一 使用 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'])

四 调整尺寸 (输入名称为列表)

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=0.1,
            ),
            name=column_name
        ))
 
    # 设定图表布局
    fig.update_layout(
        title='水量数据',
        xaxis_title='time',
        yaxis_title='data',
        width=27 * 50,  # 设置图表宽度(以像素为单位)
        height=9 * 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'])

五 调整显示格式

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=0.1,
            ),
            name=column_name
        ))
 
    # 设定图表布局
    fig.update_layout(
        title='水量数据',
        xaxis_title='time',
        yaxis_title='data',
        width=21 * 50,  # 设置图表宽度(以像素为单位)
        height=9 * 50,  # 设置图表高度(以像素为单位)
        plot_bgcolor='rgba(0,0,0,0)',  # 设置背景颜色为透明
        showlegend=True,  # 显示图例
    )
 
    # 显示坐标轴的网格线和刻度  # 调整 x 轴线条颜色、宽度和刻度位置  # 调整 y 轴线条颜色、宽度和刻度位置
    fig.update_xaxes(showgrid=True, linecolor='black', linewidth=1, tickmode='auto', ticks='outside', 
                     gridcolor='rgb(230, 230, 230)', dtick='M1d1', tickformat="%m-%d")
    fig.update_yaxes(showgrid=True, linecolor='black', linewidth=1, tickmode='auto', ticks='outside', gridcolor='rgb(230, 230, 230)')  
 
    # 将 y 轴上的数值显示为数学数字
    fig.update_layout(yaxis_tickformat='g')
 
    # 显示图表
    fig.show()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值