• 利用python读取excel表格数据并且画折线图这个基础的入门级代码，具有很好的参考学习价值，用到python的两个库这两个库要自己去下载，代码能运行
• Python画图主要用到matplotlib这个库。Matplotlib 是一个 Python 的 2D绘图库，它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。这里有一本电子书供大家参考：《Python图表绘制：matplotlib绘图库...
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])
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()
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科学画图代码分享的全部内容，希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题，如有不足之处，欢迎留言指出。感谢朋友们对本站的支持！
展开全文
• {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里技术人对外发布原创技术内容的最大平台；社区覆盖了云计算、大数据、人工智能、...

{"$env":{"JSON":{}},"$page":{"env":"production"},"\$context":{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里技术人对外发布原创技术内容的最大平台；社区覆盖了云计算、大数据、人工智能、IoT、云原生、数据库、微服务、安全、开发与运维9大技术领域。","link1":"https://developer.aliyun.com/group/?spm=a2c6h.12883283.1377930.25.7287201c9RKTCi&groupType=other","link":"https://developer.aliyun.com/","icon":"https://img.alicdn.com/tfs/TB1TlXBEkT2gK0jSZPcXXcKkpXa-200-200.png","btn2":"开发者藏经阁","tip":"打通开发者成长路径，学习中心 。全线阿里云技术大牛公开课，立即查看","btn1":"技术与产品技术圈","link2":"https://developer.aliyun.com/topic/ebook?spm=a2c6h.12883283.1362932.15.7287201c9RKTCi","title":"阿里云开发者社区"}],"search":[{"txt":"学习中心","link":"https://developer.aliyun.com/learning?spm=a2c6h.13788135.1364563.41.299f5f24exe3IS"},{"txt":"技能测试中心 ","link":"https://developer.aliyun.com/exam?spm=a2c6h.13716002.1364563.42.6cac18a3JWCM5U"},{"txt":"开发者云 ","link":"https://developer.aliyun.com/adc/?spm=a2c6h.13716002.1364563.59.6b0818a3DV0vzN"},{"txt":"在线编程 ","link":"https://developer.aliyun.com/coding?spm=5176.13257455.1364563.57.701e7facHvqi5r"},{"txt":"学习中心 ","link":"https://developer.aliyun.com/learning?spm=a2c6h.12883283.1364563.41.5f1f201c5CLDCC"},{"txt":"高校计划 ","link":"https://developer.aliyun.com/adc/college/?spm=a2c6h.13716002.1364563.58.6cac18a3JWCM5U"}],"countinfo":{"search":{"length_pc":0,"length":0},"card":{"length_pc":0,"length":0}}}}

展开全文
• 概述虽然Python的强项在人工智能，数据处理方面，但是对于日常简单的应用，Python也提供了非常友好的支持（如：Tkinter），本文主要一个简单画图小软件，简述Python在GUI（图形用户界面）方面的应用，仅供学习分享...
概述
虽然Python的强项在人工智能，数据处理方面，但是对于日常简单的应用，Python也提供了非常友好的支持（如：Tkinter），本文主要一个简单的画图小软件，简述Python在GUI（图形用户界面）方面的应用，仅供学习分享使用，如有不足之处，还请指正。
设计思路
页面布局：主要分为上下两部分 a. 绘图区域，本例以Canvas实现 b. 下部：功能区，由按钮实现
事件监听：通过给功能按钮绑定事件，来实现不同的功能，如：绘线，绘矩形等功能。
绘图区域：监听鼠标左键的按下（开始绘图）和抬起（停止绘图），再根据不同的按钮实现绘制不同的图形。
涉及知识点
开发工具：Python3.7 ， PyCharm2019
Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。
Canvas控件提供了一个自定义的绘图区域，可以通过不同的函数来绘制不同的图形。
绘制直线 create_line(self.x, self.y, event.x, event.y, fill=self.fgcolor)
绘制带箭头的直线 create_line(self.x, self.y, event.x, event.y, arrow=LAST, fill=self.fgcolor)
绘制矩形 create_rectangle(self.x, self.y, event.x, event.y, outline=self.fgcolor)
绘制曲线，是通过绘制不同的点来实现的
Button 按钮控件，通过绑定（bind）不同的监听事件来实现不同的功能。
name属性设置按钮的名称，
text属性设置按钮的显示文本。
bind 绑定事件
示例效果图
本例主要实现绘制直线，带箭头的直线，曲线，矩形，清除等功能，如下所示：

核心代码
在本例中，主要功能如下：
创建画板

1 """创建画图区域"""
View Code
创建按钮

1 #创建按钮
2 self.btn_start = Button(self, name='start', text='开始')3 self.btn_start.pack(side='left', padx=10)4 self.btn_pen = Button(self, name='pen', text='画笔')5 self.btn_pen.pack(side='left', padx=10)6 self.btn_rect = Button(self, name='rect', text='矩形')7 self.btn_rect.pack(side='left', padx=10)8 self.btn_clear = Button(self, name='clear', text='清屏')9 self.btn_clear.pack(side='left', padx=10)10 self.btn_erasor = Button(self, name='erasor', text='橡皮擦')11 self.btn_erasor.pack(side='left', padx=10)12 self.btn_line = Button(self, name='line', text='直线')13 self.btn_line.pack(side='left', padx=10)14 self.btn_line_arrow = Button(self, name='line_arrow', text='箭头直线')15 self.btn_line_arrow.pack(side='left', padx=10)16 self.btn_color = Button(self, name='color', text='颜色')17 self.btn_color.pack(side='left', padx=10)
View Code
绑定事件

1 #绑定事件
2 self.btn_line.bind('', self.eventManager) #点击按钮事件
3 self.btn_line_arrow.bind('', self.eventManager) #点击按钮事件
4 self.btn_rect.bind('', self.eventManager) #点击按钮事件
5 self.btn_pen.bind('', self.eventManager) #点击按钮事件
6 self.btn_erasor.bind('', self.eventManager) #点击按钮事件
7 self.btn_clear.bind('', self.eventManager) #点击按钮事件
8 self.btn_color.bind('', self.eventManager) #点击按钮事件
View Code
功能实现

1 defeventManager(self, event):2 name =event.widget.winfo_name()3 print(name)4 self.start_flag =True5 if name == 'line':6 #左键拖动
7 self.drawpad.bind('', self.myline)8 elif name == 'line_arrow':9 self.drawpad.bind('', self.myline_arrow)10 elif name == 'rect':11 self.drawpad.bind('', self.myrect)12 elif name == 'pen':13 self.drawpad.bind('', self.mypen)14 elif name == 'erasor':15 self.drawpad.bind('', self.myerasor)16 elif name == 'clear':17 self.drawpad.delete('all')18 elif name == 'color':19 c = askcolor(color=self.fgcolor, title='请选择颜色')20 print(c) #c的值 ((128.5, 255.99609375, 0.0), '#80ff00')
21 self.fgcolor = c[1]22
23 defstartDraw(self, event):24 self.drawpad.delete(self.lastdraw)25 ifself.start_flag:26 self.start_flag =False27 self.x =event.x28 self.y =event.y29
30 defstopDraw(self, event):31 self.start_flag =True32 self.lastdraw =033
34 defmyline(self, event):35 self.startDraw(event)36 self.lastdraw = self.drawpad.create_line(self.x, self.y, event.x, event.y, fill=self.fgcolor)37
38 defmyline_arrow(self, event):39 self.startDraw(event)40 self.lastdraw = self.drawpad.create_line(self.x, self.y, event.x, event.y, arrow=LAST, fill=self.fgcolor)41
42 defmyrect(self, event):43 self.startDraw(event)44 self.lastdraw = self.drawpad.create_rectangle(self.x, self.y, event.x, event.y, outline=self.fgcolor)45
46 defmypen(self, event):47 self.startDraw(event)48 print('self.x=', self.x, ',self.y=', self.y)49 self.drawpad.create_line(self.x, self.y, event.x, event.y, fill=self.fgcolor)50 self.x =event.x51 self.y =event.y52
53 defmyerasor(self, event):54 self.startDraw(event)55 print('self.x=', self.x, ',self.y=', self.y)56 self.drawpad.create_rectangle(event.x - 3, event.y - 3, event.x + 3, event.y + 3, fill=bgcolor)57 self.x =event.x58 self.y = event.y
View Code
快捷键的实现

1 self.master.bind('', self.hotKey) #绑定快捷键
2 self.master.bind('', self.hotKey) #绑定快捷键
3 self.master.bind('', self.hotKey) #绑定快捷键
4 self.master.bind('', self.hotKey) #绑定快捷键
View Code
快捷键功能实现

1 defhotKey(self, event):2 c =event.char3 if c == 'r':4 self.fgcolor = 'red'
5 elif c == 'g':6 self.fgcolor = 'green'
7 elif c == 'b':8 self.fgcolor = 'blue'
9 elif c == 'y':10 self.fgcolor = 'yellow'
View Code
有需要的朋友，可点击链接下载整体代码，如下所示：
备注
不积跬步，无以至千里；不积小流，无以成江海；锲而舍之，朽木不折，锲而不舍，金石可镂。
展开全文
• 简易画图工具(Python)，供大家参考，具体内容如下小黑最近在努力的入门python，正好学习到了Python的tkinker模块下的Canvas(画布)和Button(按钮)再加上相应的事务管理，实现了一个简单的画图小工具。程序代码#画图...
简易画图工具(Python)，供大家参考，具体内容如下
小黑最近在努力的入门python，正好学习到了Python的tkinker模块下的Canvas(画布)和Button(按钮)再加上相应的事务管理，实现了一个简单的画图小工具。
程序代码
#画图软件的实现
from tkinter.filedialog import *
from tkinter import *
from tkinter.colorchooser import *
win_width=900
win_height=450
class Application(Frame):
def __init__(self,master=None,bgcolor="#000000"):
super().__init__(master)
self.master=master
self.bgcolor=bgcolor
self.x=0
self.y=0
self.fgcolor="#ff0000"
self.lastDraw=0 #表示最后绘制的图形的id
self.startDrawFlag=False
self.pack()
self.createWidget()
def createWidget(self):
# 创建画板
# 创建按钮
btn_start = Button(self,text="开始",name="start")
btn_pen = Button(self, text="画笔", name="pen")
btn_rect = Button(self, text="矩形", name="rect")
btn_clear = Button(self, text="清屏", name="clear")
btn_earsor = Button(self, text="橡皮擦", name="earsor")
btn_line = Button(self, text="直线", name="line")
btn_lineArrow = Button(self, text="箭头直线", name="lineArrow")
btn_color = Button(self, text="颜色", name="color")
#为按钮绑定事件
btn_pen.bind_class("Button","<1>",self.eventManger)
def eventManger(self,event):
name=event.widget.winfo_name()
print(name)
if name=="line" :
elif name=="lineArrow":
elif name=="rect":
elif name=="pen":
elif name=="earsor":
elif name=="clear":
elif name=="color":
self.fgcolor=c[1]
def myline(self,event):
self.startDraw(event)
def mylineArrow(self,event):
self.startDraw(event)
self.lastDraw = self.drawCad.create_line(self.x, self.y, event.x, event.y,arrow=LAST , fill=self.fgcolor)
def myRect(self,event):
self.startDraw(event)
self.lastDraw = self.drawCad.create_rectangle(self.x, self.y, event.x, event.y, outline=self.fgcolor)
def myPen(self,event):
self.startDraw(event)
self.x=event.x
self.y=event.y
def myEarsor(self,event):
self.startDraw(event)
self.x = event.x
self.y = event.y
def stopDraw(self,event):
self.startDrawFlag=False
self.lastDraw=0
def startDraw(self,event):
if not self.startDrawFlag:
self.startDrawFlag = True
self.x = event.x
self.y = event.y
root=Tk()
app=Application(root)
root.title("简易的画图工具")
root.geometry(str(win_width)+"x"+str(win_height)+"+100+100")
root.mainloop()
结果展示

以上就是本文的全部内容，希望对大家的学习有所帮助，也希望大家多多支持脚本之家。
展开全文
• python的tutle画图教程？是turtle海龟画图，import turtle调用模块内置一些函数，可以自己依据需求加入，网上有教程的什么，Python可以画图写报告是的，比如matplotlib模块可以很方便地绘制常见的柱形图、折线图、...
• python如何画图？这里给大家介绍两款python绘图的库：turtle和Matplotlib。1 安装turtlePython2安装命令：pip install turtulePython3安装命令：pip3 install turtle2 基础概念2.1 画布(canvas)画布就是turtle为我们...
• import numpy as np import matplotlib.pyplot as plt x = np.linspace(-10*np.pi, 10*np.pi, 100,endpoint=True) C =np.tan(x)/x plt.plot(x,C) #plt.plot(X,S) plt.show() 效果如图
• 我用python的matplotlib模块进行简单画图操作，作为入门参考，下面直接上代码：#coding:utf-8import numpy as npimport matplotlib.pyplot as pltx=np.linspace(-np.pi,np.pi,512,endpoint=True)c=np.cos(x)s=np....
• ## python 最简单的画图

万次阅读 2018-07-30 01:33:52
import numpy as np import matplotlib.pyplot as plt x = np.linspace(-10*np.pi, 10*np.pi, 100,endpoint=True) C =np.tan(x)/x plt.plot(x,C) #plt.plot(X,S) plt.show()
• 主要介绍了Python科学画图代码分享，涉及matplotlib库的简单介绍，分享了matplotlib绘图库书籍的下载地址，具有一定参考价值，需要的朋友可以了解下。
• python中的turtle库，for循环画出五环，五环颜色不同，熟悉一下python的turtle库
• import matplotlib.pyplot as pltimport pandas as pdimport seaborn as snsimport numpy as np# 0、导入数据集df = pd.read_excel('first.xlsx', 'Sheet1')直方图fig = plt.figure()ax = fig.add_subplot(111)ax....
• 120,120) for i in range(4): color(rc[i])#每画一个正方形，改变画笔颜色，颜色来自rc列表 for j in range(4): fd(100)#画线 right(90)#旋转 right(90) input()#防止画图一闪而过 实现代码如下： from turtle ...
• windows的画图功能不能实现概述虽然Python的强项在人工智能，数据处理方面，但是对于日常简单的应用，Python也提供了非常友好的支持(如：Tkinter)，本文主要一个简单画图小软件，简述Python在GUI(图形用户界面)...
• ## python简单画图示例

千次阅读 2019-04-08 11:17:38
1.使用python中matplotlib模块简单画图脚本示例。 #!/usr/bin/env python # -*- coding: UTF-8 -*- import matplotlib.pyplot as plt import pandas as pd from pandas import DataFrame data1 = pd.read_csv...
• 99作者：小黑来修仙简易画图工具(Python)，供大家参考，具体内容如下小黑最近在努力的入门python，正好学习到了Python的tkinker模块下的Canvas(画布)和Button(按钮)再加上相应的事务管理，实现了一个简单的画图小...
• 简易画图工具(Python) 小黑最近在努力的入门python，正好学习到了Python的tkinker模块下的Canvas(画布)和Button(按钮)再加上相应的事务管理，实现了一个简单的画图小工具。 程序代码 #画图软件的实现 from tkinter....
• [python]代码库#使用turtle库绘制图形#画出 NUESOFT#导入turtle库 使用import + 模块名 as 相当于起一个别名import turtle as t#设置画布大小以及颜色颜色# t.screensize(canvwidth=800, canvheight=600, bg='white'...
• [python]代码库#使用turtle库绘制图形#画出 NUESOFT#导入turtle库 使用import + 模块名 as 相当于起一个别名import turtle as t#设置画布大小以及颜色颜色# t.screensize(canvwidth=800, canvheight=600, bg='white'...
• 虽然Python的强项在人工智能，数据处理方面，但是对于日常简单的应用，Python也提供了非常友好的支持（如：Tkinter），本文主要一个简单画图小软件，简述Python在GUI（图形用户界面）方面的应用，仅供学习分享使用...
• 画最简单的直线图  代码如下： [python]   view plain   copy import  numpy as np  import  matplotlib.pyplot as plt    x=[ 0 , 1 ]  y=[ 0...
• 简单python绘图示例 。

...

python 订阅