Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python MatPlotLib:同一散点图上的多个数据集_Python_Scipy_Matplotlib - Fatal编程技术网

Python MatPlotLib:同一散点图上的多个数据集

Python MatPlotLib:同一散点图上的多个数据集,python,scipy,matplotlib,Python,Scipy,Matplotlib,我想在同一散点图上绘制多个数据集: cases = scatter(x[:4], y[:4], s=10, c='b', marker="s") controls = scatter(x[4:], y[4:], s=10, c='r', marker="o") show() 以上仅显示最近的scatter() 我也试过: plt = subplot(111) plt.scatter(x[:4], y[:4], s=10, c='b', marker="s") plt.scatter(x[4:

我想在同一散点图上绘制多个数据集:

cases = scatter(x[:4], y[:4], s=10, c='b', marker="s")
controls = scatter(x[4:], y[4:], s=10, c='r', marker="o")

show()
以上仅显示最近的
scatter()

我也试过:

plt = subplot(111)
plt.scatter(x[:4], y[:4], s=10, c='b', marker="s")
plt.scatter(x[4:], y[4:], s=10, c='r', marker="o")
show()

您需要对
轴的引用
对象才能在同一子地块上保持绘图

import matplotlib.pyplot as plt

x = range(100)
y = range(100,200)
fig = plt.figure()
ax1 = fig.add_subplot(111)

ax1.scatter(x[:4], y[:4], s=10, c='b', marker="s", label='first')
ax1.scatter(x[40:],y[40:], s=10, c='r', marker="o", label='second')
plt.legend(loc='upper left');
plt.show()

我不知道,它对我来说很好用。精确命令:

import scipy, pylab
ax = pylab.subplot(111)
ax.scatter(scipy.randn(100), scipy.randn(100), c='b')
ax.scatter(scipy.randn(100), scipy.randn(100), c='r')
ax.figure.show()

如果您的数据以数据帧表示,也可以在Pandas中轻松完成此操作,如下所述:


我遇到了这个问题,因为我遇到了完全相同的问题。虽然接受的答案很好,但对于matplotlib版本
2.1.0
,在一个图中有两个散点图而不使用对
轴的引用是非常直接的

import matplotlib.pyplot as plt

plt.scatter(x,y, c='b', marker='x', label='1')
plt.scatter(x, y, c='r', marker='s', label='-1')
plt.legend(loc='upper left')
plt.show()

它叠加在同一行上。我的数据集是重叠的:)图中的
111
是什么意思。第一个数字是子地块的行数;第二个数字是子批次的列数;第三个数字是你现在谈论的子图。在本例中,有一行一列的子图(即一个子图),轴是指第一个子图。类似fig.add_子图(3,2,5)的东西将是三行两列网格中左下方的子图。如果我需要绘制三个散点图而不是此处显示的两个散点图,该怎么办?@NixMan没有任何变化,它使用相同的设置。我可以对第三个散点图使用相同的方法吗?比如,plt.scatter(x,y,c='g',marker='o',label='2')