Python绘制图表【matplotlib】

matplotlib

Matplotlib 是一个 Python 的 2D绘图库
它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形

通过 Matplotlib,开发者可以仅需要几行代码,
便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等

官方文档

[官方中文文档]((https://www.matplotlib.org.cn/)


安装

pip install matplotlib

绘制常见图表

折线图

import random

import matplotlib.pyplot as plt
from matplotlib import font_manager

# 创建测试数据
x_time = list(range(20))
y_temp =[random.randint(20,30) for i in x_time]

# 设置图片大小
#plt.figure(figsize=(5, 5))

# 根据生成数据制图
plt.plot(x_time,y_temp)

# 利用字体ttc文件生成字体对象,默认不支持中文,显示中文需要指定字体
myfont = font_manager.FontProperties(fname=‘/usr/share/fonts/cjkuni-uming/uming.ttc‘)

# 指定标题
plt.title(‘20日温度变化图‘,fontproperties=myfont)

# 指定x轴和y轴标签
plt.xlabel(‘时间‘,fontproperties=myfont)
plt.ylabel(‘温度‘,fontproperties=myfont)

# 设置x和y坐标轴刻度和刻度标签,并指定字体和旋转角度
plt.xticks(ticks=x_time,labels=[‘%s日‘%i for i in x_time],fontproperties=myfont,rotation=30)
plt.yticks(range(min(y_temp),max(y_temp)+1))

# 保存至文件
plt.savefig(‘doc/折线图.jpg‘)


散点图

import random

import matplotlib.pyplot as plt
from matplotlib import font_manager

# 利用字体ttc文件生成字体对象
myfont = font_manager.FontProperties(fname=‘/usr/share/fonts/cjkuni-uming/uming.ttc‘)

# 创建测试数据
x_time = list(range(20))
y_temp =[random.randint(20,30) for i in x_time]
y_temp2 =[random.randint(20,30) for i in x_time]
# 设置图片大小
plt.figure(figsize=(5, 5))

# 设置标题
plt.title(‘温度变化散点图‘,fontproperties=myfont)

# 设置x轴y轴标签
plt.xlabel("时间", fontproperties=myfont)
plt.ylabel("温度", fontproperties=myfont)

# 设置坐标轴刻度和标签
plt.xticks(ticks=x_time,labels=[‘%s日‘%i for i in x_time],fontproperties=myfont,rotation=30)
plt.yticks(range(min(y_temp),max(y_temp)+1))

# 根据数据生成散点图
plt.scatter(x_time,y_temp,label=‘测试散点图1‘,color=‘g‘)
plt.scatter(x_time,y_temp2,label=‘测试散点图2‘,color=‘r‘)

# 设置图例,指定字体和位置
plt.legend(prop=myfont, loc="upper left")

# 设置网格,指定透明度
plt.grid(alpha=0.5)

# 保存至文件
plt.savefig(‘doc/散点图.jpg‘)

# 执行时显示
# plt.show()


条形图

import random

import matplotlib.pyplot as plt
from matplotlib import font_manager

# 利用字体ttc文件生成字体对象
myfont = font_manager.FontProperties(fname=‘/usr/share/fonts/cjkuni-uming/uming.ttc‘)

# 创建测试数据
x_time = list(range(20))
y_temp =[random.randint(20,30) for i in x_time]
y_temp2 =[random.randint(20,30) for i in x_time]

# 设置图片大小
plt.figure(figsize=(5, 5))

# 设置标题
plt.title(‘温度变化条形图‘,fontproperties=myfont)

# 设置x轴y轴标签
plt.xlabel("时间", fontproperties=myfont)
plt.ylabel("温度", fontproperties=myfont)

# 设置坐标轴刻度和标签
plt.xticks(ticks=x_time,labels=[‘%s日‘%i for i in x_time],fontproperties=myfont,rotation=30)
plt.yticks(range(min(y_temp),max(y_temp)+1))

# 根据数据生成条形图,设置图例标签,颜色,宽度(默认为1个单位宽度)
plt.bar([i+0.25 for i in x_time],y_temp,label=‘测试散点图1‘,color=‘b‘,width=0.5)
plt.bar([i-0.25 for i in x_time],y_temp2,label=‘测试散点图2‘,color=‘r‘,width=0.5)

# 设置图例,指定字体和位置
plt.legend(prop=myfont, loc="upper left")

# 设置网格,指定透明度
plt.grid(alpha=0.5)

# 保存至文件
plt.savefig(‘doc/条形图.jpg‘)

直方图

import random

import matplotlib.pyplot as plt
from matplotlib import font_manager

# 利用字体ttc文件生成字体对象
myfont = font_manager.FontProperties(fname=‘/usr/share/fonts/cjkuni-uming/uming.ttc‘)

# 创建测试数据
x_time = list(range(20))
y_temp =[random.randint(20,30) for i in x_time]

# 组距
distance = 1

# 组数
num = (max(y_temp)-min(y_temp))//distance

# 设置标题
plt.title(‘温度变化直方图‘,fontproperties=myfont)

# 设置x轴y轴标签
plt.xlabel("温度", fontproperties=myfont)
plt.ylabel("频数", fontproperties=myfont)

# 设置坐标轴刻度和标签
plt.xticks(list(range(min(y_temp),max(y_temp)+1)))

# 生成直方图
plt.hist(y_temp,num)

# 设置网格,指定线条风格和透明度
plt.grid(linestyle=‘-.‘,alpha=0.5)

# 保存至文件
plt.savefig(‘doc/直方图.jpg‘)

# 执行时显示
# plt.show()


饼状图

import random

import matplotlib.pyplot as plt
from matplotlib import font_manager

# 利用字体ttc文件生成字体对象
myfont = font_manager.FontProperties(fname=‘/usr/share/fonts/cjkuni-uming/uming.ttc‘)

# 创建测试数据
x_time = list(range(20))
y_temp =[random.randint(20,30) for i in x_time]

# 标题
plt.title(‘温度变化饼状图‘,fontproperties=myfont)

# 生成饼状图,数据,数据标签
plt.pie(y_temp,labels=[‘%s-%s‘%(i[0],i[1]) for i in zip(x_time,y_temp)])

# 保存至文件
plt.savefig(‘doc/饼状图.jpg‘)

原文地址:https://blog.51cto.com/13992211/2353865

时间: 2024-07-28 17:47:08

Python绘制图表【matplotlib】的相关文章

使用python绘制常用的图表

使用python绘制常用的图表 本文介绍如果使用python汇总常用的图表,与Excel的点选操作相比,用python绘制图表显得比较比较繁琐,尤其提现在对原始数据的处理上.但两者在绘制图表过程中的思路大致相同,Excel中能完成的工作python大多也能做到.为了更清晰的说明使用python绘制图表的过程,我们在汇总图表的代码中进行注解,说明每一行代码的具体作用.并在文章的最后给出了自定义字体和图表配色的对应表. 准备工作 ? 1 2 3 4 5 import numpy as np impo

使用python中的matplotlib进行绘图分析数据

http://blog.csdn.net/pipisorry/article/details/37742423 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并且 Gallery页面 中有上百幅缩略图,打开之后都有源程序.因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定. 在Linux下比较著名的数据图工具

python: 使用matplotlib的pyplot绘制图表

工作中需要观察数据的变化趋势,用python写了一段小程序来用显示简单图表,分享出来方便有同样需求的人,matplotlib是个很不错的库. #!encode=utf8 from matplotlib import pyplot as plt import sys ignore_num=(int)(sys.argv[1]) data=sys.argv[2] show_type=0 if len(sys.argv)>3: show_type=(int)(sys.argv[3]) x=[] vali

matplotlib:使用matplotlib绘制图表

matplotlib下载及API手册地址:http://sourceforge.net/projects/matplotlib/files/matplotlib/ 数学库numpy下载及API手册地址:http://www.scipy.org/Download 几个绘图的例子[来自API手册] 1.最简单的图: 代码: #!/usr/bin/env python import matplotlib.pyplot as plt plt.plot([10, 20, 30]) plt.xlabel('

Python中使用matplotlib 如何绘制折线图?

本文和大家分享的主要是python开发中matplotlib 绘制折线图相关内容,一起来看看吧,希望对大家学习和使用这部分内容有所帮助. matplotlib 1.安装matplotlib ① linux系统安装 # 安装matplotlib模块 $ sudo apt-get install python3-matplotlib# 如果是python2.7 执行如下命令 $ sudo apt-get install python-matplotlib# 如果你安装较新的Python,安装模块一乐

图表绘制工具--Matplotlib

''' [课程3.1] Matplotlib简介及图表窗口 Matplotlib → 一个python版的matlab绘图接口,以2D为主,支持python.numpy.pandas基本数据结构,运营高效且有较丰富的图表库 ''' import numpy as np import pandas as pd import matplotlib.pyplot as plt # 图表窗口1 → plt.show() plt.plot(np.random.rand(10)) plt.show() #

使用python绘制词云

最近在忙考试的事情,没什么时间敲代码,一个月也没几天看代码,最近看到可视化的词云,看到网上也很多这样的工具, 但是都不怎么完美,有些不支持中文,有的中文词频统计得莫名其妙.有的不支持自定义形状.所有的都不能自定义颜色 于是网上找了一下,决定用python绘制词云,主要用到的是wordcloud库,安装只需要pip isntall wordcloud就行, 数据用的是酒店评论的数据,代码如下: # -*- coding: utf-8 -*- import matplotlib.pyplot as

使用kibana和elasticsearch日志实时绘制图表

前言: 此文接的是上篇,上次的内容是,用python操作elasticsearch存储,实现数据的插入和查询.  估计有些人一看我的标题,以为肯定是 logstash kibana elasticsearch的组合.这三个家伙也确实总是勾搭在一块. 其实logstash是可以被别的替换,比如常见的fluented .剩下的那两个,kibana和elasticsearch是一伙的,不好做分离. 这次用的不是那种开源的.cs模式日志收集应用,还真不是.而是自己直接从程序里面把日志打到elastics

Python画图工具matplotlib的使用(图形并茂)

matplotlib官网文档: http://matplotlib.org/gallery.html 支持win7_64_bit的matplotlib库下载网址: http://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib 简介: matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中.它的文档相当完备,并且 Gallery页