发布于2020-01-15 13:23 阅读(1735) 评论(0) 点赞(30) 收藏(0)
我正在尝试使用存储在.txt文件中的cbar数据创建散点图。我在stackoverflow上找到了一段代码,并对其进行了测试,以查看它是否适用于我的数据。
示例代码如下:
for record in range(5):
x = rand(50)
y = rand(50)
c = rand(1)[0] * np.ones(x.shape)
X.append(x)
Y.append(y)
C.append(c)
X = np.hstack(X)
Y = np.hstack(Y)
C = np.hstack(C)
ms=45
s = plt.scatter(X,Y,c=C, cmap=cm,s=ms)
cbar = plt.colorbar()
cbar.set_label('test')
plt.savefig('pics/test/test.png', dpi=300)
上面的代码生成以下散点图:
我已经将上面的简单代码改编成这样的数据:
cm = plt.cm.get_cmap('YlOrRd')
x, y, z = np.loadtxt('test.txt', unpack=True)
ms=45
pareto = plt.scatter(x,y,z, cmap=cm,s=ms)
cbar = plt.colorbar()
cbar.set_label('test')
plt.savefig('pics/test/test.png', dpi=300)
但是,以上代码返回以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\Mason\Desktop\WinPython-64bit-2.7.6.4\python-
2.7.6.amd64\lib\site-
packages\spyderlib\widgets\externalshell\sitecustomize.py", line 540, in
runfile
execfile(filename, namespace)
File "F:/Optimisation/Plotting_data.py", line 28, in
<module>
d = plt.scatter(x,y,z, cmap=cm,s=ms)
TypeError: scatter() got multiple values for keyword argument 's'
>>>
另外,如何调整轴极限?
你差点就吃了。您只需要指定颜色与z
数组相关即可,因为scatter
绘图不需要第三个值。只需c=z
在您的代码中指定,然后您就可以使用了。
cm = plt.cm.get_cmap('YlOrRd')
x, y, z = np.loadtxt('test.txt', unpack=True)
ms=45
pareto = plt.scatter(x,y,c=z, cmap=cm,s=ms) #change to c=z
cbar = plt.colorbar()
cbar.set_label('test')
plt.savefig('pics/test/test.png', dpi=300)
并且正如Jacob指出的那样,使用plt.xlim()
和plt.ylim()
调整极限。
作者:黑洞官方问答小能手
链接:https://www.pythonheidong.com/blog/article/222720/fc4109be0528f0f263fb/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!