我有情节与一个行这样的:与曲线旋转matplotlib pyplot 90度
import numpy as np
import matplotlib.pyplot as pl
a = np.array([4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9])
b = np.array([i/len(a) for i in range(1, len(a)+1)])
aa = np.array([i/10 for i in range(40, 91)])
ss = np.array([ 0.06200455, 0.07389492, 0.08721351, 0.10198928, 0.11823225,
0.13593267, 0.15506088, 0.1755675 , 0.19738431, 0.22042543,
0.244589 , 0.26975916, 0.29580827, 0.32259936, 0.34998862,
0.377828 , 0.40596767, 0.43425846, 0.46255411, 0.49071331,
0.51860153, 0.54609255, 0.57306977, 0.5994272 , 0.62507019,
0.64991591, 0.67389356, 0.69694438, 0.71902138, 0.74008905,
0.76012273, 0.77910799, 0.79703987, 0.81392209, 0.82976609,
0.84459023, 0.85841887, 0.87128143, 0.88321163, 0.89424658,
0.90442608, 0.91379189, 0.92238706, 0.93025537, 0.93744079,
0.94398702, 0.94993712, 0.95533313, 0.96021585, 0.96462454,
0.96859684])
pl.scatter(a,b,color = "blue", marker = 'o', s = 20)
pl.plot(aa, ss, 'r-')
和我需要将其旋转,这样:
x轴应0-1(所以b
)和y轴应该反向排序,如
a2 = sorted(a, reverse = True)
aa2 = sorted(aa, reverse = True)
所以基本上按顺时针方向旋转它并改变旋转图的X轴顺序。我最近的尝试是因为这样:
pl.scatter(b,a2,color = "blue", marker = 'o', s = 20)
pl.plot(ss, aa2, 'r-')
但逻辑didnt旋转,我想要的曲线。有任何想法吗?
我试了this后,但没有什么帮助。 pl.scatter
似乎不必须orientation
属性和scipy.ndimage
retured我
File "C:\Users\rpaca\Desktop\WinPython-64bit-3.5.2.2\python-3.5.2.amd64\lib\site-packages\scipy\ndimage
\interpolation.py", line 663, in rotate
ix = input.shape[axes[1]]
IndexError: tuple index out of range
而且,在旋转的情节应该有更多的点,我会添加。所以我真的想通过改变曲线点的位置而不是使用任何模糊函数来做到这一点。我在winpython中使用python 3。
我曾经读过的最好的答案之一。 Thx很多,我完全忘了看这个问题,因为关于一个点的旋转。下一次我会更聪明! – Bobesh
也许有一个问题,为什么我围绕原点旋转(9,0.5)? – Bobesh
你不需要。任何其他的起源都很好,但由于你原来的y值在0到1之间,我认为你希望它们在旋转后处于相同的范围内,这是通过使用0.5作为中心来完成的。 – ImportanceOfBeingErnest