【源码】plotly库绘制精美折线图

本文展示了如何利用Python的Plotly库生成一个包含预测值和现实数据的折线图,用于展示Xgboost模型的预测效果,通过添加Scatter图和定制布局进行数据可视化。
摘要由CSDN通过智能技术生成

plotly库绘制精美折线图

代码

       可以直接运行,风格已经设置好了

import numpy as np
import plotly.graph_objects as go


x = np.linspace(0, 100, 100)
y_pred = np.random.random(100) * 1000
y_truth = np.random.random(100) * 1200

fig = go.Figure()
fig.add_trace(
    go.Scatter(
        name="Predict",
        x=x,
        y=y_pred,
        mode="markers+lines+text",
        marker = dict(size=7, symbol="diamond-open"),
        line_color='purple',
        #text=area_fire.astype('int'),
        textposition="top center"
))
fig.add_trace(
    go.Scatter(
        name="Reality",
        x=x,
        y=y_truth,
        mode="markers+lines+text",
        marker = dict(size=7, symbol="circle"),
        line=dict(color='royalblue', width=4, dash='dot'),
        line_color='orange',
        #text=area_nucleus.astype('int'),
        textposition="top center"
))
fig.update_layout(
        font=dict(family="Times New Roman",
                  size=16,
#                   color="RebeccaPurple",
#                   weight="bold",
                  ),
        title="Xgboost预测结果",
        title_x=0.5,
        title_y=0.9,
        xaxis=dict(title="Sample",
                   nticks=len(x),
                   showgrid=True,
                   showline=True,
                   showticklabels=True,
                   gridwidth=1,
                   # zeroline=True,
                   tickangle=0,
                   linecolor = '#636363',
                   tickfont = dict(
                          family = '宋体',
                          size = 14,
                          color = 'black'
                              ),
                  tickmode = 'linear',
                  range=[-1, 30],
                  tick0 = 1,
                  dtick = 1),
        yaxis=dict(title="Power",
#                    nticks=,
                   rangemode="tozero",
                   linecolor = '#636363',
                   showgrid=True,
                   showline=True,
                   showticklabels=True,
                   zeroline=True,
                   gridwidth=1,
                   tickfont = dict(
                          family = '宋体',
                          size = 12,
                          color = 'black'
                              )),
        legend={
                   'x': 0.35,
                   'y': 1.1,
                   'font': {
                       'size': 18
                   },
                   'orientation': 'h'
               },
        width=800,
        height=500,
        template='plotly_white'  # plotly_dark   plotly_white
    )

fig.show()
# fig.write_image(img.png", scale=5)

运行结果

请添加图片描述

### 回答1: MATLAB可以使用plot函数绘制密集折线图。密集折线图是指在坐标轴上绘制大量的线条,通常用于显示时间序列或者连续数据的变化趋势。 以下是一个简单的MATLAB绘制密集折线图源码示例: ``` % 生成随机数据 n = 100; % 数据点个数 x = 1:n; % x轴数据 y = randn(1, n); % y轴随机数据 % 绘制密集折线图 plot(x, y, 'Color', [0.5, 0.5, 0.5], 'LineWidth', 0.5) % 设置坐标轴标题 xlabel('X轴') ylabel('Y轴') % 设置图形标题 title('密集折线图示例') % 设置坐标轴范围 xlim([min(x), max(x)]) ylim([min(y), max(y)]) % 设置坐标轴刻度样式 set(gca, 'TickDir', 'out') % 隐藏坐标轴上的刻度线 set(gca, 'Xtick', [], 'Ytick', []) % 添加网格线 grid on ``` 以上示例代码中,首先生成了100个随机数据点,然后使用plot函数绘制了密集折线图。其中,'Color'参数设置线条颜色为灰色,'LineWidth'参数设置线条宽度为0.5。接着使用xlabel和ylabel函数设置坐标轴标题,使用title函数设置图形标题。通过设置xlim和ylim函数可以调整坐标轴范围。使用set函数可以调整坐标轴刻度样式和隐藏刻度线。最后,通过调用grid on函数添加网格线。 可以根据需要修改以上源码中的参数和样式,以获得符合自己要求的密集折线图。 ### 回答2: Matlab 绘制密集折线图源码可以参考以下示例: ``` % 创建示例数据 x = linspace(0, 10, 100); % x轴数据 y = sin(x); % y轴数据 % 绘制密集折线图 figure; % 创建新的图形窗口 p = plot(x, y); % 绘制折线图 p.LineWidth = 2; % 设置线条宽度 p.Marker = 'o'; % 设置数据点的标记形状 p.MarkerSize = 6; % 设置数据点的大小 p.MarkerFaceColor = 'red'; % 设置数据点的填充色 % 设置坐标轴标签和标题 xlabel('x'); ylabel('y'); title('密集折线图'); % 设置图例 legend('sin(x)', 'Location', 'northwest'); % 设置坐标轴范围 xlim([0, 10]); ylim([-1, 1]); % 添加网格线 grid on; % 保存图像为PNG格式 saveas(gcf, '密集折线图.png'); ``` 上述源码首先创建了一个示例数据,然后绘制了一个密集折线图,通过设置线条宽度、数据点标记等属性来美化图形,同时也设置了坐标轴标签、标题、图例、坐标轴范围,并添加了网格线。最后,将图像保存为PNG格式文件。 注意:以上源码仅为示例,实际使用时可以根据需要进行修改和调整。 ### 回答3: Matlab绘制密集折线图源码如下: ``` % 创建一个figure窗口 figure; % 生成数据 x = linspace(0, 10, 100); % 生成100个从0到10的等间隔数据 y1 = sin(x); % 计算y1值 y2 = cos(x); % 计算y2值 % 绘制密集折线图 plot(x, y1, 'r-', 'LineWidth', 1.5); % 绘制红色线条的y1 hold on; % 保持当前图形并添加新图形 plot(x, y2, 'b--', 'LineWidth', 1.5); % 绘制蓝色虚线的y2 % 添加标题和图例 title('密集折线图'); % 添加标题 legend('y1 = sin(x)', 'y2 = cos(x)'); % 添加图例 % 设置坐标轴标签 xlabel('x'); % 设置x轴标签 ylabel('y'); % 设置y轴标签 % 设置坐标轴范围 xlim([0, 10]); % 设置x轴范围为0到10 ylim([-1, 1]); % 设置y轴范围为-1到1 % 设置背景颜色 set(gca, 'Color', [0.9, 0.9, 0.9]); % 设置图像背景颜色为浅灰色 % 显示图形 grid on; % 打开网格线 box on; % 打开坐标轴边框 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值