2021-07-14 python 风玫瑰图记录

参考了董老师代码:

https://blog.csdn.net/dongfuguo/article/details/104865517


import matplotlib.pyplot as plt

from matplotlib import font_manager

import seaborn as sns

import pandas as pd

import numpy as np

# 极坐标

ax=plt.subplot(111,projection='polar')

value=[3,2,5,2,3,10,4,3,3,4,4,2]

yuanxin1=40 #好像不完全生效

yuanxin2=yuanxin1-2

yuanxin3=yuanxin1+max(value)+2

N=len(value)

theta = np.linspace(0.0, 2 * np.pi, N, endpoint=False)

setcolor=sns.color_palette("BrBG", len(value))

ax.bar(theta,value,#角度对应位置,半径对应高度

      width=0.4,#宽度

      color=setcolor,#颜色

      #align='edge',#从制定角度的径向开始绘制

      bottom=yuanxin1 #远离圆心的距离


      )

value2=["1"]*len(value)

ax.bar(theta,value2,#角度对应位置,半径对应高度

      width=0.4,#宽度

      #color=np.random.random((len(value),3)),#颜色

      color=setcolor,#颜色

      #align='edge',#从制定角度的径向开始绘制

      bottom=yuanxin2 #远离圆心的距离


      )

colors_quan=['whitesmoke'] * len(value)

value3=["2"]*len(value)

ax.bar(theta,value3,#角度对应位置,半径对应高度

      width=0.4,#宽度

      color=colors_quan,#颜色

      #align='edge',#从制定角度的径向开始绘制

      bottom=yuanxin3 #远离圆心的距离


      )

# 不显示坐标轴

plt.axis("off")

plt.show()

####  图是半成品,没有研究明白如何添加图例和注解。

效果:


你可能感兴趣的:(2021-07-14 python 风玫瑰图记录)