广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python科学画图代码分享
  • 522
分享到

Python科学画图代码分享

画图代码科学 2022-06-04 19:06:04 522人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

python画图主要用到matplotlib这个库。Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。 这里有一本电子书供大家参考:《

python画图主要用到matplotlib这个库。Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。

这里有一本电子书供大家参考:《Python图表绘制:matplotlib绘图库入门

具体来说是pylab和pyplot这两个子库。这两个库可以满足基本的画图需求,而条形图,散点图等特殊图,下面再单独具体介绍。

首先给出pylab神器镇文:pylab.rcParams.update(params)。这个函数几乎可以调节图的一切属性,包括但不限于:坐标范围,axes标签字号大小,xtick,ytick标签字号,图线宽,legend字号等。

具体参数参看官方文档:Http://matplotlib.org/users/customizing.html

首先给出一个python3画图的例子。


import matplotlib.pyplot as plt
import matplotlib.pylab as pylab
import scipy.io
import numpy as np
params={
  'axes.labelsize': '35',    
  'xtick.labelsize':'27',
  'ytick.labelsize':'27',
  'lines.linewidth':2 ,
  'legend.fontsize': '27',
  'figure.figsize'  : '12, 9'  # set figure size
}
pylab.rcParams.update(params)      #set figure parameter
#line_styles=['ro-','b^-','gs-','ro--','b^--','gs--'] #set line style
    
#We give the coordinate date directly to give an example.
x1 = [-20,-15,-10,-5,0,0,5,10,15,20]
y1 = [0,0.04,0.1,0.21,0.39,0.74,0.78,0.80,0.82,0.85]
y2 = [0,0.014,0.03,0.16,0.37,0.78,0.81,0.83,0.86,0.92]
y3 = [0,0.001,0.02,0.14,0.34,0.77,0.82,0.85,0.90,0.96]
y4 = [0,0,0.02,0.12,0.32,0.77,0.83,0.87,0.93,0.98]
y5 = [0,0,0.02,0.11,0.32,0.77,0.82,0.90,0.95,1]
 
 
plt.plot(x1,y1,'bo-',label='m=2, p=10%',markersize=20) # in 'bo-', b is blue, o is O marker, - is solid line and so on
plt.plot(x1,y2,'gv-',label='m=4, p=10%',markersize=20)
plt.plot(x1,y3,'ys-',label='m=6, p=10%',markersize=20)
plt.plot(x1,y4,'ch-',label='m=8, p=10%',markersize=20)
plt.plot(x1,y5,'mD-',label='m=10, p=10%',markersize=20)
 
 
fig1 = plt.figure(1)
axes = plt.subplot(111) 
#axes = plt.GCa()
axes.set_yticks([0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0])
axes.grid(True) # add grid
 
plt.legend(loc="lower right") #set legend location
plt.ylabel('Percentage')  # set ystick label
plt.xlabel('Difference') # set xstck label
 
plt.savefig('D:\commonNeighbors_CDF_snapshots.eps',dpi = 1000,bbox_inches='tight')
plt.show()

显示效果如下:

查看图片

代码没什么好说的,这里只说一下plt.subplot(111)这个函数。

plt.subplot(111)和plt.subplot(1,1,1)是等价的。意思是将区域分成1行1列,当前画的是第一个图(排序由行至列)。

plt.subplot(211)意思就是将区域分成2行1列,当前画的是第一个图(第一行,第一列)。以此类推,只要不超过10,逗号就可省去。

python画条形图。代码如下。


import scipy.io
import numpy as np
import matplotlib.pylab as pylab
import matplotlib.pyplot as plt
import matplotlib.ticker as mtick
params={
  'axes.labelsize': '35',
  'xtick.labelsize':'27',
  'ytick.labelsize':'27',
  'lines.linewidth':2 ,
  'legend.fontsize': '27',
  'figure.figsize'  : '24, 9'
}
pylab.rcParams.update(params)


y1 = [9.79,7.25,7.24,4.78,4.20]
y2 = [5.88,4.55,4.25,3.78,3.92]
y3 = [4.69,4.04,3.84,3.85,4.0]
y4 = [4.45,3.96,3.82,3.80,3.79]
y5 = [3.82,3.89,3.89,3.78,3.77]

ind = np.arange(5)        # the x locations for the groups
width = 0.15
plt.bar(ind,y1,width,color = 'blue',label = 'm=2') 
plt.bar(ind+width,y2,width,color = 'g',label = 'm=4') # ind+width adjusts the left start location of the bar.
plt.bar(ind+2*width,y3,width,color = 'c',label = 'm=6')
plt.bar(ind+3*width,y4,width,color = 'r',label = 'm=8')
plt.bar(ind+4*width,y5,width,color = 'm',label = 'm=10')
plt.xticks(np.arange(5) + 2.5*width, ('10%','15%','20%','25%','30%'))

plt.xlabel('Sample percentage')
plt.ylabel('Error rate')

fmt = '%.0f%%' # FORMat you want the ticks, e.g. '40%'
xticks = mtick.FormatStrFormatter(fmt)  
# Set the formatter
axes = plt.gca()  # get current axes
axes.yaxis.set_major_formatter(xticks) # set % format to ystick.
axes.grid(True)
plt.legend(loc="upper right")
plt.savefig('D:\errorRate.eps', format='eps',dpi = 1000,bbox_inches='tight')

plt.show()

结果如下:

查看图片

画散点图,主要是scatter这个函数,其他类似。

网络图,要用到networkx这个库,下面给出一个实例:


import networkx as nx
import pylab as plt
g = nx.Graph()
g.add_edge(1,2,weight = 4)
g.add_edge(1,3,weight = 7)
g.add_edge(1,4,weight = 8)
g.add_edge(1,5,weight = 3)
g.add_edge(1,9,weight = 3)
 
g.add_edge(1,6,weight = 6)
g.add_edge(6,7,weight = 7)
g.add_edge(6,8,weight = 7) 
 
g.add_edge(6,9,weight = 6)
g.add_edge(9,10,weight = 7)
g.add_edge(9,11,weight = 6)

fixed_pos = {1:(1,1),2:(0.7,2.2),3:(0,1.8),4:(1.6,2.3),5:(2,0.8),6:(-0.6,-0.6),7:(-1.3,0.8), 8:(-1.5,-1), 9:(0.5,-1.5), 10:(1.7,-0.8), 11:(1.5,-2.3)} #set fixed layout location

#pos=nx.spring_layout(g) # or you can use other layout set in the module
nx.draw_networkx_nodes(g,pos = fixed_pos,nodelist=[1,2,3,4,5],
node_color = 'g',node_size = 600)
nx.draw_networkx_edges(g,pos = fixed_pos,edgelist=[(1,2),(1,3),(1,4),(1,5),(1,9)],edge_color='g',width = [4.0,4.0,4.0,4.0,4.0],label = [1,2,3,4,5],node_size = 600)

nx.draw_networkx_nodes(g,pos = fixed_pos,nodelist=[6,7,8],
node_color = 'r',node_size = 600)
nx.draw_networkx_edges(g,pos = fixed_pos,edgelist=[(6,7),(6,8),(1,6)],width = [4.0,4.0,4.0],edge_color='r',node_size = 600)
 
nx.draw_networkx_nodes(g,pos = fixed_pos,nodelist=[9,10,11],
node_color = 'b',node_size = 600)
nx.draw_networkx_edges(g,pos = fixed_pos,edgelist=[(6,9),(9,10),(9,11)],width = [4.0,4.0,4.0],edge_color='b',node_size = 600)

plt.text(fixed_pos[1][0],fixed_pos[1][1]+0.2, s = '1',fontsize = 40)
plt.text(fixed_pos[2][0],fixed_pos[2][1]+0.2, s = '2',fontsize = 40)
plt.text(fixed_pos[3][0],fixed_pos[3][1]+0.2, s = '3',fontsize = 40)
plt.text(fixed_pos[4][0],fixed_pos[4][1]+0.2, s = '4',fontsize = 40)
plt.text(fixed_pos[5][0],fixed_pos[5][1]+0.2, s = '5',fontsize = 40)
plt.text(fixed_pos[6][0],fixed_pos[6][1]+0.2, s = '6',fontsize = 40)
plt.text(fixed_pos[7][0],fixed_pos[7][1]+0.2, s = '7',fontsize = 40)
plt.text(fixed_pos[8][0],fixed_pos[8][1]+0.2, s = '8',fontsize = 40)
plt.text(fixed_pos[9][0],fixed_pos[9][1]+0.2, s = '9',fontsize = 40)
plt.text(fixed_pos[10][0],fixed_pos[10][1]+0.2, s = '10',fontsize = 40)
plt.text(fixed_pos[11][0],fixed_pos[11][1]+0.2, s = '11',fontsize = 40)

plt.show()

结果如下:

查看图片

总结

以上就是本文关于Python科学画图代码分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

--结束END--

本文标题: Python科学画图代码分享

本文链接: https://www.lsjlt.com/news/15845.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python科学画图代码分享
    Python画图主要用到matplotlib这个库。Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。 这里有一本电子书供大家参考:《...
    99+
    2022-06-04
    画图 代码 科学
  • css画太极图代码分享
    这篇文章主要介绍“css画太极图代码分享”,在日常操作中,相信很多人在css画太极图代码分享问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css画太极图代码分享”的疑惑有所帮...
    99+
    2022-10-19
  • python生成验证码图片代码分享
    本文实例为大家分享了python生成验证码图片代码,分享给大家供大家参考,具体内容如下 基本上大家使用每一种网络服务都会遇到验证码,一般是网站为了防止恶意注册、发帖而设置的验证手段。其生成原理是将一串随机产...
    99+
    2022-06-04
    验证码 代码 图片
  • Python生成数字图片代码分享
    本文向大家分享了几段Python生成数字图片的代码,喜欢的朋友可以参考。具体如下: 最终版本 # -*- coding:utf-8 -*- from PIL import Image,ImageFont...
    99+
    2022-06-04
    代码 数字 图片
  • python自动裁剪图像代码分享
    本代码可以帮你自动剪切掉图片的边缘空白区域,如果你的图片有大片空白区域(只要是同一颜色形成一定的面积就认为是空白区域),下面的python代码可以帮你自动切除,如果是透明图像,会自动剪切大片的透明部分。 ...
    99+
    2022-06-04
    图像 代码 python
  • Python画图练习案例分享
    目录1.多边形的绘制案例2.太阳花案例3.颜色五角星案例4.艺术图片5.黑六边形6.绘制时钟7.绘制分形树8.彩虹线绘制案例1.多边形的绘制案例 # 多边形的绘制案例 import ...
    99+
    2022-11-11
  • CSS3实现动画按钮代码分享
    本篇内容介绍了“CSS3实现动画按钮代码分享”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  今天来分享很...
    99+
    2022-10-19
  • 在Python web中实现验证码图片代码分享
    系统版本: CentOS 7.4 Python版本: Python 3.6.1 在现在的WEB中,为了防止爬虫类程序提交表单,图片验证码是最常见也是最简单的应对方法之一。 1.验证码图片的生成 ̳...
    99+
    2022-06-04
    验证码 代码 图片
  • css3实现的动画按钮代码分享
    这篇文章主要讲解了“css3实现的动画按钮代码分享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css3实现的动画按钮代码分享”吧!  今天给大家分享一款纯...
    99+
    2022-10-19
  • Python画图常用代码总结,这20个画图代码现拿现用
    目录 前言 1、散点图 2、带边界的气泡图 3、带线性回归最佳拟合线的散点图 4、抖动图 5、计数图 6、边缘直方图 7、边缘箱形图 9、矩阵图 10、发散型条形图 11、发散型文本 12、发散型包点图 13、带标记的发散型棒棒糖图...
    99+
    2023-09-01
    python 开发语言 数据分析
  • python批量压缩图片的脚本代码分享
    本篇文章和大家了解一下python批量压缩图片的脚本代码分享。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。简介用Python批量压缩图片,把文件夹或图片直接拖入即可需要 NeedsPython 3Pillow (用pip...
    99+
    2023-06-15
  • Python竟能画这么漂亮的花,帅呆了(代码分享)
    阅读本文大概需要3分钟 关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下。 趣味编程其实是最好的学习途径,回想十几年前我刚毕业的时候,第一份工作就给手机上写app...
    99+
    2022-06-04
    的花 竟能 帅呆了
  • 3段Python图像处理的实用代码的分享
    目录前言边缘检测将照片变成素描风格判断形状前言 今天给大家分析3个计算机视觉方向的Python实用代码,主要用到的库有: opencv-pythonnumpypillow 要是大家所...
    99+
    2022-11-11
  • python 画图时各种颜色代码
    颜色搭配 点击配色:https://culrs.com/ 颜色协调的原则是避免颜色选择过度,能够表达清晰明了的设计主题。以下是一些通用的基本颜色搭配方案,其中每种方案都包括9种颜色: 红色、黄色、...
    99+
    2023-10-09
    python 人工智能
  • 二十种Python代码游戏源代码分享
    学Python中,自我感觉学的还不错的亚子~想做点什么来练练手,然后我疯狂的找各种小游戏的教程源码什么的,于是我就疯狂的找呀找呀,就找到了一大堆,哈哈哈 毕竟我是从小就有一个游戏梦,...
    99+
    2022-11-12
  • OpenCV中的图像修复代码分享
    这篇文章主要讲解了“OpenCV中的图像修复代码分享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“OpenCV中的图像修复代码分享”吧!目录 效果图 原理 源码这篇博客将介绍如何通过Open...
    99+
    2023-06-20
  • python好玩的项目—色情图片识别代码分享
    一、实验简介 本实验将使用 Python3 去识别图片是否为色情图片,我们会使用到 PIL 这个图像处理库,会编写算法来划分图像的皮肤区域 1.1. 知识点 Python 3 的模块的安装 Python 3...
    99+
    2022-06-04
    色情图片 好玩 代码
  • Android实现旋转动画的方式代码分享
    这篇文章主要介绍“Android实现旋转动画的方式代码分享”,在日常操作中,相信很多人在Android实现旋转动画的方式代码分享问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android实现旋转动画的方式代...
    99+
    2023-06-20
  • python画饼状图的代码怎么写
    要使用Python绘制饼状图,可以使用`matplotlib`库。下面是一个简单的例子: import matplotlib.pyp...
    99+
    2023-10-26
    python
  • Android获取高清app图标代码分享
    Android获取高清app图标只有一个方法,具体内容如下 public synchronized static Drawable getIconFromPackageNa...
    99+
    2022-06-06
    app图标 app Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作