加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python:使用matplotlib的x-y-plot

发布时间:2020-12-20 11:13:33 所属栏目:Python 来源:网络整理
导读:我想绘制一些数据.第一列包含x数据.但matplotlib没有绘制这个.我的错误在哪里? import numpy as npfrom numpy import cosfrom scipy import *from pylab import plot,show,ylim,yticksfrom matplotlib import *from pprint import pprintn1 = 1.0n2 = 1.5#a
我想绘制一些数据.第一列包含x数据.但matplotlib没有绘制这个.我的错误在哪里?

import numpy as np
from numpy import cos
from scipy import *
from pylab import plot,show,ylim,yticks
from matplotlib import *
from pprint import pprint

n1 = 1.0
n2 = 1.5

#alpha,beta,intensity
data = [
    [10,22,4.3],[20,42,4.2],[30,62,3.6],[40,83,1.3],[45,102,2.8],[50,123,3.0],[60,143,3.2],[70,163,3.8],]

for i in range(len(data)):
    rhotang1 = (n1 * cos(data[i][0]) - n2 * cos(data[i][1]))
    rhotang2 = (n1 * cos(data[i][0]) + n2 * cos(data[i][1]))
    rhotang = rhotang1 / rhotang2
    data[i].append(rhotang) #append 4th value

pprint(data)
x = data[:][0]
y1 = data[:][2]
y3 = data[:][3]
plot(x,y1,x,y3)
show()

编辑:http://paste.pocoo.org/show/205534/
但它不起作用.

解决方法

x = data[:][0]
y1 = data[:][2]
y3 = data[:][3]

这些线条不符合你的想法.

首先,他们取一个整个数组的数组(即只是一个副本),然后从该数组中取出第0,第2或第3行,而不是列.

你可以试试

x = [row[0] for row in x]

等等

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读