到目前为止,我一直在尝试使用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
任何帮助都将不胜感激。
答案 0 :(得分:0)
我认为您的问题出在实际导入中 - 它可能是作为字符串导入的,而不是数字。
我建议使用pandas来处理导入。如果您正在进行科学计算,您会发现大熊猫非常有用。那你的问题就变成了:
import pandas
data = pandas.read_csv('Exp2Data.csv')
i2 = data.I2
v2 = data.V2
# ... plot as needed
大熊猫也可能有办法处理绘图!
答案 1 :(得分:0)
我认为问题来自你的标题。你的标题(第一行)是一个字符串,显然,matplotlib不能绘制这种数据。
你必须:
<Grid Background="Yellow">
<Expander Name="Expander">
<Grid Background="White" >
<TextBox Background="LightGreen" Width="150" Height="30"/>
</Grid>
</Expander>
<TextBox Name="AzureBox" Margin="0,20,0,0" Background="Azure" Width="150" Height="30">
<TextBox.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=Expander, Path=IsExpanded}" Value="True">
<Setter Property="TextBox.Visibility" Value="Collapsed"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
我没有运行脚本但它应该可以工作;)