python好看的折线图_Python:画图之不错的折线图代码

本文分享了一段使用Python的Plotly库绘制美观折线图的代码,包括时间轴、多条线的展示以及局部放大的功能。代码通过创建Scatter对象并设置Layout生成交互式HTML文件,提供了数据可视化的实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是一个师兄交付的代码中的一段,他这个方法画出来的图是真的很好用,自己现在画什么都用这个方法来画,所以分享给大家。

import下面一段为简单的赋值,df_part1是三条线的横坐标,为时间字符串;剩下的df_part234分别为一些随机数。import numpy as np

import datetime

from plotly.graph_objs import *

import plotly.offline as py_offline

import random

df_part1 = []

df_part2 = []

df_part3 = []

df_part4 = []

for i in np.arange(20180501,20180531,1):

i = str(i)

a = datetime.datetime.strptime(i, '%Y%m%d')

df_part1.append(a)

df_part2.append(random.uniform(0, 30))

df_part3.append(random.uniform(10, 20))

df_part4.append(random.uniform(5, 50))

scatter_1 = Scatter(

x=df_part1,

y=df_part2,

mode='lines',

name='abc_1'

)

scatter_2 = Scatter(

x=df_part1,

y=df_part3,

mode='lines',

name='abc_2'

)

scatter_3 = Scatter(

x=df_part1,

y=df_part4,

mode='lines',

name='abc_3'

)

plot_data = Data([scatter_1,scatter_2,scatter_3])

layout = Layout(

title='tryingline'

)

fig = Figure(data=plot_data, layout=layout)

py_offline.plot(fig, filename='try')

layout = Layout(

title='try',

showlegend=False

)

1b162a2bdcafe9bc0e26282168a60c5f.png

生成的是一个HTML文件,文件名为try。

首先,我觉得X轴的时间写法挺好看的;

其次,三条线画在这一张画布上,右上角的小图标,可以选择显示哪条线;

cda5d49d69ae2b852bbeb2f1b69fce13.png

最后,在画布上框选部分区域,可以局部放大,而且不失真。如果数据量比较大,可以清晰地局部放大真的非常有用。

放大前:

da5fb56c569459bf1dc39d87d549ca6f.png

放大后:

好的,关于您的问题,我可以回答您的第二个问题,并提供一些有关您第一个问题的信息。 关于Python画图函数大全,以下是一些常用的Python画图函数及其用途: 1. matplotlib.pyplot.plot():绘制线条图 2. matplotlib.pyplot.scatter():绘制散点图 3. matplotlib.pyplot.bar():绘制柱状图 4. matplotlib.pyplot.hist():绘制直方图 5. matplotlib.pyplot.boxplot():绘制箱线图 6. matplotlib.pyplot.imshow():绘制图像 7. seaborn.lineplot():绘制线条图 8. seaborn.scatterplot():绘制散点图 9. seaborn.barplot():绘制柱状图 10. seaborn.histplot():绘制直方图 11. seaborn.boxplot():绘制箱线图 12. seaborn.heatmap():绘制热力图 关于您的第一个问题,如果您想用Python每隔一段时间折线图,您可以使用matplotlib库中的animation模块。以下是一个简单的示例代码: ``` import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation # 生成随机数据 x_data = np.arange(0, 10, 0.1) y_data = np.sin(x_data) # 初始化图像 fig, ax = plt.subplots() line, = ax.plot(x_data, y_data) # 更新函数 def update(frame): y_data = np.sin(x_data + frame * 0.1) line.set_ydata(y_data) return line, # 动函数 ani = FuncAnimation(fig, update, frames=100, interval=50, blit=True) # 显示动 plt.show() ``` 这个示例代码会每隔50毫秒更新一次折线图,总共更新100次,您可以根据需要调整更新的时间间隔和更新的次数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值