当前位置:首页 » 编程语言 » python绘制曲线

python绘制曲线

发布时间: 2022-05-23 08:52:06

1. python如何画函数的曲线

输入以下代码导入我们用到的函数库。
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> x=np.arange(0,5,0.1);
>>> y=np.sin(x);
plt.plot(x,y)
采用刚才代码后有可能无法显示下图,然后在输入以下代码就可以了:
plt.show()

2. python 怎么画与其他方法进行比较的ROC曲线

使用sklearn的一系列方法后可以很方便的绘制处ROC曲线,这里简单实现以下。
主要是利用混淆矩阵中的知识作为绘制的数据(如果不是很懂可以先看看这里的基础):

tpr(Ture Positive Rate):真阳率 图像的纵坐标

fpr(False Positive Rate):阳率(伪阳率) 图像的横坐标

mean_tpr:累计真阳率求平均值

mean_fpr:累计阳率求平均值

import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm, datasets
from sklearn.metrics import roc_curve, auc
from sklearn.model_selection import StratifiedKFold

iris = datasets.load_iris()
X = iris.data
y = iris.target
X, y = X[y != 2], y[y != 2] # 去掉了label为2,label只能二分,才可以。
n_samples, n_features = X.shape
# 增加噪声特征
random_state = np.random.RandomState(0)
X = np.c_[X, random_state.randn(n_samples, 200 * n_features)]

cv = StratifiedKFold(n_splits=6) #导入该模型,后面将数据划分6份
classifier = svm.SVC(kernel='linear', probability=True,random_state=random_state) # SVC模型 可以换作AdaBoost模型试试

# 画平均ROC曲线的两个参数
mean_tpr = 0.0 # 用来记录画平均ROC曲线的信息
mean_fpr = np.linspace(0, 1, 100)
cnt = 0
for i, (train, test) in enumerate(cv.split(X,y)): #利用模型划分数据集和目标变量 为一一对应的下标
cnt +=1
probas_ = classifier.fit(X[train], y[train]).predict_proba(X[test]) # 训练模型后预测每条样本得到两种结果的概率
fpr, tpr, thresholds = roc_curve(y[test], probas_[:, 1]) # 该函数得到伪正例、真正例、阈值,这里只使用前两个

mean_tpr += np.interp(mean_fpr, fpr, tpr) # 插值函数 interp(x坐标,每次x增加距离,y坐标) 累计每次循环的总值后面求平均值
mean_tpr[0] = 0.0 # 将第一个真正例=0 以0为起点

roc_auc = auc(fpr, tpr) # 求auc面积
plt.plot(fpr, tpr, lw=1, label='ROC fold {0:.2f} (area = {1:.2f})'.format(i, roc_auc)) # 画出当前分割数据的ROC曲线

plt.plot([0, 1], [0, 1], '--', color=(0.6, 0.6, 0.6), label='Luck') # 画对角线

mean_tpr /= cnt # 求数组的平均值
mean_tpr[-1] = 1.0 # 坐标最后一个点为(1,1) 以1为终点
mean_auc = auc(mean_fpr, mean_tpr)

plt.plot(mean_fpr, mean_tpr, 'k--',label='Mean ROC (area = {0:.2f})'.format(mean_auc), lw=2)

plt.xlim([-0.05, 1.05]) # 设置x、y轴的上下限,设置宽一点,以免和边缘重合,可以更好的观察图像的整体
plt.ylim([-0.05, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate') # 可以使用中文,但需要导入一些库即字体
plt.title('Receiver operating characteristic example')
plt.legend(loc="lower right")
plt.show()

3. 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()

4. 如何用python turtle画斐波那契螺旋曲线

我把矩形和圆弧都用不同颜色填充了,你按照自己的需求修改一下吧,你的题目说的不清楚。

#Python3.6
#使用turtle绘制Fibonacci螺旋
defdraw_fibonacci(x):
#F0=1
#F1=1
#Fn=F(n-1)+F(n-2)

#产生斐波那契数列,用于查表
#像这种计算复杂性指数增长的计算,不要写个函数去每次求一个数
#最好的办法是,按照规律写出查找表,用查找的方法来得到数据
f_list=[]
foriinrange(x):
ifi==0:
f_list.append(1)
elifi==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()

foriinrange(0,len(f_list)):
#绘制速度,1~10个不同速度等级,小于1或者大于10立即绘制
turtle.speed(1)
turtle.pendown()

#绘制矩形
ifi==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)
ifi==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)

下面是我跑出来的结果:

5. 如何使用Python绘制光滑实验数据曲线

楼主的问题是否是“怎样描绘出没有数据点的位置的曲线”,或者是“x在某个位置时,即使没有数据,我也想知道他的y值是多少,好绘制曲线”。这就是个预测未知数据的问题。

传统的方法就是回归,python的scipy可以做。流行一点的就是机器学习,python的scikit-learn可以做。

但问题在于,仅由光强能预测出开路电压吗(当然,有可能可以预测。)?就是你的图1和图2的曲线都不能说是不可能发生的情况吧,所以想预测开路电压值还需引入其他影响因子。这样你才能知道平滑曲线到底应该像图1还是图2还是其他样子。

如果是单因子的话,从散点图观察,有点像 y = Alnx + B,用线性回归模型确定A,B的值就可以通过x预测y的值,从而绘制平滑的曲线了。

6. 如何使用python制作excel透视曲线图

Excel功能之强大,每个人都会用到。你还在为怎么做数据表烦恼么。Excel高版本自带的数据图表可以满足一般需求,这就是高版本的好处自带很多实用功能减轻繁重的工作。本文就2010版本的数据视图做个简单的功能介绍,制作一个孩子的各科目每年学习成绩曲线图
开启分步阅读模式
工具材料:
excel2010
操作方法
01
数据源,先做好每年孩子各科目学习成绩的记录

02
数据透视图,首先要选择数据,然后点击‘插入’-》数据透视表-》数据透视图

03
选择必要选项,在弹出的对话框中,有两个选项供选择,一个是数据源(可以选择外部数据源,默认是当前选中的数据),一个是视图要显示的位置,可以在当前的表中呈现,也可以在另外一个sheet中展现。一般情况下我是在当前工作表中呈现,直观,方便。

04
报错,如果选择了‘现有工作表’,但是‘位置’里为空,这样直接确定是会报错的,因为你还么有选择图标要显示的位置。

05
选择需要展示的数据,刚才选择的数据源列都在上面提现出来了,现在是要选择数据视图展示的内容。我们来选择科目、时间、成绩。

06
横轴、纵轴调整,图1位置是我们所谓的X轴,图2是我们要显示的几个内容,图3是显示的Y轴数值。

07
选择图标样式,步骤6完成之后,默认是柱状图,但是这个不直观,我想要的是曲线走势图,所以可以改变下显示的样式,

08
完美走势图,看曲线就可以知道小朋友数学、音乐成绩在不断提高,英语成绩波动不大,语文成绩在下滑。

7. 请问用python处理excel数据绘制曲线图能不能做成一个类似的小软件

可以啊,先确定好需要操作excel的哪些动作,用到哪些函数,然后通过python调用excel接口,实现对excel的操作;还有一种是只是读取excel里面的数据,然后通过matplotlib等第三方库,绘制数据曲线图。

8. 用python的 turtle 怎么画这个曲线

urtle库是python的基础绘图库,这个库被介绍为一个最常用的用来介绍编程知识的方法库,其主要是用于程序设计入门,是标准库之一,利用turtle可以制作很多复杂的绘图。turtle名称含义...

CSDN技术社区

9. 如何利用Python绘制ROC曲线

方法/步骤 1 首先,打开数据,以A2列数据为例做曲线。 2 点击“ Analyze -ROC curve ”。 3 弹出界面后,导入A2列数据,调节其它参数。 4 点击“OK”,出现结果。 5 双击ROC曲线,进入调节界面。 6 可以调节很多参数,也可以把曲线调成平滑的。

10. python的turtle怎么画曲线

turtle.circle()画圆

Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。

热点内容
脚本师传奇 发布:2025-02-13 14:45:48 浏览:481
我的世界lce服务器剪辑 发布:2025-02-13 14:40:50 浏览:624
phpsftp上传 发布:2025-02-13 14:35:43 浏览:273
c学生管理系统数据库 发布:2025-02-13 14:21:41 浏览:122
传奇添加会员脚本 发布:2025-02-13 14:20:50 浏览:206
微信开发平台源码 发布:2025-02-13 14:14:20 浏览:613
安卓大屏屏幕休眠是什么意思 发布:2025-02-13 14:13:28 浏览:464
脚本的参数设置 发布:2025-02-13 14:11:57 浏览:864
androidtexture 发布:2025-02-13 14:11:57 浏览:393
怎么取消网络密码怎么设置 发布:2025-02-13 14:11:54 浏览:426