簡體   English   中英

如何以科學計數法導入圖的數據?

[英]How do I import data in scientific notation for a plot?

到目前為止,我一直在嘗試使用python將格式較差的科學計數法數據導入繪圖中。 我嘗試了

import matplotlib.pyplot as plt
import numpy as np

data = np.genfromtxt("/home/rex/Documents/ModLab/PhotoElec/Exp2Data.csv",delimiter=',', unpack=True, names=True)

plt.axis([-1,32, 0 , 203])

plt.title('All Aperture')
plt.xlabel('Voltage')
plt.ylabel('Current')
plt.plot(data, 'ro')

plt.show()

數據在一個csv文件中,看起來像這樣,但時間更長。

I2,V2,I2,V2,I2,V2
0,-0.5,0,-1,0,-0.9
2.00E-011,0.5,1.00E-010,0,3.50E-010,0.1
5.00E-011,1.5,3.00E-010,1,1.55E-009,1.1

另外,當我運行分配數據文件時,我得到了這個奇怪的錯誤。

SyntaxError: EOL while scanning string literal

任何幫助,將不勝感激。

我認為您的問題出在實際的導入中-它可能是作為字符串而不是數字導入的。

我建議使用熊貓來處理進口。 如果您正在進行科學計算,您會發現熊貓非常有用。 您的問題將變為:

import pandas
data = pandas.read_csv('Exp2Data.csv')
i2 = data.I2
v2 = data.V2
# ... plot as needed

熊貓也可能有其他方式來處理繪圖!

我認為問題出在您的標題上。 標頭(第一行)是一個字符串,顯然,matplotlib無法繪制此類數據。

您必須:

data = np.genfromtxt("/home/rex/Documents/ModLab/PhotoElec/Exp2Data.csv",
                     delimiter=',', 
                     unpack=True, 
                     names=True, 
                     skip_header = 1)
# skip_header let to go directly to your data and pass the header

我沒有運行腳本,但它應該可以工作;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM