Python 在3D绘图中,多个散射点如何通过一条线连接?

Python 在3D绘图中,多个散射点如何通过一条线连接?,python,pandas,matplotlib,3d,Python,Pandas,Matplotlib,3d,我想用一条线连接分散点,使图表更清晰易读 Zaxis是datetime格式的,所以我想这很棘手 这就是df的样子 X Y datum 15 -1.0 1.0 2006-04-29 16 0.5 1.0 2007-09-29 17 0.0 -0.5 2008-04-26 18 1.0 0.5 2010-10-30 19 -0.5 -1.0 2015-05-30 import pandas as pd import numpy as np import mat

我想用一条线连接分散点,使图表更清晰易读

Zaxis是datetime格式的,所以我想这很棘手

这就是df的样子

     X    Y      datum
15 -1.0  1.0 2006-04-29
16  0.5  1.0 2007-09-29
17  0.0 -0.5 2008-04-26
18  1.0  0.5 2010-10-30
19 -0.5 -1.0 2015-05-30

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as dates
import matplotlib as mpl
import datetime
import matplotlib.ticker as ticker
from mpl_toolkits.mplot3d import Axes3D

comm_dates=[mpl.dates.date2num(t) for t in comm.datum]
def format_date(x,pos=None):
    return dates.num2date(x).strftime("%Y-%m-%d")

fig=plt.figure()
ax=Axes3D(fig,rect=[0,0.1,1,1])

xs=comm.X
ys=comm.Y
zs=np.array(comm_dates)
ax.scatter(xs,ys,zs, zdir=zs,color="b")

ax.w_zaxis.set_major_locator(ticker.FixedLocator(comm_dates))
ax.w_zaxis.set_major_formatter(ticker.FuncFormatter(format_date))
for tl in ax.w_zaxis.get_ticklabels():
    #tl.set_ha("left")
    tl.set_rotation(-10)
我试图加几行,但把整个图表弄乱了


非常感谢您的帮助

将这一行添加到您的
ax.scatter()调用下面:

ax.plot(xs, ys, zs, zdir=zs, color="b", alpha=0.4)