python库matplotlib绘制坐标图

yipeiwu_com7年前Python基础

很多时候我们数据处理的时候要画坐标图,下面我用第三方库matplotlib以及scipy绘制光滑的曲线图

需要安装的库有 matplotlib,scipy, numpy

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.axisartist.axislines import Subplot
from scipy import interpolate


def sommth_plot(x_arr, y_arr):
 fig = plt.figure() # 创建一个figure
 ax = Subplot(fig, 111) # 利用Subplot将figure加入ax
 fig.add_axes(ax)
 ax.axis['bottom'].set_axisline_style("->", size=1.5) # x轴加上箭头
 ax.axis['left'].set_axisline_style("->", size=1.5) # y轴加上上箭头
 ax.axis['top'].set_visible(False) # 去除上方坐标轴
 ax.axis['right'].set_visible(False) # 去除右边坐标轴
 xmin = min(x_arr) 
 xmax = max(x_arr)
 xnew = np.arange(xmin, xmax, 0.0005) # 在最大最小值间以间隔为0.0005插入点
 func = interpolate.interp1d(x_arr, y_arr) 
 ynew = func(xnew) # 得到插入x对应的y值
 plt.plot(xnew, ynew, '-') # 绘制图像
 plt.show() # show图像


if __name__ == '__main__':
 x = eval(input('输入x:'))
 y = eval(input('输入y:'))
 smooth_plot(x, y)

如果想进一步完善你的图像,可以用以下代码

# 设置图像标题
plt.title('title')

# 设置x范围,y同理
plt.xlim(1, 4)

# 给x,y轴添加说明
plt.xlabel('x')
plt.ylabel('y')

# 设置线条的颜色,宽度,线条样式,标志以及曲线的标签
plt.plot(x, y, color='blue', linewidth=1.0, linestyle='--', marker='o', label='')
# 如果传递了label参量,则使用下面函数使标签显示,loc选择位置,frameon=True标签会在一个框内
plt.legend(loc='upper left', frameon=True)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

使用基于Python的Tornado框架的HTTP客户端的教程

由于tornado内置的AsyncHTTPClient功能过于单一, 所以自己写了一个基于Tornado的HTTP客户端库, 鉴于自己多处使用了这个库, 所以从项目中提取出来, 写成一个...

使用Python+wxpy 找出微信里把你删除的好友实例

使用Python+wxpy 找出微信里把你删除的好友实例

之前看到好友在发各种"群发"来检验对方是不是把自己删除了,好吧,其实那个没啥用处. 所以决定自己动手做一个 百度了一下,检测是否被删除,总结出大概网上的一些方法 第一种方法: 拉群法 就...

tornado捕获和处理404错误的方法

Tornado 文档中提到但是这样只能捕获到handlers中列出的路径请求中的错误。 如果只定义了(r"/hello", HelloHandler) 一条规则,那么只能捕获到 /hel...

Python网站验证码识别

Python网站验证码识别

0x00 识别涉及技术 验证码识别涉及很多方面的内容。入手难度大,但是入手后,可拓展性又非常广泛,可玩性极强,成就感也很足。 验证码图像处理 验证码图像识别技术主要是操作图片内的像素点,...

Python使用PDFMiner解析PDF代码实例

Python使用PDFMiner解析PDF代码实例

近期在做爬虫时有时会遇到网站只提供pdf的情况,这样就不能使用scrapy直接抓取页面内容了,只能通过解析PDF的方式处理,目前的解决方案大致只有pyPDF和PDFMiner。因为据说P...