- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想使用 LineCollection 创建一堆线图。以下代码绘制两条相同的正弦曲线,彼此偏移 (0, 0.2):
import matplotlib.pyplot as plt
import matplotlib.collections
import numpy as np
x=np.arange(1000)
y=np.sin(x/50.)
l=zip(x,y)
f=plt.figure()
a=f.add_subplot(111)
lines=matplotlib.collections.LineCollection((l,l), offsets=(0,0.2))
a.add_collection(lines)
a.autoscale_view(True, True, True)
plt.show()
到目前为止一切顺利。问题是我希望能够在创建后调整该偏移量。使用 set_offsets
似乎没有达到我预期的效果。例如,以下内容对图表没有影响
a.collections[0].set_offsets((0, 0.5))
顺便说一句,其他设置命令(例如 set_color
)按我的预期工作。创建曲线后如何更改曲线之间的间距?
最佳答案
我认为您在 matplotlib 中发现了一个错误,但我有一些解决方法。看起来 lines._paths
是使用您提供的偏移量在 LineCollection().__init__
中生成的。当您调用lines.set_offsets() 时,lines._paths 属性不会更新。在您的简单示例中,您可以重新生成路径,因为您仍然保留着原始路径。
lines.set_offsets( (0., 0.2))
lines.set_segments( (l,l) )
您还可以手动应用偏移量。请记住,您正在修改偏移点。因此,要获得 0.2 的偏移量,请将 0.1 添加到预先存在的 0.1 偏移量中。
lines._paths[1].vertices[:,1] += 1
关于python - 如何在创建后更改 matplotlib LineCollection 的偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6418166/
我正在使用 matplotlib 中的 linecollection 来创建类似于此示例的多色线条:http://matplotlib.org/examples/pylab_examples/mult
下面的代码应该做同样的事情 here在动画期间更新线条颜色的位置。但是,颜色没有更新。这段代码的哪一部分是错误的? import numpy as np from matplotlib import
我正在使用 LineCollection在 matplotlib 中快速绘制大量不同颜色的线条。但是,即使查看了 LineCollection 文档,我也找不到任何方法来为线条设置线条标记。使用 Li
这是与Set line colors according to colormap中给出的答案相关的派生问题其中提出了一个很好的解决方案,即根据颜色条绘制多 strip 有颜色的线条(请参见下面的代码和
我可以简化lines不知何故? 从此: fig, ax = plt.subplots() lines = np.array([[[x[i-1], y[i-1]], [x[i], y[i]]]]) li
如何在 matplotlib 中使用 LineCollection 添加或创建水平线?我试图使动画更快,并且不想重复旧的内容,但基本上我试图避免在 for 循环中使用 axhline 来构造行数组。因
我想使用 LineCollection 创建一堆线图。以下代码绘制两条相同的正弦曲线,彼此偏移 (0, 0.2): import matplotlib.pyplot as plt import mat
当我尝试在两个子图中显示 LineCollections 时,没有显示任何内容。当我只在第一个中显示它时,它就起作用了。我怎样才能让它同时显示在两者中? import numpy import mat
我想使用一个 matplotlib.collections.LineCollection 对象,从两个 Numpy 数组 x 和 y 开始 >>> from matplotlib.collection
我想使用一个 matplotlib.collections.LineCollection 对象,从两个 Numpy 数组 x 和 y 开始 >>> from matplotlib.collection
我使用以下代码创建颜色编码线图的集合: for j in idlist[i]: single_traj(lonarray, latarray, parray) plt.savefig(save
是否有一种简单的方法来压缩 numpy 列以用作 LineCollection 的输入? 当前格式 请注意,数组的元素比将要使用的元素多得多。 arr=([(x1, y1, z1, a1, b1, c
我正在尝试使用 networkx.draw 函数的输出,它是一个集合 (LineCollection),用于需要数组的 matplotlib.animation。我不想将我的图形保存为 png,因为它
我正在尝试在 python 中对形状文件制作热图。我需要制作其中的很多,所以不想每次都读入 .shp。 相反,我想我可以创建一个 map 边界的 lineCollection 实例并叠加两个图像。问题
在过去的几天里,我一直在尝试将气象站数据插值到我所在国家/地区的 map 中。我这样做如下: 加载数据,我使用插值法创建了一个网格 基于这个网格,我绘制了一个contour 和contourf 图像
在较新版本的 matplotlib (2.0.0) 中使用 LineCollection 时,图中线条的大小与图例中 handle 的线条不匹配。由于 handle 的线条比图中的线条大,因此需要使用
我是一名优秀的程序员,十分优秀!