1 介绍
matplotlib是Python中最广为人知的图表绘制框架。但是它实在太复杂了,如果要画出较为漂亮的图,则需要付出很多的时间与精力。这次介绍一个Python下能轻松生成各种图表的框架plotly plotly是一个可交互,基于浏览器的绘图库,主打功能是绘制在线可交互的图表,所绘制出来的图表真的赏心悦目。它所支持的语言不只是Python,还支持诸如r,matlab,javescript等语言。plotly绘制的图能直接在jupyter中查看,也能保存为离线网页,或者保存在plot.ly云端服务器内,以便在线查看。
官网:https://plot.ly
2 安装
Step 1:
在Plotly官网上注册账号。https://plot.ly/matlab/
Step2:
注册完成后,进入账号设置,可以查看我的点击API KEY以及USERNAME。https://plot.ly/settings/api/
Step 3:
接下来,下载matlab端的plotly开源代码。进入如下Github网址后,点击右侧Clone or download即可下载。
https://github.com/plotly/MATLAB-api
Step4:
打开matlab,进入刚下载的文件夹。填入你的用户名和API。运行程序:
plotlysetup('DemoAccount', 'API Key')
Step5:
我们来画一张图试试。就使用Step3中网址内的Demo。在Matlab命令窗中输入以下代码:
% Create some data for the two curves to be plotted x = 0:0.01:20; y1 = 200*exp(-0.05*x).*sin(x); y2 = 0.8*exp(-0.5*x).*sin(10*x); % Create a plot with 2 y axes using the plotyy function figure; [ax, h1, h2] = plotyy(x, y1, x, y2, 'plot'); % Add title and x axis label xlabel('Time (s)'); title('Frequency Response'); % Use the axis handles to set the labels of the y axes set(get(ax(1), 'Ylabel'), 'String', 'Low Frequency'); set(get(ax(2), 'Ylabel'), 'String', 'High Frequency'); %--PLOTLY--% p = fig2plotly; % <-- converts the yy-plot to an interactive, online version. %--URL--% % p.url = 'https://plot.ly/~matlab_user_guide/1522'
本地Matlab 会绘制出:
在线Plotly会出现下面数据,可以随意调控图片:
点击下载,可查看支持的格式:
3 离线绘制
离线绘制图片。
我们可能不希望自己的作图上传到网上,或者有时需要在无网络环境下绘制图片。Plotly支持离线绘图功能。
matlab命令框中输入:
getplotlyoffline('https://cdn.plot.ly/plotly-latest.min.js')
然后,在绘图时,将Step5中的最后一行代码改为:
p = fig2plotly(gcf,'offline',true);
本地就会生成.html格式的图片了,我们可以在浏览器中打开图片,并对其进行编辑
致谢链接 https://blog.csdn.net/kelaiyinping1/article/details/51460045 https://plot.ly/matlab/getting-started/ https://plot.ly/matlab/offline/