一:先安装软件,任意一个都可以
PyCharm安装教程
https://www.cnblogs.com/du-hong/p/10244304.html
Anaconda安装教程
https://blog.csdn.net/ITLearnHall/article/details/81708148
二:相关软件以及Python库的知识讲解:
PyCharm概述
PyCharm是一个Python IDE,它附带了一套工具,可以帮助用户在使用Python进行开发时提高效率,比如调试、语法突出显示、项目管理、代码跳转、智能提示、自动完成、单元测试和版本控制。此外,IDE还提供了一些高级功能来支持Django框架下的专业Web开发。
Anaconda概述
Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统。它提供包管理和环境管理功能。它可以很容易地解决多版本Python共存、切换和各种第三方包的安装问题。Anaconda利用工具/命令conda来进行包管理和环境管理,并且已经包括了Python和相关的支持工具。
 conda可以理解为一个工具和一个可执行的命令。它的核心功能是包管理与环境管理。包管理类似于pip,环境管理允许用户轻松安装不同版本的python并在它们之间快速切换。Anaconda则是一个打包的集合,里面预装好了conda、某个版本的Python、众多packages、科学计算工具等等。它也被称为Python的一个发行版。
Jupyter Notebook概述
Jupyter Notebook(此前被叫做 IPython notebook)是一款支持40多种编程语言的交互式笔记本。Jupyter Notebooks 是一个开源的网络应用程序,我们可以使用它来创建和共享代码和文档。它提供了一种环境,在这种环境中,您可以编写代码、运行代码、查看输出、可视化数据和查看结果,而不需要离开环境。因而,它是执行端到端数据科学工作流的一个方便工具,包括数据清理、统计建模、构建和训练机器学习模型、数据可视化等。
 Jupyter Notebook是以网页的形式打开,可以直接在网页中编写代码和运行代码,代码的运行结果也会直接显示在代码块下。如果在编程过程中需要编写说明文件,可以直接在同一页中编写,以便及时做出解释和说明。
Numpy库
Numpy是Python语言的扩展库,它支持大量的维度数组和矩阵操作,以及用于数组操作的大量数学函数库。NumPy 的前身 Numeric 最初是由 Jim Hugunin 和其它合作者开发的。2005 年,Travis Oliphant 将来自另一个具有相同性质的库Numarray的特性与其他扩展组合在一起,开发了Numpy In Numeric。Numpy 是为开放源码开发的,并由许多协作者维护。
 Numpy 是一个非常快速的数学库,主要用于数组计算,它包含:
 1.一个强大的N维数组对象 ndarray。
 2.广播功能函数。
 3.整合 C/C++/Fortran 代码的工具,更是Scipy、Pandas等的基础。
 4.线性代数、傅里叶变换、随机数生成等函数。
Matplotlib库
Matplotlib是由John Hunter(1968-2012)发明的。Matplotlib是一个基于python的二维图形库,它以各种硬拷贝格式和跨平台交互环境生成具有出版质量的图形。总的目标是让简单的事情变得更加简单,让复杂的事情成为可能。Matplotlib库由各种可视化类构成,具有复杂的内部结构。Matplotlib.pyplot的灵感来自于Matlab,是一个用于绘制各种可视图形的命令子库,相当于一个快捷方式。通过 Matplotlib,开发人员只需几行代码就可以生成直方图、条形图和散点图等。
三:相关库的下载:
安装下载Numpy和 Matplotlib库:
Windows+R打开命令终端:
 输入
 pip install numpypip  install matplotlib
ps:如果提示pip命令不存在,原因是没有将python配置到环境变量中。教程如下添加链接描述
 (环境变量的配置,参考群里蒋锦涛学长发的链接教程)
四:两种软件的运行结果:
 (1)Pycharm的运行结果:
 

 
 (2)Anaconda下的jupyter的运行结果:
 
 
五:程序源代码:
import numpy as np
import matplotlib.pyplot as pltfig = plt.figure(figsize=(10, 6))
# 极坐标轴域
ax = plt.subplot(111, projection='polar')
# 顺时针
ax.set_theta_direction(-1)
# 正上方为0度
ax.set_theta_zero_location('N')# 测试数据
r = np.arange(100, 800, 20)
theta = np.linspace(0, np.pi * 2, len(r), endpoint=False)
# 绘制柱状图
ax.bar(theta, r,  # 角度对应位置,半径对应高度width=0.18,  # 宽度color=np.random.random((len(r), 3)),  # 颜色align='edge',  # 从指定角度的径向开始绘制bottom=100)  # 远离圆心,设置偏离距离# 在圆心位置显示文本
ax.text(np.pi * 3 / 2 - 0.2, 90, 'Origin', fontsize=14)
# 每个柱的顶部显示文本表示大小
for angle, height in zip(theta, r):ax.text(angle + 0.03, height + 105, str(height), fontsize=height / 80)# 不显示坐标轴和网格线
plt.axis('off')
# 紧凑布局,缩小外边距
plt.tight_layout()
plt.savefig('polarBar.png', dpi=480)
plt.show()


















![[数据可视化] 南丁格尔玫瑰图](https://img-blog.csdnimg.cn/img_convert/d43ddd8d26cc8eb1bb8a8063f9b31d5c.png)