用户自定义函数两个数据集在同一个plot python上



我编写了一个用户定义的函数来制作一个绘图。我将这个图应用于两个不同的数据集。它们出现在两个不同的图中,但我想把它们绘制在同一个图上。

dictionaries = [dic_1,dic_2,dic_3,dic_4,dic_5,dic_6] # array of dictionaries
dataframes={}
#import dataframes
for dict in dictionaries:
dataframes["field_stars_" + dict["stream"]]=pd.read_csv('/home/'+dict["stream"]+'/'+dict["lens"]+'.csv')
def RMS_SNRvGMAG(dataframes,dict):
plt.scatter(dataframes["field_stars_" + dict["stream"])

RMS_SNRvGMAG(dataframes,dic_1)
RMS_SNRvGMAG(dataframes,dic_6)

其中dict包含数据集命名约定的字典。上述数据集存储在dataframes中。当我运行代码时:生成了两个数字。如何让这两个图形在同一个图上?

下面是一个开始,虽然分享一个最小的工作示例(即实际的代码和数据)将可能提供一个更好的答案。

玩具数据,和导入:

import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2 * np.pi * t)
s2 = 2 + np.sin(2 * np.pi * t)

绘图的一种方法:

fig, ax = plt.subplots()
ax.plot(t, s)  # <-- data for the first curve
ax.plot(t, s2) # <-- data for the second curve, note that they share 't'
ax.set(xlabel='time (s)', ylabel='Y',
title='Two lines')
plt.show()

的另一种选择:

plt.scatter(t,s)  # <-- you could call 'RMS_SNRvGMAG' here
plt.scatter(t,s2) 
plt.show() 

最新更新