Python3数据可视化模块Matplotlib

目录

一、matplotlib安装(python 3.6)

二、绘制简单的折线图

1、绘制简单的折线图

2、绘制折线图

三、使用scatter绘制散点图

四、绘制条形图

五、常用可视化绘图工具

六、常见绘图


Matplotlib 数据可视化模块。 Matplotlib 能够创建多数类型的图表,如条形图,散点图,饼图,堆叠图,3D 图和地图图表等

一、matplotlib安装(python 3.6)

  • 进入cmd命令行输入pip3 install matplotlib
  • pip3 list (查看安装的包)

在PyCharm中引用这些包

二、绘制简单的折线图

1、绘制简单的折线图

#绘制简单的折线图
#导入模块pyplot,并给它指定别名plt
import matplotlib.pyplot as plt
input_value=[1,2,3,4,5]      #输入值
squares=[1,4,9,16,25]        #输出值
#plt.plot(squares)
plt.plot(input_value,squares,linewidth=5)         #设置线条的粗细
plt.title("Square Numbers",fontsize=24)         #给图标指定标题
plt.xlabel("Value",fontsize=14)                 #为x轴设置标题
plt.ylabel("Square of value",fontsize=14)            #为y轴设置标题
plt.tick_params(axis='both',labelsize=14)           #设置刻度标记大小
plt.show()          #打开matplotlib查看器

 

2、绘制折线图

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np
 
fig=plt.figure(figsize=(10,8))
x1 = np.arange(5)
y1 = [0.42, 0.54,0.58,0.5825,0.59]
x2 = np.arange(5)
y2 = [0.43,0.46,0.52,0.613,0.62]
x3 = np.arange(5)
y3 = [0.46, 0.475,0.48,0.4825,0.49]
x4 = np.arange(5)
y4 = [0.43,0.46,0.52,0.613,0.62]
x5 = np.arange(5)
y5 = [0.41, 0.54,0.545,0.58,0.6]
x6 = np.arange(5)
y6 = [0.43,0.46,0.52,0.613,0.62]
x7 = np.arange(5)
y7 = [0.28,0.29,0.35,0.4,0.45]
x8 = np.arange(20)
y8 = [0.21,0.28,0.33,0.5,0.58]
 
plt.subplot(221)#注意:其中各个参数也可以用逗号,分隔开。第一个参数代表子图的行数;
                # 第二个参数代表该行图像的列数; 第三个参数代表每行的第几个图像
group_labels =np.arange(20)+1
plt.title('The value of Accuracy of different methods ')
plt.xlabel('Number of iterations')
plt.ylabel('Accuracy')
plt.plot(x1, y1, 'b', label='TF-DNN',marker='o')
plt.plot(x2, y2, 'r', label='TFI-DNN',marker='^')
plt.xticks(x1, group_labels, rotation=0)
plt.yticks(np.arange(0.1,1.1,0.1))
plt.legend(loc = 'best')
 
plt.subplot(222)
group_labels =np.arange(20)+1
plt.title('The value of Recall of different methods ')
plt.xlabel('Number of iterations')
plt.ylabel('Recall')
plt.plot(x3, y3, 'b', label='TF-DNN',marker='o')
plt.plot(x4, y4, 'r', label='TFI-DNN',marker='^')
plt.xticks(x1, group_labels, rotation=0)
plt.yticks(np.arange(0.1,1.1,0.1))
plt.legend(loc = 'best')
 
plt.subplot(223)
group_labels =np.arange(20)+1
plt.title('The value of Precision of different methods ')
plt.xlabel('Number of iterations')
plt.ylabel('Precision')
plt.plot(x5, y5, 'b', label='TF-DNN',marker='o')
plt.plot(x6, y6, 'r', label='TFI-DNN',marker='^')
plt.xticks(x1, group_labels, rotation=0)
plt.yticks(np.arange(0.1,1.1,0.1))
plt.legend(loc = 'best')
 
plt.subplot(2,2,4)
group_labels =np.arange(20)+1
plt.title('The value of F1-score of different methods ')
plt.xlabel('Number of iterations')
plt.ylabel('F1-score')
plt.plot(x7, y7, 'b', label='TF-DNN',marker='o')
plt.plot(x8, y8, 'r', label='TFI-DNN',marker='^')
plt.xticks(x1, group_labels, rotation=0)
plt.yticks(np.arange(0.1,1.1,0.1))
plt.legend(loc = 'best')
 
plt.legend(loc = 'best')
fig.tight_layout()# 自动紧凑布局
#plt.savefig('Figures/Accuracy.jpg')
plt.show()
fig.tight_layout()

三、使用scatter绘制散点图

#使用scatter()绘制散点图
#plt.scatter(2,4,s=200)#绘制单个点坐标x=2,y=4;实参s设置点的尺寸
x_values=[1,2,3,4,5]
y_values=[1,4,9,16,25]
plt.scatter(x_values,y_values,s=100)                #绘制一系列点
plt.title("Square Numbers",fontsize=24)        #给图标指定标题
plt.xlabel("Value",fontsize=14)          #为x轴设置标题
plt.ylabel("Square of value",fontsize=14)             #为y轴设置标题
plt.tick_params(axis='both',which='major',labelsize=14)         #设置刻度标记大小
plt.show()

#自动计算数据
x_value=list(range(1,1001))
y_value=[x**2 for x in x_value]
plt.scatter(x_value,y_value,edgecolors='none',s=40)
plt.axis([0,1100,0,1100000])     #设置每个坐标轴的取值范围

 

#c='red'设置颜色为红色,edgecolors='none'删除数据点的轮廓
#c=(0,0,0.8)可以使用RGB颜色模式自定义颜色
plt.scatter(x_value,y_value,c='red',edgecolors='none',s=40)

 

#使用颜色映射colormap,从起始颜色渐变到结束颜色
#参数c=y_value是根据每个点的y值来设置其颜色,参数cmap表示使用哪个颜色映射
plt.scatter(x_value,y_value,c=y_value,cmap=plt.cm.Blues,edgecolors='none',s=40)

#自动保存图标用plt.savefig()
#第一个参数是保存文件名,第二个参数是将图标多余的空白区域剪掉
plt.savefig('squares_plot.png',bbox_inches='tight')

四、绘制条形图

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np
import pylab as pl 
x=[2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016]
values=[15,29,2348,1476,2634,4605,6969,6357,6844,4734,3881,803,1256,1154,1565,5778,6389]
# 创建一个点数为 6 x 4 的窗口, 并设置分辨率为 100像素/每英寸
fig=plt.figure(figsize=(6, 4), dpi=100)
# 再创建一个规格为 1 x 1 的子图
plt.subplot(1, 1, 1)
# 柱子总数
N = 17
# 包含每个柱子下标的序列
index = np.arange(N)
# 柱子的宽度
width = 0.35
# 绘制柱状图, 每根柱子的颜色为紫罗兰色
p2 = plt.bar(index, values, width, label="vulnerability", color="#87CEFA")
# 设置横轴标签
plt.xlabel('years')
# 设置纵轴标签
plt.ylabel('The number of vulnerability')
# 添加标题
plt.title('Annual vulnerability of NVD(2000-2016)') 
# 添加纵横轴的刻度
plt.xticks(index, x)
plt.yticks(np.arange(0, 7000, 500))
pl.xticks(rotation=45) #x轴标签旋转 
plt.legend(loc="vulnerability")# 添加图例
fig.tight_layout()# 自动紧凑布局
#plt.savefig('Figures/nvd.jpg') #保存图片
plt.show()
fig.tight_layout()

五、常用可视化绘图工具

1、可视化工具 Matplotlib,绘制常用的统计图。

2、基于 Matplotlib 发起而来的一种常用的可视化工具 Seaborn,常用统计图的绘制。

3、Plotnine 是根据图层概念制图的工具,不同于前面两部分的工具,Plotnine 灵活制作个性化图示。

4、Plotly 是一款能够“两栖作战”的工具,既能得到静态图片,也能生成动态交互的图示,常用统计图(具有交互功能)的绘制,并可以生成 HTML 文件。

5、Pyecharts 是非常好的国产工具——中文文档,非常可亲近。Pyecharts 提供的工具和色彩渲染上,都比前述工具有所突破,利用它可以实现地理信息可视化和基于 Web 项目发布可视化图示。

6、Bokeh 是一款来自岛国日本的可视化工具,除了完成通常的操作之外,在交互功能上,比 Plotly 和 Pyecharts 更有特色,能发布基于网络的图示。

六、常见绘图

  • 柱形图
  • 堆积柱形图
  • 条形图
  • 气泡图
  • 直方图
  • 箱形图
  • 热力图
  • 散点图
  • 雷达图
  • 环形图
  • 饼图
  • 折线图
  • K 线图
  • 仪表盘
  • 词云
     

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页