我想删除一些数据绘制在python matplotlib上的散点图。我绘制了一些分散的数据和一些“阴谋”行数据MatPlotLib Scatterplot去除
要删除我用的是“阴谋”行数据:del self.plot1.lines[0]
什么是等效的命令删除散点图?我似乎无法找到它。
我想删除一些数据绘制在python matplotlib上的散点图。我绘制了一些分散的数据和一些“阴谋”行数据MatPlotLib Scatterplot去除
要删除我用的是“阴谋”行数据:del self.plot1.lines[0]
什么是等效的命令删除散点图?我似乎无法找到它。
散点图实际上是一系列线条(圆圈要求严格)。
如果您将散点图存储在可以访问其属性的对象中,则其中一个名为set_visible。这里有一个例子:
"""
make a scatter plot with varying color and size arguments
code mostly from:
http://matplotlib.sourceforge.net/mpl_examples/pylab_examples/scatter_demo2.py
"""
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import matplotlib.cbook as cbook
# load a numpy record array from yahoo csv data with fields date,
# open, close, volume, adj_close from the mpl-data/example directory.
# The record array stores python datetime.date as an object array in
# the date column
datafile = cbook.get_sample_data('/usr/share/matplotlib/sampledata/goog.npy')
#datafile = /usr/share/matplotlib/sampledata
r = np.load(datafile).view(np.recarray)
r = r[-250:] # get the most recent 250 trading days
delta1 = np.diff(r.adj_close)/r.adj_close[:-1]
# size in points ^2
volume = (15*r.volume[:-2]/r.volume[0])**2
close = 0.003*r.close[:-2]/0.003*r.open[:-2]
fig = plt.figure()
ax = fig.add_subplot(111)
## store the scatter in abc object
abc=ax.scatter(delta1[:-1], delta1[1:], c=close, s=volume, alpha=0.75)
### if you comment that line of set False to True, you'll see what happens.
abc.set_visible(False)
#ticks = arange(-0.06, 0.061, 0.02)
#xticks(ticks)
#yticks(ticks)
ax.set_xlabel(r'$\Delta_i$', fontsize=20)
ax.set_ylabel(r'$\Delta_{i+1}$', fontsize=20)
ax.set_title('Volume and percent change')
ax.grid(True)
plt.show()
Oz123's answer部分地回答了这个问题,但他的解决方案将线性膨胀你的图形大小在内存中。如果你正在处理大量数据,这不是一个选项。
谢天谢地,其中一个散点图对象的方法是remove
。
如果将行abc.set_visible(False)
更改为abc.remove()
,结果看起来是相同的,但散点图现在实际上已从图中删除,而不是设置为不可见。
感谢您的分享! – Oz123 2013-02-08 12:03:20
有帮助,但不是我(或我认为提问者)正在寻找的东西。 – Poik 2013-02-07 16:14:43