前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >科研绘图之用matlab实现离散圆状态图绘制

科研绘图之用matlab实现离散圆状态图绘制

作者头像
巴山学长
发布2021-01-14 16:27:18
7180
发布2021-01-14 16:27:18
举报
文章被收录于专栏:巴山学长巴山学长

特别声明:本文仅谈科研,无关政治!!!

本文灵感来源于foxnews,之前推送容易被和谐,所以才等到结果公布之后才推送。

小编之前在浏览美国总统选举开票过程中在Foxnews中看见上面的实时开票状态图,也不知该图的学名叫什么,姑且就叫离散圆状态图。离散圆状态图可以展示4个维度的信息 —— 州名、票数、领先状态以及最终状态,是一种非常不错的多维度数据展示方法。

如此优秀的图表,能否采用matlab来实现呢?答案是肯定,说干就干,干就干成,经过小编一番琢磨,matlab版的美国总统大选状态图展现在了小编眼前。下面小编就来给大家念叨念叨如何实现的:

首先需要编写一个绘制圆形的程序用来专门绘制各个状态圆,其次需要定义各个圆的相对位置,再则需要在圆中添加数据标签,最后添加相应的背景颜色。细心的小伙伴应该发现,有的圆上还有小圆,而且颜色也是自定义的,这个其实只要搞定前面的步骤就能迎刃而解。

主程序

代码语言:javascript
复制

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%       作者:bashan (巴山)        % 
%      欢迎关注 matlab爱好者       %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% 内容:科研绘图之美国总统大选状态图的matlab实现

clc;clear;close all;
R = 2;                                         % 半径   
CX = [2,7,12,17,22,27,32,37,42,47];            % 圆心 X
CY = [37,32,27,22,17,12,7,2];                  % 圆心 Y
theta = linspace(0,2*pi,100);                  % 角度
BG    = backGColor;                            % 获取背景颜色
[ST,loc,num,sst,ss] = getLoc;                  % 获取州名、状态以及选举人票数

fig = figure('Position',[395 86 894  700],'Name','美国总统大选状态图绘制 —— matlab爱好者出品','NumberTitle','off','Color','w','Menubar','none');
title('matlab实现美国总统大选状态图绘制演示','Color','r','FontWeight','Bold','FontName','楷体','FontSize',30);
hold on;
xlim([0 50]);
ylim([-4 40]);
axis equal;
axis off;
for m = 1:8
    for n = 1:10
        C = [CX(n),CY(m)];
        dotPlot(m,n,R,C,theta,BG,ST,num,loc,sst,ss);
        if loc(m,n) ~= 0
            pause(0.05);
        end
    end
end

% 绘制底部状态图例
plotFinal(theta,BG);

为了展示效果,小编专门做成了一个动态的展示图,如下:

美国总统选举结果离散圆状态图动态展示

本文仅是抛砖引玉,小伙伴们可以根据小编上方讲到的步骤去实现。本文所涉及的所有源代码已上传至原创代码共享Q群,如有需要源代码的伙伴且愿意支持小编工作,可在matlab爱好者公众号回复“原创”或“共享”获取相关信息。

参考资料:https://www.foxnews.com/elections/2020/general-results

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 巴山学长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档