ae绘图未指定错误怎么办_Python学习使用Plotly绘图遇到的小问题

v2-fe393ad3ef207ab23ea2713d7f7c55aa_1440w.jpg?source=172ae18b

安装Plotly的Python中的图形库

使用pip安装。

pip install plotly

官网关于Python的示例是最好的资料,各种样式的图并附有源码,可以自行寻找需要的类型,并结合例子学习。

plotly​plot.ly
v2-f1dc0db0b53087bc0e537a782153857c_ipico.jpg

绘制官网例子时会遇到的问题

官方例子导入模块时通常是这样的。

import 

复制,运行,然后并没有发现图,但是终端会出现。

Aw, snap! We didn't get a username with your request.

Don't have an account? https://plot.ly/api_signup

Questions? accounts@plot.ly

这是因为官网例子是使用在线绘图模块,在线功能非常有趣。前提是你得注册账号并登陆,然而受网络限制,使得这件事变得不容易。所以本文中仅介绍在plotly的离线模块下如何绘图。除少部分需要在线加载数据的例子外,其余仅需修改下面两点即可成功绘制。

1、第一行导入模块时由(使用在线绘图模块)

import 

更改为(使用离线绘图模块)

import 

2、最后一行绘图时由(在线功能,生成在IPython notebook)

py

更改为(生成本地的html文件)

py

完成了这两点的更改,再去运行官网的例子时就会发现浏览器被调用并打开了一个网页,这个网页的内容就是我们所绘制的图像了。

很可能遇到的一个问题

官网的例子中最常使用的一个其他的第三方库是numpy,通常都是下面这样的代码。它的作用就是产生绘图所用的数据,例如产生等差数列、随机数列等。如果你没装numpy,请先安装!

import numpy as np
N = 100
random_x = np.linspace(0, 1, N)
random_y0 = np.random.randn(N)

numpy是python中关于数组与矩阵运算的第三方库,而plotly并非必须依赖numpy才可以工作,只是使用numpy产生、管理一定规模的数据很方便,贴心的Plotly官网甚至于给了Numpy的教程。

plotly​plot.ly
v2-f1dc0db0b53087bc0e537a782153857c_ipico.jpg

让我们来看一个来自官方的问题例子

先给链接。

Line Charts​plot.ly

方便照顾懒得点开的童鞋,代码贴在下面(代码来自上面的连接)

import 

所产生的图像如下

v2-ff46c8ed5de014f1ff5f4623f44c601a_b.jpg
因为绘制的数据是随机数,所以每次运行都长得不太一样

如果浏览官网这部分内容时就会发现一个问题,官网的例子将图像放错了!(若官网将问题已修正,可以联系作者将这部分内容删除)

v2-9ae642f9d5ce61e60b136cfd6dc75092_b.jpg
网站截图来自上面的官网例子教程的连接

还有更多错误等着你去发现(手动滑稽)!

来看看画个图我们都需要干点啥

代码的开始导入两个模块,至于为什么导入两个后面将会详细介绍。

import plotly.plotly as py      # 别忘记离线要改为 import plotly.offline as py
import plotly.graph_objs as go      

这部分使用了numpy模块来产生原数据。等差数列random_x 与随机数列random_y 。

# Create random data with numpy
import numpy as np

N = 500
random_x = np.linspace(0, 1, N)
random_y = np.random.randn(N)

go.Scatter函数的作用为将原数据转换成为‘轨迹数据’并赋值给变量trace 。

# Create a trace
trace = go.Scatter(
    x = random_x,
    y = random_y
)

最后一步py.plot函数将调用‘轨迹数据’生成html格式的图像

data = [trace]
py.iplot(data, filename='basic-line')   # 别忘记离线要将iplot更改为plot

将绘图步骤做个小结

  1. 导入模块
  2. 准备数据
  3. 转换数据
  4. 绘制图像

其他常见问题

导出为位图或矢量图,仅需在最后一行添加一个参数

py.plot(figAxis, filename='filename.html', image='svg')

image的作用为指定导出图片的格式,默认为None不导出图片。其中'svg'是矢量图的格式,可以使用浏览器查看。对于编写论文来说可能更常使用的pdf格式的矢量图。可以使用Adobe illustrator以矢量图方式编辑后再导出pdf,或其他格式转换工具进行格式转换。

image除 'svg' 外还支持 'png' 'jpeg' 'webp' 格式。如果对分辨率有要求,请先导出svg后再转换成其他格式便可以保证图像清晰。

其他问题

备忘纸条

官网提供了一个很方便的东西叫做Cheat Sheet(备忘纸条)

v2-c9791be81415dde5bb78bcf06c40eb3e_b.jpg
连接在这里

下面这个连接就是上图所指的

https://images.plot.ly/plotly-documentation/images/python_cheat_sheet.pdf​images.plot.ly

这是截图

v2-cca7a7f1f7b7bca69e32fa3cb954561c_b.jpg
Cheat Sheet(备忘纸条)来自上面的连接

非常喜欢这个小东西,查看API真的很方便快捷。但是,新手请注意!!!新手请注意!!!这里面有些小错误,如果你完全照抄,可能会遇到这些错误!!!下面列举了两个例子。(如果官网已更正错误,或者你发现了更多错误的话都请告诉我)

v2-4e56606a41bcf38a35a5995fa69a451d_b.jpg
逗号丢啦!!!

v2-ca050965c7720bad84ca928d6c96d1d2_b.jpg
两个 x !这图没法画了,哈哈哈!将下面的x改为y即可。

Python2

官网有些例子是使用Python2写的,例如这个例子

3D Network Graphs​plot.ly
v2-65a65e3e8c113f34ff44abb79db3994a_ipico.jpg

其中仅适用于Python2的部分代码是从网站加载数据,plotly本身是Pyhton2与3通用的。

igraph

上面那个例子中还有一个是关于模块igraph的问题,这个模块因为同名问题使用pip安装会报错,如果想复现官网这个例子,请先参考这个链接解决这个问题。

Windows7 64位环境下Python-igraph环境配置​www.cnblogs.com
v2-b1c52e30d127eda137b326ad6beda66b_180x120.jpg
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值