Python 从两个数据帧的多列向散点图添加线
我正在从两个熊猫数据帧的多列创建散点图,并希望用线连接标记。下面是一些示例代码 创建两个数据帧:Python 从两个数据帧的多列向散点图添加线,python,pandas,scatter-plot,Python,Pandas,Scatter Plot,我正在从两个熊猫数据帧的多列创建散点图,并希望用线连接标记。下面是一些示例代码 创建两个数据帧: inYs= pd.DataFrame(np.random.uniform(low=0.3, high=0.450, size=(100))) inYs[1]= np.random.uniform(low=0.1, high=0.2, size=(100)) inYs[2]= np.random.uniform(low=0.03, high=0.05, size=(100)) inYs[3]= np.
inYs= pd.DataFrame(np.random.uniform(low=0.3, high=0.450, size=(100)))
inYs[1]= np.random.uniform(low=0.1, high=0.2, size=(100))
inYs[2]= np.random.uniform(low=0.03, high=0.05, size=(100))
inYs[3]= np.random.uniform(low=0, high=0.02, size=(100))
inYs=inYs.T
inXs=pd.DataFrame(np.random.uniform(low=0.3, high=0.0, size=(100)))
inXs[1]=np.random.uniform(low=5.0, high=3.5, size=(100))
inXs[2]=np.random.uniform(low=7.5, high=5.0, size=(100))
inXs[3]=np.random.uniform(low=10, high=9, size=(100))
inXs=inXs.T
fig = plt.figure(figsize=(17, 10))
fig.clf()
ax1 = plt.axes()
for i in np.arange(1, 100):
for (x,y)in zip(inXs[i],inYs[i]):
ax1.plot(x, y,"-p", color='grey')
通过迭代两个数据帧的列来创建散点图:
inYs= pd.DataFrame(np.random.uniform(low=0.3, high=0.450, size=(100)))
inYs[1]= np.random.uniform(low=0.1, high=0.2, size=(100))
inYs[2]= np.random.uniform(low=0.03, high=0.05, size=(100))
inYs[3]= np.random.uniform(low=0, high=0.02, size=(100))
inYs=inYs.T
inXs=pd.DataFrame(np.random.uniform(low=0.3, high=0.0, size=(100)))
inXs[1]=np.random.uniform(low=5.0, high=3.5, size=(100))
inXs[2]=np.random.uniform(low=7.5, high=5.0, size=(100))
inXs[3]=np.random.uniform(low=10, high=9, size=(100))
inXs=inXs.T
fig = plt.figure(figsize=(17, 10))
fig.clf()
ax1 = plt.axes()
for i in np.arange(1, 100):
for (x,y)in zip(inXs[i],inYs[i]):
ax1.plot(x, y,"-p", color='grey')
这就产生了一个
,但尽管使用了线型“-p”(我尝试了几种不同的线型),标记仍然没有连接
我将非常感谢在遍历列时如何加入散点图标记的想法。或者有没有一种方法可以通过以另一种方式迭代x值和y值集来创建多个线图
我一直在试图找到一个解决办法,所以几个小时,但仍然无法找出我在这里做错了什么。这是我第一次放弃并提出一个问题,所以请原谅我,如果这对更有经验的程序员来说是显而易见的 问题是,绘制的(x,y)-对是单点。如果根据x值列表打印y列表,则会打印标记之间的连接。哪些标记应连接到哪些其他标记?应将其打包到上述列表中
举个例子,y-list和x-list是如何生成绘制线的;当然我怀疑这是你想要创造的情节
fig = plt.figure(figsize=(17, 10))
fig.clf()
ax1 = plt.axes()
for i in np.arange(1, 100):
for (x,y)in zip(inXs[i],inYs[i]):
ax1.plot(inXs[i], inYs[i], 'o-')
谢谢,这非常有帮助,我似乎根本不需要这一行:“zip中的(x,y)(inXs[I],inYs[I])”,这在回顾时很有意义,因为我想绘制列而不是单个点。再次感谢!