matplotlib实现雷达图和柱状图

Python基础教程记录 - 使用matplotlib实现雷达图和柱状图。

注:主要是设置add_subplot(133),分别代表一幅图中子图像行数,列数,和位置

函数和参数说明:

'bo-':分别代表标记颜色,标记形状,和线型,,‘bo’代表blue和实心圆

set_rlim这是参数一个值域范围

set_thetagrids方法用于设置极坐标角度网格线显示

grid为是否画出圆形内部网格

fill为填充颜色和填充透明度

代码如下:

'''
matplotlib雷达图和柱状图
'''

#coding:utf-8 
import matplotlib 
matplotlib.use('qt4agg') 
from matplotlib.font_manager import *
import numpy as np
import matplotlib.pyplot as plt
myfont = FontProperties(fname='/home/linuxidc/.local/share/fonts/文泉驿正黑.ttf')
matplotlib.rcParams['axes.unicode_minus']=False

#=======自己设置开始============
#标签
labels = np.array(['Ubuntu','Debian','CentOS','openSUSE','linuxidc','linuxidc.com','Oracle'])
#数据个数
dataLenth = 7
#数据
data = np.array([8,9,5,8,9,9,10])
#========自己设置结束============

angles = np.linspace(0, 2*np.pi, dataLenth, endpoint=False)
data = np.concatenate((data, [data[0]])) # 闭合 # #将数据结合起来
angles = np.concatenate((angles, [angles[0]])) # 闭合

fig = plt.figure()
ax = fig.add_subplot(121, polar=True)# polar参数!!121代表总行数总列数位置
ax.plot(angles, data, 'bo-', linewidth=1)# 画线四个参数为x,y,标记和颜色,闲的宽度
ax.fill(angles, data, facecolor='r', alpha=0.5)# 填充颜色和透明度
ax.set_thetagrids(angles * 180/np.pi, labels, fontproperties=myfont)
ax.set_title("Linux公社",fontproperties=myfont)
ax.set_rlim(0,10)
ax.grid(True)


a=[1,0.5,8,]
ax=fig.add_subplot(133)
name=['a','b','c']
ax.bar(range(len(a)),a,color='rgb',tick_label=name)
ax.set_title("www.linuxidc.com",fontproperties=myfont)
plt.show()

效果图如下:

Python基础教程 - matplotlib实现雷达图和柱状图

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/0bcdd26859ab58ecdbd66b70fbb003e3.html