Python极坐标图:对应于角度的图值

时间:2019-05-21 06:04:12

标签: python matplotlib

我正在尝试绘制传感器数据,该数据以不同的角度记录。

 import pandas as pd
 import matplotlib.pyplot as plt

 #create dataframe, each row contains an angle and a corresponding value
 df = pd.DataFrame(columns = ["angle","value"])
 df.angle = [0,5,10,15,20,25,30,35,40,45,50,55,60]
 df['value'] = df.apply(lambda row: 100 -row.angle/2 , axis=1)
 print(df)

 #plotting
 plt.polar(df['angle'].values,df['value'].values)
 plt.show()

这将返回:

enter image description here

但是我需要一个绘图,在0度时显示100,在5度时显示97.5,依此类推。

1 个答案:

答案 0 :(得分:2)

theta中的

plt.polar(theta, r)必须使用弧度。您可以使用以下方法创建一个新列,将角度转换为弧度:

import math
df['rad'] = df.apply(lambda row: row.angle*math.pi/180, axis=1)
plt.polar(df['rad'], df['value'])

这将导致该图:。

This plot