我在绘制极坐标图时遇到问题。除了一个条目,我的数据非常小。当我绘制它时,似乎所有条目都处于同一级别,这是错误的。
设置和数据:
基本上,我得到的是定义位置的两个角度(p和n),以及定义此位置的强度的幂。
import numpy as np
import matplotlib.pyplot as plt
angle_n = np.array([-81.545 , -68.838 , -63.755 , -62.215 , -63.755 , -68.838 ,
-81.545 , -70.76 , -59.292 , -52.565 , -48.751 , -47.498 ,
-48.751 , -52.565 , -59.292 , -70.76 , -70.76 , -56.523 ,
-47.498 , -41.256 , -37.442 , -36.143 , -37.442 , -41.256 ,
-47.498 , -56.523 , -70.76 , -81.545 , -59.292 , -47.498 ,
-38.725 , -32.116 , -27.793 , -26.254 , -27.793 , -32.116 ,
-38.725 , -47.498 , -59.292 , -81.545 , -68.838 , -52.565 ,
-41.256 , -32.116 , -24.649 , -19.251 , -17.152 , -19.251 ,
-24.649 , -32.116 , -41.256 , -52.565 , -68.838 , -63.755 ,
-48.751 , -37.442 , -27.793 , -19.251 , -12.036 , -8.4792,
-12.036 , -19.251 , -27.793 , -37.442 , -48.751 , -63.755 ,
-62.215 , -47.498 , -36.143 , -26.254 , -17.152 , -8.4792,
0. , 8.4792, 17.152 , 26.254 , 36.143 , 47.498 ,
62.215 , 63.755 , 48.751 , 37.442 , 27.793 , 19.251 ,
12.036 , 8.4792, 12.036 , 19.251 , 27.793 , 37.442 ,
48.751 , 63.755 , 68.838 , 52.565 , 41.256 , 32.116 ,
24.649 , 19.251 , 17.152 , 19.251 , 24.649 , 32.116 ,
41.256 , 52.565 , 68.838 , 81.545 , 59.292 , 47.498 ,
38.725 , 32.116 , 27.793 , 26.254 , 27.793 , 32.116 ,
38.725 , 47.498 , 59.292 , 81.545 , 70.76 , 56.523 ,
47.498 , 41.256 , 37.442 , 36.143 , 37.442 , 41.256 ,
47.498 , 56.523 , 70.76 , 70.76 , 59.292 , 52.565 ,
48.751 , 47.498 , 48.751 , 52.565 , 59.292 , 70.76 ,
81.545 , 68.838 , 63.755 , 62.215 , 63.755 , 68.838 , 81.545 ])
angle_p = np.array([ 26.565 , 18.435 , 9.4623, 0. , -9.4623, -18.435 ,
-26.565 , 38.66 , 30.964 , 21.801 , 11.31 , 0. ,
-11.31 , -21.801 , -30.964 , -38.66 , 51.34 , 45. ,
36.87 , 26.565 , 14.036 , 0. , -14.036 , -26.565 ,
-36.87 , -45. , -51.34 , 63.435 , 59.036 , 53.13 ,
45. , 33.69 , 18.435 , 0. , -18.435 , -33.69 ,
-45. , -53.13 , -59.036 , -63.435 , 71.565 , 68.199 ,
63.435 , 56.31 , 45. , 26.565 , 0. , -26.565 ,
-45. , -56.31 , -63.435 , -68.199 , -71.565 , 80.538 ,
78.69 , 75.964 , 71.565 , 63.435 , 45. , 0. ,
-45. , -63.435 , -71.565 , -75.964 , -78.69 , -80.538 ,
90. , 90. , 90. , 90. , 90. , 90. ,
0. , 90. , 90. , 90. , 90. , 90. ,
90. , -80.538 , -78.69 , -75.964 , -71.565 , -63.435 ,
-45. , 0. , 45. , 63.435 , 71.565 , 75.964 ,
78.69 , 80.538 , -71.565 , -68.199 , -63.435 , -56.31 ,
-45. , -26.565 , 0. , 26.565 , 45. , 56.31 ,
63.435 , 68.199 , 71.565 , -63.435 , -59.036 , -53.13 ,
-45. , -33.69 , -18.435 , 0. , 18.435 , 33.69 ,
45. , 53.13 , 59.036 , 63.435 , -51.34 , -45. ,
-36.87 , -26.565 , -14.036 , 0. , 14.036 , 26.565 ,
36.87 , 45. , 51.34 , -38.66 , -30.964 , -21.801 ,
-11.31 , 0. , 11.31 , 21.801 , 30.964 , 38.66 ,
-26.565 , -18.435 , -9.4623, 0. , 9.4623, 18.435 , 26.565 ])
power = np.array([ 9.73210000e-05, 8.18640000e-05, 5.30620000e-06,
1.55550000e-06, 5.40130000e-06, 8.23160000e-05,
9.72570000e-05, 2.53220000e-04, 1.12790000e-05,
1.91370000e-04, 1.20200000e-04, 4.27250000e-05,
1.20510000e-04, 1.91150000e-04, 1.09320000e-05,
2.52660000e-04, 4.06920000e-04, 1.81860000e-04,
3.05000000e-04, 1.02440000e-04, 2.71140000e-04,
2.15500000e-04, 2.70140000e-04, 1.01420000e-04,
3.05370000e-04, 1.81650000e-04, 4.07740000e-04,
2.44690000e-04, 1.13910000e-05, 3.85200000e-04,
5.60350000e-04, 1.88400000e-04, 2.60410000e-04,
4.21440000e-04, 2.58770000e-04, 1.89750000e-04,
5.59970000e-04, 3.86120000e-04, 1.13540000e-05,
2.45440000e-04, 3.28930000e-04, 6.07100000e-04,
1.96180000e-04, 2.65270000e-04, 1.31040000e-03,
2.74310000e-05, 4.56410000e-04, 2.81450000e-05,
1.30970000e-03, 2.66240000e-04, 1.95680000e-04,
6.07600000e-04, 3.30050000e-04, 1.30440000e-04,
6.27760000e-04, 1.03400000e-03, 5.85340000e-04,
1.24640000e-04, 2.20030000e-03, 2.40090000e-04,
2.19610000e-03, 1.24960000e-04, 5.85290000e-04,
1.03500000e-03, 6.28160000e-04, 1.30400000e-04,
3.10650000e-05, 5.00850000e-04, 1.20480000e-03,
1.25920000e-03, 5.91980000e-04, 8.12190000e-04,
3.46180000e-01, 8.09610000e-04, 5.93080000e-04,
1.26120000e-03, 1.20530000e-03, 5.00900000e-04,
3.09280000e-05, 1.30600000e-04, 6.27910000e-04,
1.03490000e-03, 5.86360000e-04, 1.23470000e-04,
2.20150000e-03, 2.34910000e-04, 2.19730000e-03,
1.23840000e-04, 5.86220000e-04, 1.03590000e-03,
6.28410000e-04, 1.30560000e-04, 3.28900000e-04,
6.08450000e-04, 1.97390000e-04, 2.63930000e-04,
1.31250000e-03, 2.68700000e-05, 4.56070000e-04,
2.75190000e-05, 1.31180000e-03, 2.64930000e-04,
1.96870000e-04, 6.09000000e-04, 3.30110000e-04,
2.45120000e-04, 1.16840000e-05, 3.84190000e-04,
5.61060000e-04, 1.87310000e-04, 2.60190000e-04,
4.21280000e-04, 2.58520000e-04, 1.88640000e-04,
5.60700000e-04, 3.85130000e-04, 1.16340000e-05,
2.45890000e-04, 4.06060000e-04, 1.82190000e-04,
3.04070000e-04, 1.02880000e-04, 2.71300000e-04,
2.14400000e-04, 2.70250000e-04, 1.01810000e-04,
3.04460000e-04, 1.81940000e-04, 4.06900000e-04,
2.53170000e-04, 1.15530000e-05, 1.91840000e-04,
1.19750000e-04, 4.27450000e-05, 1.20010000e-04,
1.91580000e-04, 1.11720000e-05, 2.52690000e-04,
9.76480000e-05, 8.18080000e-05, 5.32040000e-06,
1.49980000e-06, 5.39620000e-06, 8.22070000e-05,
9.75410000e-05])
我想要实现的目标:
我想绘制一个极坐标图,其中图的每个圆都定义angle_n,圆上的每个位置都定义angle_p。电源应通过颜色可视化。
这是一个示例图:
这是我到目前为止尝试过的:
r = angle_n
theta = angle_p
colors = np.divide(power,10**(-4))
fig = plt.figure()
ax = fig.add_subplot(111, projection='polar')
c = ax.scatter(theta, r, c=colors, cmap='hsv', alpha=0.75)
fig.colorbar(c)
如您所见,我无法正确配合电源的颜色(即将消失),并且我也不确定我定义图的方式(即angle_n,angle_p)是否正确好的。
问题的根源 功率值都非常低,只有一点:
plt.plot(power)
我将不胜感激! 谢谢。