在python中将单位添加到极坐标散点图中

时间:2016-11-02 04:36:00

标签: python plot polar-coordinates

我有这个极地散点图,我想表明距离原点的距离是用厘米来衡量的,用#34; cm标记刻度。"关于如何做到这一点的任何建议?

My plot

import numpy as np
import matplotlib.pyplot as plt


r = R
theta = o
colors = theta

ax = plt.subplot(111, projection='polar')
c = plt.scatter(theta, r, cmap=plt.cm.hsv)
c.set_alpha(0.75)

plt.show()

2 个答案:

答案 0 :(得分:0)

简单地使用plt.set_ylabel添加标签似乎无法正常工作,因为它始终位于原点。不过,有一个简单的方法。您可以在任意位置引入ax.text的文本。我的建议是,将tick标签从数据中移开,以确保标签不会被误解,然后按如下方式引入标签:

import numpy as np
import matplotlib.pyplot as plt

ax = plt.subplot(111, projection="polar")
ax.set_rlabel_position(270)                        # Moves the tick-labels
ax.text(0.52, 0.25, "cm", transform=ax.transAxes)  # Adds text
plt.show()

结果如下: PolarImage

答案 1 :(得分:0)

我做了类似的事情,应该有效:

plt.yticks(np.arange(0,np.amax(r),3),["%.1f cm" % x for x in np.arange(0,np.amax(r),3)])

np.arange(0,np.amax(r),3)中,0只是图中所需的最小刻度,3是你想要的刻度应该是。