我正在尝试制作散点图并使用列表中的不同数字注释数据点.所以例如我想绘制y vs x并使用n中的相应数字进行注释.
y = [2.56422, 3.77284, 3.52623, 3.51468, 3.02199]
z = [0.15, 0.3, 0.45, 0.6, 0.75]
n = [58, 651, 393, 203, 123]
ax = fig.add_subplot(111)
ax1.scatter(z, y, fmt='o')
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我正在尝试创建一个简单的三维散点图,但我想在同一图上显示这些数据的二维投影.这将允许显示在3D图中可能难以看到的这3个变量中的两个之间的相关性.
我记得之前在某个地方看过这个,但却无法再找到它.
这是一些玩具示例:
x= np.random.random(100)
y= np.random.random(100)
z= sin(x**2+y**2)
fig= figure()
ax= fig.add_subplot(111, projection= '3d')
ax.scatter(x,y,z)
Run Code Online (Sandbox Code Playgroud) 我有一个很大的 CSV 文件,其中有一列,其中某些行有换行符。我想读取每个单元格的内容并将其写入文本文件,但 CSV 阅读器将带有换行符的单元格拆分为多个(多行)并将每个单元格写入单独的文本文件。
在 MAC Sierra 上使用 Python 3.6.2
下面是一个例子:
"content of row 1"
"content of row 2
continues here"
"content of row 3"
Run Code Online (Sandbox Code Playgroud)
这是我阅读它的方式:
with open(csvFileName, 'r') as csvfile:
lines= csv.reader(csvfile)
i=0
for row in lines:
i+=1
content= row
outFile= open("output"+str(i)+".txt", 'w')
outFile.write(content)
outFile.close()
Run Code Online (Sandbox Code Playgroud)
这是为每行创建 4 个文件而不是 3 个。关于如何忽略第二行中的换行符的任何建议?
我正在尝试使用 matplotlib 制作一个简单的 3D 曲面图,但该图最终没有显示;我只得到空的 3D 轴。
这是我所做的:
from mpl_toolkits.mplot3d import Axes3D
x = np.arange(1, 100, 1)
y = np.arange(1, 100, 1)
z = np.arange(1, 100, 1)
fig = figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(x, y, z, rstride=5, cstride=5)
show()
Run Code Online (Sandbox Code Playgroud)
...我明白了:
有什么建议么?
我有一个二维数组,我需要绘制列x和y,但只在x的某个范围内.我知道如何使用索引进行绘图,但我需要指定x 的值.我有一些这样的数组,所以我试图找到一种方法来做到这一点,而不必单独查看它们中的每一个.
这是一个例子:
array([[ 4.40148390e+03, 1.13200000e+00],
[ 4.40248390e+03, 1.12200000e+00],
[ 4.40348440e+03, 1.11600000e+00],
[ 4.40448440e+03, 1.10600000e+00],
[ 4.40548490e+03, 1.09200000e+00],
[ 4.40648490e+03, 1.07700000e+00],
[ 4.40748540e+03, 1.08700000e+00],
[ 4.40848540e+03, 1.09400000e+00],
[ 4.40948580e+03, 1.10200000e+00],
[ 4.41048580e+03, 1.09500000e+00],
[ 4.41148630e+03, 1.12000000e+00]])
Run Code Online (Sandbox Code Playgroud)
所以,假设我只需要,4402 < x < 4410但我不知道索引.我可以放一些类似的东西plot(x, y, where(4402 < x < 4410))吗?
我觉得我有一些明显的东西在这里:p
我写了这段代码来计算大样本的模式和标准偏差:
import numpy as np
import csv
import scipy.stats as sp
import math
r=open('stats.txt', 'w') #file with results
r.write('Data File'+'\t'+ 'Mode'+'\t'+'Std Dev'+'\n')
f=open('data.ls', 'rb') #file with the data files
for line in f:
dataf=line.strip()
data=csv.reader(open(dataf, 'rb'))
data.next()
data_list=[]
datacol=[]
data_list.extend(data)
for rows in data_list:
datacol.append(math.log10(float(rows[73])))
m=sp.mode(datacol)
s=sp.std(datacol)
r.write(dataf+'\t'+str(m)+'\t'+str(s)+'\n')
del(datacol)
del(data_list)
Run Code Online (Sandbox Code Playgroud)
哪个效果很好 - 我想!但是,在我运行代码后,我的终端上出现了一条错误消息,我想知道是否有人可以告诉我这意味着什么?
/usr/lib/python2.6/dist-packages/scipy/stats/stats.py:1328: DeprecationWarning: scipy.stats.std is deprecated; please update your code to use numpy.std.
Please note that:
- numpy.std axis argument defaults to None, not 0
- numpy.std has …Run Code Online (Sandbox Code Playgroud) python ×6
matplotlib ×4
scatter-plot ×3
csv ×2
numpy ×2
3d ×1
annotate ×1
conditional ×1
plot ×1
scipy ×1
seaborn ×1
statistics ×1
surface ×1
text ×1