网易首页 > 网易号 > 正文 申请入驻

美赛论文配图配色这样画!成功让评审专家眼前一亮

0
分享至

美赛开赛在即,可能你已经准备好建模、写作以及代码,但是可能还没准备好论文中的配色,在好看的图尤为重要的美赛中,好的图片会给论文锦上添花。那么小编今天跟大家分享一篇如何使用python画出干净、漂亮的绘图技巧,帮助同学们突出重围,获得评审老师的青睐!

一、2D绘图

1.折线图

import matplotlib.pyplot as plt

  1. #上一行代码也可替换为 import pylab as plt

  2. x = [1,2,3] #各个点的横纵坐标

  3. y = [5,7,4]

  4. x2 = [1,2,3]

  5. y2 = [10,14,12]

  6. plt.plot(x, y, label='First Line') #对应的哪几个参数是一条直线

  7. plt.plot(x2, y2, label='Second Line') #label=' '对应的直线名为什么

  8. plt.xlabel('Plot Number') #xlabel 横坐标的含义,ylabel同理

  9. plt.ylabel('Important var')

  10. plt.grid(linestyle = "--") #设置背景网格线为虚线

  11. plt.title('Interesting Graph\nCheck it out') #表格标题

  12. plt.legend() #生成默认图例

  13. plt.show() #生成图像

2.条形图

  1. import pylab as plt

  2. plt.bar([1,3,5,7,9],[5,2,7,8,2], label="Example one",color='navy') #生成的数据,标签名,颜色

  3. plt.bar([2,4,6,8,10],[8,6,2,5,6], label="Example two", color='g')

  4. plt.legend() #生成图例

  5. plt.xlabel('bar number') #生成坐标标签

  6. plt.ylabel('bar height')

  7. plt.title('Epic Graph\nAnother Line! Whoa') #生成表格标题

  8. plt.show()

你可以在任何类型的绘图中使用颜色,例如g为绿色,b为蓝色,r为红色,等等。具体颜色代码请见附录

3.直方图

  1. import matplotlib.pyplot as plt

  2. plt.rc('font', family='Simhei') #涉及到中文图示,需要加上此句

  3. population_ages = [22,55,62,45,21,22,34,42,42,4,99,102,110,120,121,122,130,111,115,112,80,75,65,54,44,43,42,48]

  4. #每个点的数值

  5. bins = [0,10,20,30,40,50,60,70,80,90,100,110,120,130] #对应的横坐标间距

  6. plt.hist(population_ages, bins, histtype='bar', rwidth=0.8) #直方图矩形宽度设置

  7. plt.xlabel('x')

  8. plt.ylabel('y')

  9. plt.title('图像标题名')

  10. plt.legend() #生成图示

  11. plt.show()


4.散点图

  1. import pylab as plt

  2. x = [1,2,3,4,5,6,7,8]

  3. y = [5,2,4,2,1,4,5,2] #x和y对应多个点的坐标

  4. plt.scatter(x,y, label='skitscat', color='b', s=25, marker="o") #label标签名,color散点颜色,s表示点的大小(数值越大,点越大)

  5. plt.xlabel('x')

  6. plt.ylabel('y')

  7. plt.title('Interesting Graph\nCheck it out')

  8. plt.legend()

  9. plt.show()


5.饼状图

import matplotlib.pyplot as plt

  1. import matplotlib.pyplot as plt

  2. plt.rc('font', family='Simhei')

  3. slices = [7,2,2,13] #各个图形占总体的比重,例如 7/(7+2+2+13)=29.2%

  4. activities = ['sleeping','eating','working','playing'] #各个扇形标签

  5. cols = ['c','m','r','b'] #图像颜色

  6. plt.pie(slices,

  7. labels=activities,

  8. colors=cols,

  9. startangle=90,

  10. shadow= True,

  11. explode=(0,0.1,0,0),

  12. autopct='%1.1f%%')

  13. plt.title('图像标题')

  14. plt.show()

  1. 在plt.pie中:

  2. 首先我们需要指定『切片』,这是每个部分的相对大小。

  3. 然后,我们指定相应切片的颜色列表。

  4. 接下来,我们可以选择指定图形的『起始角度』。这使你可以在任何地方开始绘图。在我们的例子中,我们为饼图选择了 90 度角,这意味着第一个部分是一个竖直线条。

  5. 接下来,我们可以选择给绘图添加一个字符大小的阴影,然后我们甚至可以使用explode拉出一个切片。

  6. 我们总共有四个切片,所以对于explode,如果我们不想拉出任何切片,我们传入0,0,0,0。如果我们想要拉出第一个切片,我们传入0.1,0,0,0。数值越大,这个切片被拉出的距离就越大。

explode=(0,0.1,0,0),

6.堆积条形图

import matplotlib.pyplot as plt

通过使用 plt.bar() 函数中的可选参数,可以绘制堆积条形图,plt.bar() 函数的可选参数 bottom 允许指定条形图的起始值。


  1. import matplotlib.pyplot as plt

  2. y_1 = [3., 25., 45., 22.]

  3. y_2 = [6., 25., 50., 25.]

  4. x = range(4)

  5. plt.bar(x, y_1, color = 'b')

  6. plt.bar(x, y_2, color = 'r', bottom = y_1)

  7. plt.show()

可以结合 for 循环,利用延迟呈现机制可以堆叠更多的条形:

  1. import numpy as np

  2. import matplotlib.pyplot as plt

  3. data = np.array([[5., 30., 45., 22.], [5., 25., 50., 20.], [1., 2., 1., 1.]])

  4. x = np.arange(data.shape[1])

  5. for i in range(data.shape[0]):

  6. plt.bar(x, data[i], bottom = np.sum(data[:i], axis = 0))

  7. plt.show()

7.对称条形图

import matplotlib.pyplot as plt

例如,当我们想要绘制不同年龄段的男性与女性数量的对比时,一个简单且有用的技巧是对称绘制两个条形图:


  1. import numpy as np

  2. import matplotlib.pyplot as plt

  3. w_pop = np.array([5., 30., 45., 22.])

  4. m_pop = np.array( [5., 25., 50., 20.])

  5. x = np.arange(4)

  6. plt.barh(x, w_pop)

  7. plt.barh(x, -m_pop)

  8. plt.show()

图中女性人口的条形图照常绘制。然而,男性人口的条形图的条形图的条形图向左延伸,而不是向右延伸。可以使用数据的负值来快速实现对称条形图的绘制。

二、3D绘图

1.3D散点图

import matplotlib.pyplot as plt

  1. from mpl_toolkits.mplot3d import axes3d

  2. import matplotlib.pyplot as plt

  3. from matplotlib import style

  4. style.use('ggplot')

  5. fig = plt.figure()

  6. ax1 = fig.add_subplot(111, projection='3d')

  7. x = [1,2,3,4,5,6,7,8,9,10]

  8. y = [5,6,7,8,2,5,6,3,7,2]

  9. z = [1,2,6,3,2,7,3,3,7,2]

  10. x2 = [-1,-2,-3,-4,-5,-6,-7,-8,-9,-10]

  11. y2 = [-5,-6,-7,-8,-2,-5,-6,-3,-7,-2]

  12. z2 = [1,2,6,3,2,7,3,3,7,2]

  13. ax1.scatter(x, y, z, c='g', marker='o')

  14. ax1.scatter(x2, y2, z2, c ='r', marker='o')

  15. ax1.set_xlabel('x axis')

  16. ax1.set_ylabel('y axis')

  17. ax1.set_zlabel('z axis')

  18. plt.show()

2.3D条形图

import matplotlib.pyplot as plt

对于条形图,你需要拥有条形的起点,条形的高度和宽度。但对于 3D 条形图,你还有另一个选项,就是条形的深度。大多数情况下,条形图从轴上的条形平面开始,但是你也可以通过打破此约束来添加另一个维度。


  1. from mpl_toolkits.mplot3d import axes3d

  2. import matplotlib.pyplot as plt

  3. import numpy as np

  4. from matplotlib import style

  5. style.use('ggplot')

  6. fig = plt.figure()

  7. ax1 = fig.add_subplot(111, projection='3d')

  8. x3 = [1,2,3,4,5,6,7,8,9,10]

  9. y3 = [5,6,7,8,2,5,6,3,7,2]

  10. z3 = np.zeros(10)

  11. dx = np.ones(10)

  12. dy = np.ones(10)

  13. dz = [1,2,3,4,5,6,7,8,9,10]

  14. ax1.bar3d(x3, y3, z3, dx, dy, dz)

  15. ax1.set_xlabel('x axis')

  16. ax1.set_ylabel('y axis')

  17. ax1.set_zlabel('z axis')

  18. plt.show()

注意这里,我们必须定义x、y和z,然后是 3 个维度的宽度、高度和深度。

附件:

import matplotlib.pyplot as plt

颜色表color=' '

图标marker=" "

固定代码模板

import matplotlib.pyplot as plt

绘图时加上:

  1. import pandas as pd

  2. import pylab as plt

  3. import numpy as np


更改图片字体大小时加上:

plt.rc('font',family='Simhei')

图片注释出现汉字时,需要加上:

plt.rc('font',family='Simhei')

生成等长标注的图表:

plt.axis("equal")

为横纵坐标生成标签:


  1. plt.xlabel('横坐标标签名')

  2. plt.ylabel('纵坐标标签名')


X轴范围

plt.xlim((2000,2010)) # X轴的起点和终点

Y轴范围

plt.ylim(6e9,7e9) # Y轴的起点和终点

为生成的图表添加表头:

plt.title(“标题名”)

网格线

plt.grid(axis='y') # axis: 'both','x','y'

生成三维图像(空白画板)


  1. import pylab as plt

  2. axes=plt.axes(projection='3d')

  3. plt.show()


文章来源:CSDN 牛哥带你学代码

距离2023年美赛报名倒计时仅剩15天!

保研加分、综测评奖

【截止到北京时间15:00,当前2023美赛报名接近13400支队伍通过数模乐园美赛报名队伍已经全部处理完下发至队长邮箱,各参赛队伍及时登录队长邮箱查收报名成功相关文件并登录官网核对参赛信息,报名人数持续增长,提前报名提前充分备赛。

由于报名参加美赛的同学不具备Visa或国际支付方式,以及缺乏一定的参赛经验,为了更好的提升参赛者的获奖率,数模乐园继续推出2023年美赛辅助报名及证书打印并邮寄的服务。2022年通过数模乐园辅助报名中,4支队伍斩获2021 Outstanding Winner奖(其中一支获得SIAM Award冠名奖;另外3支获得Outstanding Winner奖),O奖获奖率同比增长50%,整体参赛获奖率达99.3%,2021年助力1支队伍获得1万美元奖学金。数模乐园已累计为10万多人以上同学完成了美赛辅助报名服务!已成为国内最大的美赛辅助报名平台!

竞赛报名

或复制下方报名官网进行报名:http://www.nmmcm.org.cn/match_detail/23

进群领取历年美赛真题及培训资料,进群备注:学校+专业

通过数模乐园报名完成后,数模乐园会在工作时间内将报名成功的邮件发送至参赛队伍的队长邮箱里,(和你报名时间顺序有关系,报名日期越早,收到的邮件就越早,所以很多同学一开始没有很强的备赛意识,表示不是很急,结果报名的比较晚,但是还特别想快速的收到报名成功的邮件,这里要告诫一下这类同学,越到最后,报名的队伍就越多,所以为了避免造成报名拥堵及邮件接收延迟问题,强烈建议同学们需要提前完成报名工作,每年这类问题经常会有发生)邮件中包含2023年美赛参赛指南、数模乐园赠送的备赛大礼包以及518密训课程等内容。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
亳州园林中心主任多次向他人转账520元、1314元 妻子起诉 男方:朋友间发着玩的

亳州园林中心主任多次向他人转账520元、1314元 妻子起诉 男方:朋友间发着玩的

红星新闻
2026-08-01 13:35:22
一个害国害民的历史罪人,老百姓还把他当成英雄崇拜

一个害国害民的历史罪人,老百姓还把他当成英雄崇拜

小豫讲故事
2026-08-02 06:00:12
蔚来销量再次大增!

蔚来销量再次大增!

新浪财经
2026-08-01 17:51:44
尼科·威廉姆斯续约至2035年成欧洲合同最长球员

尼科·威廉姆斯续约至2035年成欧洲合同最长球员

绿茵情报局
2026-08-02 00:25:38
中央再发铁令!领导干部出现这15种情形 , 将不能再担任现职!

中央再发铁令!领导干部出现这15种情形 , 将不能再担任现职!

职场资深秘书
2026-08-01 19:13:16
中国卫星俯瞰中东战场,真相曝光:美国和伊朗都在撒谎

中国卫星俯瞰中东战场,真相曝光:美国和伊朗都在撒谎

趣文说娱
2026-08-01 09:46:13
我国越来越多的人患新冠?建议:停止食用“6物”,保护肺部

我国越来越多的人患新冠?建议:停止食用“6物”,保护肺部

周哥一影视
2026-08-02 06:15:10
超越英伟达!谷歌将部署1500万颗TPU

超越英伟达!谷歌将部署1500万颗TPU

EETOP半导体社区
2026-08-02 09:43:35
“姊妹”和“姐妹”根本不是一回事,好多人理解错了,长知识了

“姊妹”和“姐妹”根本不是一回事,好多人理解错了,长知识了

长风文史
2026-07-31 19:57:45
网红阿梓结婚,男方二婚带两个娃,直言圈子太小,碰不到好的男人

网红阿梓结婚,男方二婚带两个娃,直言圈子太小,碰不到好的男人

喜欢历史的阿繁
2026-08-02 00:15:35
告别詹姆斯+引进9大新援!新版湖人变强了吗?狄龙的评价太真实

告别詹姆斯+引进9大新援!新版湖人变强了吗?狄龙的评价太真实

锅子篮球
2026-08-01 19:49:06
他身为开国大将却天生“反骨”,1955年授勋时,排名第三比陈赓高

他身为开国大将却天生“反骨”,1955年授勋时,排名第三比陈赓高

疯狂的小历史
2026-08-02 09:15:03
全国退役军人新标准8月1日起统一落地,请战友们相互转告

全国退役军人新标准8月1日起统一落地,请战友们相互转告

今夜繁星坠落
2026-08-01 21:10:52
坦克发动机,为啥难倒了全世界?

坦克发动机,为啥难倒了全世界?

清沐执笔
2026-08-01 20:15:09
原来真的有人能被爱到这种程度!网友:幸福在此刻具象化了

原来真的有人能被爱到这种程度!网友:幸福在此刻具象化了

夜深爱杂谈
2026-08-01 21:21:09
太突然!广州知名连锁品牌关闭门店!已经营11年!

太突然!广州知名连锁品牌关闭门店!已经营11年!

羊城攻略
2026-08-01 23:11:46
国家队进场,滴滴慌了!国企自营网约车上线:司机自招、抽成更低

国家队进场,滴滴慌了!国企自营网约车上线:司机自招、抽成更低

呼呼历史论
2026-08-01 00:01:52
中央发话了!2029年,养老不再折腾 父母老了,怎么办?

中央发话了!2029年,养老不再折腾 父母老了,怎么办?

艺鉴在线
2026-07-16 08:03:38
ChinaJoy上手机品牌集体消失?三大厂商缺席的理由,一个比一个现实

ChinaJoy上手机品牌集体消失?三大厂商缺席的理由,一个比一个现实

队友祭天法力无边
2026-08-01 00:42:09
李昊红馆当众说“我养你啊”46岁张柏芝低头一笑,全网泪目

李昊红馆当众说“我养你啊”46岁张柏芝低头一笑,全网泪目

老吴教育课堂
2026-08-02 08:45:12
2026-08-02 10:24:49
数模乐园官方
数模乐园官方
专注于数学建模,分享干货知识
1262文章数 814关注度
往期回顾 全部

科技要闻

特斯拉拆不掉中国制造

头条要闻

牛弹琴:美以或对伊发动最猛烈轰炸 全世界倒吸一口气

头条要闻

牛弹琴:美以或对伊发动最猛烈轰炸 全世界倒吸一口气

体育要闻

1米76的他,为什么是史上最强中卫之一?

娱乐要闻

广电总局发布2026年“微短剧+”行动计划推荐剧目

财经要闻

长鑫科技四万亿市值背后的资本与周期

汽车要闻

历史性里程碑时刻 零跑7月交付达101267台

态度原创

旅游
手机
家居
教育
军事航空

旅游要闻

上海最繁华的商圈里藏着一座千年古寺,被称为“中国最贵寺庙”?

手机要闻

小米手机涨价300元起,影响小米17系列、REDMI K90、Turbo 5

家居要闻

2026建博会(广州) 公装联探展交流活动

教育要闻

重磅!2026山东高考600分以上考生分布情况

军事要闻

美计划发动“猛烈轰炸” 伊朗:全面反击方案已就绪

无障碍浏览 进入关怀版