欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

玩转Python数据分析!Matplotlib实战(九):极区图、极坐标图与雷达图绘制,一起来看高级用法中的极坐标柱状图绘制

最编程 2024-01-24 10:38:51
...

和极坐标散点图的绘制类似,matplotlib.pyplot.polar() 方法可以实现极坐标图,但仅用这一个函数的话实现的样式效果并不多,以下介绍另外三种绘制极坐标柱状图的方法:

  • matplotlib.pyplot.polar()matplotlib.pyplot.bar() 结合,前者绘制极坐标图,后者在极坐标图上绘制柱状图;

  • matplotlib.pyplot.subplot()matplotlib.pyplot.bar() 结合,前者添加子图,其中指定 projection='polar' 即为极坐标图, 后者在极坐标图上绘制柱状图;

  • matplotlib.pyplot.axes()matplotlib.pyplot.bar() 结合,前者设置绘图区参数,其中指定 projection='polar'polar=True 即为极坐标图, 后者在极坐标图上绘制柱状图。


【6x01】方法一:pyplot.bar() 与 pyplot.polar()

以下用到的 matplotlib.pyplot.bar() 函数,各参数含义以及支持的其他参数可以参见前文:

  • 《Python 数据分析三剑客之 Matplotlib(二):文本描述 / 中文支持 / 画布 / 网格等基本图像属性》

  • 《Python 数据分析三剑客之 Matplotlib(六):直方图 / 柱状图 / 条形图的绘制》

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']

r = np.random.rand(8)
theta = np.arange(0, 2 * np.pi, 2 * np.pi / 8)
colors = np.array(['#4bb2c5', '#c5b47f', '#EAA228', '#579575', '#839557', '#958c12', '#953579', '#4b5de4'])

plt.polar()
plt.bar(theta, r, color=colors, alpha=0.8)
plt.title('极坐标柱状图示例一', pad=15)

plt.show()

08


【6x02】方法二:pyplot.bar() 与 pyplot.subplot()

matplotlib.pyplot.subplot() 方法用于添加子图,如果想要子图为极坐标图,则需要指定 projection 参数为 polar,有关此函数的具体介绍可参见官方文档。其他函数的参数解释可参考前文:

  • 《Python 数据分析三剑客之 Matplotlib(三):图例 / LaTeX / 刻度 / 子图 / 补丁等基本图像属性》

  • 《Python 数据分析三剑客之 Matplotlib(六):直方图 / 柱状图 / 条形图的绘制》

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']

r = np.random.rand(8)
theta = np.arange(0, 2 * np.pi, 2 * np.pi / 8)
colors = np.array(['#4bb2c5', '#c5b47f', '#EAA228', '#579575', '#839557', '#958c12', '#953579', '#4b5de4'])

plt.subplot(111, projection='polar')
plt.bar(theta, r, color=colors, alpha=0.8)
plt.title('极坐标柱状图示例二', pad=15)

plt.show()

09


【6x03】方法三:pyplot.bar() 与 pyplot.axes()

axes 为 Matplotlib 图像中的绘图区,matplotlib.pyplot.axes() 方法可以对绘图区进行设置,同样的也可以设置 projection 参数为 polar 来实现极坐标图,设置 polar=True 也行。示例中其他函数的参数解释可参考前文:

  • 《Python 数据分析三剑客之 Matplotlib(一):初识 Matplotlib 与其 matplotibrc 配置文件》

  • 《Python 数据分析三剑客之 Matplotlib(六):直方图 / 柱状图 / 条形图的绘制》

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']

r = np.random.rand(8)
theta = np.arange(0, 2 * np.pi, 2 * np.pi / 8)
colors = np.array(['#4bb2c5', '#c5b47f', '#EAA228', '#579575', '#839557', '#958c12', '#953579', '#4b5de4'])

# plt.axes(polar=True)
plt.axes(projection='polar')
plt.bar(theta, r, color=colors, alpha=0.8)
plt.title('极坐标柱状图示例三', pad=15)

plt.show()

10


这里是一段防爬虫文本,请读者忽略。
本文原创首发于 ****,作者 TRHX。
博客首页:https://itrhx.blog.****.net/
本文链接:https://itrhx.blog.****.net/article/details/106162412
未经授权,禁止转载!恶意转载,后果自负!尊重原创,远离剽窃!