1. 关于python曲线绘制的问题
用r来做
2. 如何用python画深度学习训练图?比如误差,准确率变化曲线之类的
用TensorFlow啊,外加个图形包就可以了
3. 如何使用Python绘制光滑实验数据曲线
楼主的问题是否是“怎样描绘出没有数据点的位置的曲线”,或者是“x在某个位置时,即使没有数据,我也想知道他的y值是多少,好绘制曲线”。这就是个预测未知数据的问题。
传统的方法就是回归,python的scipy可以做。流行一点的就是机器学习,python的scikit-learn可以做。
但问题在于,仅由光强能预测出开路电压吗(当然,有可能可以预测。)?就是你的图1和图2的曲线都不能说是不可能发生的情况吧,所以想预测开路电压值还需引入其他影响因子。这样你才能知道平滑曲线到底应该像图1还是图2还是其他样子。
如果是单因子的话,从散点图观察,有点像 y = Alnx + B,用线性回归模型确定A,B的值就可以通过x预测y的值,从而绘制平滑的曲线了。
4. python怎么画曲线图
# encoding=utf-8
import matplotlib.pyplot as plt
from pylab import * #支持中文
mpl.rcParams['font.sans-serif'] = ['SimHei']
names = ['5', '10', '15', '20', '25']
x = range(len(names))
y = [0.855, 0.84, 0.835, 0.815, 0.81]
y1=[0.86,0.85,0.853,0.849,0.83]
#plt.plot(x, y, 'ro-')
#plt.plot(x, y1, 'bo-')
#pl.xlim(-1, 11) # 限定横轴的范围
#pl.ylim(-1, 110) # 限定纵轴的范围
plt.plot(x, y, marker='o', mec='r', mfc='w',label=u'y=x^2曲线图')
plt.plot(x, y1, marker='*', ms=10,label=u'y=x^3曲线图')
plt.legend() # 让图例生效
plt.xticks(x, names, rotation=45)
plt.margins(0)
plt.subplots_adjust(bottom=0.15)
plt.xlabel(u"time(s)邻居") #X轴标签
plt.ylabel("RMSE") #Y轴标签
plt.title("A simple plot") #标题
plt.show()
5. 怎么用python做光滑折线图,谢谢了,困扰我很多天了
参考python散点的平滑曲线化方法
6. 如何用python turtle画斐波那契螺旋曲线?
我把矩形和圆弧都用不同颜色填充了,你按照自己的需求修改一下吧,你的题目说的不清楚。
# Python3.6# 使用turtle绘制Fibonacci螺旋def draw_fibonacci(x): # F0=1 # F1=1 # Fn=F(n-1)+F(n-2) # 产生斐波那契数列,用于查表 # 像这种计算复杂性指数增长的计算,不要写个函数去每次求一个数 # 最好的办法是,按照规律写出查找表,用查找的方法来得到数据 f_list = [] for i in range(x): if i == 0: f_list.append(1) elif i == 1: f_list.append(1) else: f_list.append(f_list[i-1]+f_list[i-2]) # 像素比例 f0 = 50 # 设置画笔属性 turtle.pensize(5) turtle.pencolor("black") turtle.penup() turtle.home() turtle.pendown() for i in range(0, len(f_list)): # 绘制速度,1~10个不同速度等级,小于1或者大于10立即绘制 turtle.speed(1) turtle.pendown() # 绘制矩形 if i == 0: fill_color = "black" else: fill_color = (random.random(), random.random(), random.random()) turtle.fillcolor(fill_color) turtle.begin_fill() turtle.forward(f_list[i]*f0) turtle.left(90) turtle.forward(f_list[i]*f0) turtle.left(90) turtle.forward(f_list[i]*f0) turtle.left(90) turtle.forward(f_list[i]*f0) turtle.left(90) turtle.end_fill() # 绘制圆弧 fill_color = (random.random(), random.random(), random.random()) turtle.fillcolor(fill_color) if i == 0: turtle.forward(f_list[i] * f0 / 2) turtle.begin_fill() turtle.circle(f_list[i] * f0 / 2, 360) turtle.end_fill() # 移动到一下起点 turtle.forward(f_list[i] * f0 / 2) continue else: turtle.begin_fill() turtle.circle(f_list[i] * f0, 90) turtle.left(90) turtle.forward(f_list[i] * f0) turtle.left(90) turtle.forward(f_list[i] * f0) turtle.end_fill() # 移动到一下起点 turtle.speed(0) turtle.penup() turtle.left(90) turtle.forward(f_list[i] * f0) turtle.left(90) turtle.forward(f_list[i] * f0) turtle.done()if __name__ == "__main__": draw_fibonacci(6)下面是我跑出来的结果:
7. python使用matplotlib怎么画光滑曲线
matplotlib 是Python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。
它的文档相当完备,并且 Gallery页面 中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定。
在Linux下比较著名的数据图工具还有gnuplot,这个是免费的,Python有一个包可以调用gnuplot,但是语法比较不习惯,而且画图质量不高。
而 Matplotlib则比较强:Matlab的语法、python语言、latex的画图质量(还可以使用内嵌的latex引擎绘制的数学公式)。
快速绘图
matplotlib的pyplot子库提供了和matlab类似的绘图API,方便用户快速绘制2D图表。例子:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#
coding=gbk
'''
Created
on Jul 12,2014
python
科学计算学习:numpy快速处理数据测试
@author:
皮皮
'''
importstring
importmatplotlib.pyplot
as plt
importnumpy
as np
if__name__
== '__main__':
file
= open(E:machine_learningdatasetshousing_datahousing_data_ages.txt, 'r')
linesList
= file.readlines()
#
print(linesList)
linesList
= [line.strip().split(,) forline
in linesList]
file.close()
print(linesList:)
print(linesList)
#
years = [string.atof(x[0])forx
in linesList]
years
= [x[0]forx
in linesList]
print(years)
price
= [x[1]forx
in linesList]
print(price)
plt.plot(years,
price, 'b*')#,label=$cos(x^2)$)
plt.plot(years,
price, 'r')
plt.xlabel(years(+2000))
plt.ylabel(housing
average price(*2000yuan))
plt.ylim(0,15)
plt.title('line_regression
& gradient decrease')
plt.legend()
plt.show()
8. python怎么画折线图
一、环境准备
linux ubuntu 下需安装下面三个包:
Numpy, Scipy,Matplotlib
分别输入下面的代码进行安装:
[plain] view plain copy
pip install numpy
pip install scipy
sudo apt-get install python-matplotlib
测试是否安装成功
[html] view plain copy
python
>>> import pylab
如果没有报错则安装成功
二、开始画图
1. 画最简单的直线图
代码如下:
[python] view plain copy
import numpy as np
import matplotlib.pyplot as plt
x=[0,1]
y=[0,1]
plt.figure()
plt.plot(x,y)
plt.savefig("easyplot.jpg")
结果如下:
代码解释:
[python] view plain copy
#x轴,y轴
x=[0,1]
y=[0,1]
#创建绘图对象
plt.figure()
#在当前绘图对象进行绘图(两个参数是x,y轴的数据)
plt.plot(x,y)
#保存图象
plt.savefig("easyplot.jpg")
2. 给图加上标签与标题
上面的图没有相应的X,Y轴标签说明与标题
在上述代码基础上,可以加上这些内容
代码如下:
[python] view plain copy
import numpy as np
import matplotlib.pyplot as plt
x=[0,1]
y=[0,1]
plt.figure()
plt.plot(x,y)
plt.xlabel("time(s)")
plt.ylabel("value(m)")
plt.title("A simple plot")
结果如下:
代码解释:
[python] view plain copy
plt.xlabel("time(s)") #X轴标签
plt.ylabel("value(m)") #Y轴标签
plt.title("A simple plot") #标题
3. 画sinx曲线
代码如下:
[python] view plain copy
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
#设置x,y轴的数值(y=sinx)
x = np.linspace(0, 10, 1000)
y = np.sin(x)
#创建绘图对象,figsize参数可以指定绘图对象的宽度和高度,单位为英寸,一英寸=80px
plt.figure(figsize=(8,4))
#在当前绘图对象中画图(x轴,y轴,给所绘制的曲线的名字,画线颜色,画线宽度)
plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2)
#X轴的文字
plt.xlabel("Time(s)")
#Y轴的文字
plt.ylabel("Volt")
#图表的标题
plt.title("PyPlot First Example")
#Y轴的范围
plt.ylim(-1.2,1.2)
#显示图示
plt.legend()
#显示图
plt.show()
#保存图
plt.savefig("sinx.jpg")
结果如下:
4. 画折线图
代码如下:
[python] view plain copy
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
#X轴,Y轴数据
x = [0,1,2,3,4,5,6]
y = [0.3,0.4,2,5,3,4.5,4]
plt.figure(figsize=(8,4)) #创建绘图对象
plt.plot(x,y,"b--",linewidth=1) #在当前绘图对象绘图(X轴,Y轴,蓝色虚线,线宽度)
plt.xlabel("Time(s)") #X轴标签
plt.ylabel("Volt") #Y轴标签
plt.title("Line plot") #图标题
plt.show() #显示图
plt.savefig("line.jpg") #保存图
结果如下: