matlab根据坐标画散点图,python读取坐标绘制散点图

  matlab根据坐标画散点图,python读取坐标绘制散点图

  为什么是Python?

  首先我来说说为什么数据分析一定要用Python和R语言。这么多编程语言,Java和PHP已经成熟了。为什么最近数据分析这个热门领域有很多人选择Python语言?

  数据分析只是一个需求。理论上,任何语言都可以满足任何要求,但这是一个麻烦而简单的区别。Python诞生的相当早。它的原始版本发布于26年前,曾经(或现在)用于web开发,但普及程度远远落后于Java和PHP。东方不亮,西方亮。在与Java之战失败后的20多年里,Python掌握了独门绝技,远远落后于Java和PHP。说到博客网站,Python的特长不在这里。PHP和Java也是分分钟的事。做BBS网站,做电商网站,说PHP手就要被抓。Python在这些方面和Java、PHP竞争,基本上是死磕的节奏。虽然有类似django的框架,但是没有其他语言流行。然而,这几年不为人知的失败背后,却是研究人员用Python创造出了让鬼神哭泣的神器。除了R语言,Python在数据研究领域几乎没有做过什么。

  日本工业

  首先,第一个神器是Jupyter。如果你是第一次使用它,你可能不知道开发人员在做什么来创建这样一个幽灵。虽然博客系统不同于web服务,但它非常有用。我们传统的web开发首先是面向大众的,所以你作为一个服务器,服务成千上万的浏览器。当然,Jupyter也可以服务很多浏览器,但是对于研究人员来说非常方便。你像写文章一样直接在输入框写代码,在这个页面可以直接看到这段代码的结果。可以随时修改,随时表达,字符码混在一起。这是Markdown的扩展版本。毕竟Markdown只能显示文本。最多只需要添加图片,但是Jupyter可以直接执行Python代码。当然,也有人尝试在Jupyter上运行PHP和Java代码,但显然这不是气候。Python本质上是一种脚本语言,因此Javascript可能是未来唯一有望移植到其中的语言。这个商品也是一种脚本语言。编写脚本的好处是,不用编译就可以每行得到一个结果。纵观计算机语言发展史,是一个从复杂到简单的过程。c语言需要编译链接才能运行。只有Java能把编译和链接放在一起。PHP更简单,直接执行就行了。连编译都可以省。然而,它不是直接的。因为php必须创建一个文件存盘才能运行。在Python等脚本语言中,可以直接在shell中执行,但最大的问题是只能执行不能保存。要保存,您必须找到编辑器或vi并将其保存到一个文件中,然后才能运行它,就像前面的方法一样。Jupyter最大的优点是它是一个shell环境,可以运行脚本,但也可以自动保存脚本代码。除了脚本代码,所有插入脚本代码的注释都不是普通注释。各种格式的Markdown也保存在一起,可以随时修改。所以兼具脚本案例和文件管理系统的优点。从此,在开发Python代码时,不需要在IDE中编写代码,然后在终端上执行。相反,您可以在一个网页上处理所有内容。Java里有这样的工具吗?PHP中有这样的工具吗?不,你必须选择Python。

  熊猫

  第二个神器是熊猫。如果Java或PHP读取csv文件得到每列数据的平均值、最大值、最小值和方差,会做什么?首先逐行读取fopen文件,给出整个数据结构,进行循环计算。最后,可能需要一个名为fclose的文件。简而言之,代码看起来又圆又麻烦。另一方面,Python语言有一个名为Pandas的神器,所以只需要一行代码:

  df=PD.read_CSV(a.CSV))

  是的,从那以后,df就是这个数据框。它本身就是一个强大的数据结构,也可以看作是mysql数据库中的一个表。各种删除,求和,求平均就是一行代码。于是,就有了这么强大的库。科研人员为什么选择Java?

  Sci工具包-学习

  Scikit-learn,第三个工件,通常被称为s learn。至于各种机器学习算法,只要你能想到的,线性回归、logistic回归、SVM、随机森林、最近邻等算法都在这里。总之只有你想不到。没有那个是不行的。不详细。所以机器学习肯定会选择Python。可以帮我找一个Java和PHP有这么多算法的库吗?

  金属材料

  第四个工件是matplotlib。根据上面csv文件中的信息,如果让人家画,Java该怎么办?当然,费了好大劲才找到第三方插件库。最后编译后运行。想换配色怎么办?如果你要一张地图呢?想画热图怎么办?那太麻烦了。对于matplotlib来说简直就是小菜一碟。简单的直方图不言而喻。本文重点介绍如何使用matplotlib和底图绘制中国地图。

  安装基本地图

  首先安装适当的组件。假设你安装了Python,Jupyter等。如果没有,可以试试brew安装python3,brew安装jupyter。网上有很多教程。

  然后你需要用pip 3安装很多我们下面可能需要的库。但是,因为我们将使用一个名为Basemap的库,并且无法通过简单的pip3安装来安装该库,所以需要多一些步骤:

  brew安装geos

  pip3安装https://github.com/matplotlib/basemap/archive/v1.1.0.tar.gz

  开始画画。

  启动Jupyter后,我们还是从最简单的代码开始。先画一张世界地图:

  将matplotlib.pyplot作为plt导入

  从mpl_toolkits.basemap导入底图

  plt.figure(figsize=(16,8))

  m=底图()

  m.drawcoastlines()

  plt.show()

  前两行介绍了对应的库,真正的代码只有四行,足够简单。第1行甚至不需要写,它定义了图形的大小。第2行我们创建一个地图,第3行绘制海岸线,第4行显示这个地图,就这样:

  用4行Java代码画地图?

  然后我们开始画国家,另一行代码:

  m.drawcountries(线宽=1.5)

  事情变成了这样:

  有可能用Java吗?有可能用PHP吗?

  如果要显示中国地图,我们只需在创建底图时指定纬度和经度:

  m=底图(llcrnrlon=73,llcrnrlat=18,urcrnrlon=135,urcrnrlat=53)

  然后我拿到了中国地图:

  看起来有点失真。这是因为我们没有添加任何投影。底图提供了24种不同的投影方法,您可以逐一尝试。更常用的是安静的流行摇滚投影。我们补充一下:

  m=底图(llcrnrlon=77,llcrnrlat=14,urcrnrlon=140,urcrnrlat=51,投影=lcc ,lat_1=33,lat_2=45,lon_0=100)

  最后,这次看起来更正常:

  想加省界应该怎么做?底图的默认包不包括中国的省份和地区,仅包括美国的州。毕竟是美国人做的。好在世界很大,有专门的国际组织来做这件事。在这里,你可以下载世界上任何一个国家的行政区划形状文件,然后我们会补充:

  m . readshapefile( CHN _ ADM _ shp/CHN _ ADM 1 , states ,drawbounds=True)

  然后你就得到下面这张图:

  以后可以在图片上换颜色写数字。这些就交给你研究吧。总之,我想说的是,用Python画地图真的超级简单。

  最后,为Java和PHP说句好话:每个人都有不同的分工。Java和PHP虽然不方便做这样的数字化研究,但是还是很适合web开发的,而Python在这方面就不太适合了。所以通常的做法是:先用Python验证算法,经过一系列复杂的计算,确定算法,然后在要应用到web的时候用Java或者PHP重写最终结论,这样就可以充分发挥各种语言的优势。

  以上用python绘制中国地图是边肖分享的全部内容。希望给你一个参考,支持Python博客。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: