小编nop*_*e11的帖子

从具有多个数据集的散点图中获取x,y?

我有一个散点图,由不同的散点图组成

import matplotlib.pyplot as plt
import numpy as np

def onpick3(event):
    index = event.ind
    print '--------------'
    print index
    artist = event.artist
    print artist

fig_handle = plt.figure()

x,y = np.random.rand(10),np.random.rand(10)
x1,y1 = np.random.rand(10),np.random.rand(10)

axes_size = 0.1,0.1,0.9,0.9
ax = fig_handle.add_axes(axes_size)

p = ax.scatter (x,y, marker='*', s=60, color='r', picker=True, lw=2)
p1 = ax.scatter (x1,y1, marker='*', s=60, color='b', picker=True, lw=2)

fig_handle.canvas.mpl_connect('pick_event', onpick3)
plt.show()
Run Code Online (Sandbox Code Playgroud)

我希望这些点是可单击的,并获取所选索引的x,y。但是,由于scatter被多次调用,因此两次获得相同的索引,因此无法x[index]onpick3方法内部使用

是否有一种简单的方法来获得积分?

似乎event.artist还给同样PathCollection是从还给scatterpp1在这种情况下)。但是我找不到任何方法来提取 …

python plot matplotlib

4
推荐指数
1
解决办法
2884
查看次数

调整大小后是否使文本在数据坐标系中旋转?

我正在尝试在matplotlib中旋转文本。不幸的是,旋转似乎是在显示坐标系中,而不是在数据坐标系中。那是:

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_axes([0.15, 0.1, 0.8, 0.8])
t = np.arange(0.0, 1.0, 0.01)
line, = ax.plot(t, t, color='blue', lw=2)
ax.text (0.51,0.51,"test label", rotation=45)
plt.show()
Run Code Online (Sandbox Code Playgroud)

将给出一条在数据坐标系中为45度的线,但附带的文本在显示坐标系中为45度。我想使文本和数据即使在调整大小时也要对齐。我在这里看到可以变换旋转的方法,但是只有在不调整图的大小的情况下,此方法才能起作用。我尝试编写ax.text (0.51,0.51,"test label", transform=ax.transData, rotation=45),但无论如何它似乎是默认的,并且对旋转没有帮助

有没有办法在数据坐标系中进行旋转?

编辑:

我有兴趣在绘制图形后能够调整其大小-这是因为我通常会先绘制一些图形,然后在保存图形之前先进行处理

python matplotlib

4
推荐指数
1
解决办法
331
查看次数

标签 统计

matplotlib ×2

python ×2

plot ×1