Python 极坐标图中的粗体注释和记号标签(matplotlib)
我正在matplotlib中绘制极坐标散点图,每个数据点附近都有注释 我需要将注释设置为粗体(因为它们重叠),并将r轴标记标签设置为粗体(以及垂直线右侧的轴标签) 我的代码:Python 极坐标图中的粗体注释和记号标签(matplotlib),python,matplotlib,polar-coordinates,Python,Matplotlib,Polar Coordinates,我正在matplotlib中绘制极坐标散点图,每个数据点附近都有注释 我需要将注释设置为粗体(因为它们重叠),并将r轴标记标签设置为粗体(以及垂直线右侧的轴标签) 我的代码: import numpy as np import matplotlib.pyplot as plt month = ['Feb-16','Mar-16', 'Apr-16', 'May-16', 'Jun-16', 'Jul-16', 'Aug-16', 'Sep-16', 'Nov-16', 'Dec
import numpy as np
import matplotlib.pyplot as plt
month = ['Feb-16','Mar-16', 'Apr-16', 'May-16', 'Jun-16', 'Jul-16',
'Aug-16', 'Sep-16', 'Nov-16', 'Dec-16', 'Jan-17']
phi = np.array([3.272, 3.185, 3.159, 2.13, 2.879, 2.617, 2.705,
2.53, 3.228, 3.054, np.pi])
r = np.array([1006.225, 1006.083, 1007.189, 1007.0614, 1002.909, 1001.053,
1001.953, 1006.609, 1011.403, 1013.885,1013.391])
fig = plt.figure()
ax = fig.add_subplot(111, projection='polar')
c = ax.scatter(phi, r, alpha=0.75)
ax.set_ylim(1000,1014)
ax.set_xlim(np.pi/2,(7/6.)*np.pi)
ax.yaxis.set_tick_params(labelsize=12)
for i in range(len(r)):
ax.annotate(month[i],
xy=(phi[i], r[i]))
lines, labels = ax.set_thetagrids( range(90,240,30),
('12:00', '11:00', '10:00','9:00', '8:00'),
fontweight='bold')
plt.show()
产生:
有什么建议吗
谢谢 似乎目的是让一切都变得大胆。这可以通过以下方式轻松实现: 要单独控制注释的fontweight,可以使用
fontweight
参数
ax.annotate(..., fontweight="bold")
要控制y标签的字体权重,可以执行以前的操作
plt.setp(ax.get_yticklabels(), fontweight="bold")
但是,这在matplotlib 2.2中不再适用。我目前不知道替代方案是什么(或者是否可能)
如果您有一个完整的圆形图(即,如果您在此处省略了xlim
),您也可以使用set\u rgrids
等
ax.set_rgrids(range(1000,1014,2),range(1000,1014,2), fontweight="bold")
但对于楔形图,这似乎被忽略了。谢谢,但我如何分别控制它们呢?
ax.set_rgrids(range(1000,1014,2),range(1000,1014,2), fontweight="bold")