Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >科技感爆棚!这样酷炫的Python图表谁能不爱?

科技感爆棚!这样酷炫的Python图表谁能不爱?

作者头像
小F
发布于 2020-12-16 02:48:22
发布于 2020-12-16 02:48:22
76600
代码可运行
举报
运行总次数:0
代码可运行

01. 引言

色彩搭配对图表的第一印象至关重要,合理的设置对图表的颜值提升有着很大的帮助,本期推文结合一个具体例子对图表颜色搭配进行讲解。

02. 美化过程

2.1 默认图表

这里首先设置一组数据,使用matplotlib的默认绘制方法进行图表绘制,具体数据如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
array([10, 25, 12, 15, 28, 13, 20, 26, 23, 40, 39, 35, 42, 31, 29, 16, 27],
      dtype=int64)

默认绘图代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fig,ax = plt.subplots(figsize=(10,5),dpi=200)
x = np.arange(0,len(test_data),1)
y = test_data['test'].values
ax.plot(x,y)
ax.scatter(x[-1],y[-1],s=200,lw=2,zorder=2)
ax.set_title('Matplotlib Color Set exercise_01 \n',fontsize=20,color='black')
ax.text(.85,-.1,'\nVisualization by DataCharm',transform = ax.transAxes,
        ha='center', va='center',fontsize = 8.5,color='black')
plt.savefig(r'E:\Data_resourses\DataCharm 公众号\Python\商业图表绘制\color_set_region.png',width=7,height=4,
            dpi=900,bbox_inches='tight')

这里使用了ax.plot()和ax.scatter()进行了绘图,效果如下:

可以看出,图中无论折线、散点还是刻度等的设置都是比较粗糙的,和"美观"一点都挂不上钩

。下面就从数据处理填充面积以及色彩选择三个方面进行处理,来使这幅图变得高大上起来

2.2 数据插值

默认数据绘制的折线图可能不是那么的平滑,当然,这也是和我们选择较少的数据有关,要想达到平滑效果,需要对原始数据进行插值处理(Excel中选中图表右击,点击设置数据系列格式,选择最后的平滑线 也能完成平滑处理)。python Scipy 包提供了interpolate模块可以实现对一维二维数据的插值处理,在对一维数据时,interp1d()提供了如nearest、quadradic等多种插值方式,详细内容大家可以查看官网啊。这里选择的插值方式为 "quadradic"方法,具体插值代码及绘图代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from scipy import interpolate
fig,ax = plt.subplots(figsize=(10,5),dpi=200,)

f = interpolate.interp1d(x,y,kind="quadratic")#采用quadratic插值处理
x_new = np.linspace(x.min(),x.max(),1000)
y_new = f(x_new)
#绘图
ax.plot(x_new,y_new,lw=3,zorder=1)
ax.scatter(x[-1],y[-1],s=200,lw=2,zorder=2)
ax.set_title('Matplotlib Color Set exercise_01 \n',fontsize=20,color='black')
ax.text(.85,-.1,'\nVisualization by DataCharm',transform = ax.transAxes,
        ha='center', va='center',fontsize = 8.5,color='black')
plt.savefig(r'E:\Data_resourses\DataCharm 公众号\Python\商业图表绘制\color_set_region_ed.png',width=7,height=4,
            dpi=900,bbox_inches='tight')
plt.show()

结果如下:

2.3 面积填充

加上填充面积可以使得图表看起来不那么单一,而且········(好吧·····我编不下去了,我就是为了最后成图好看下而已

)。添加如下代码即可添加填充面积效果。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ax.fill_between(x_new, y_new,alpha=.15,lw=.1,zorder=2) # 填充两条线间的颜色

这里设置填充面积的线边框宽度为0.1,会使得填充边框不那么明显。效果如下:

如果不设置线宽lw,图中红色圆圈内将会有明显的横线效果,影响美观。

2.4 颜色选择

记得好多小伙伴后台留言或者直接和我沟通 关于色彩搭配的设置,其实,我也是一名学习者,可能就是看的色彩搭配网站以及精美可视化作品比较多,还是那句话多模仿 多练习 对比不同色系对同一幅图表所展示的效果,这是一个慢慢积累的过程,要是硬要我给建议,我也就多推几个可视化的色彩搭配网站给你们

。下面就本期推文设置相关颜色,具体代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#对数据进行插值,使其润滑
#导入需要的库
from scipy import interpolate
fig,ax = plt.subplots(figsize=(10,5),dpi=200,facecolor ='#16151C')
ax.set_facecolor('#16151C')
#插值处理
f = interpolate.interp1d(x,y,kind="quadratic")#采用quadratic插值处理
x_new = np.linspace(x.min(),x.max(),1000)
y_new = f(x_new)
#绘图
ax.plot(x_new,y_new,c="#12D3B0",lw=3,zorder=1)
ax.scatter(x[-1],y[-1],s=200,c="#F1404B",ec='k',lw=1.5,zorder=2)
ax.scatter(x[-1],y[-1],s=600,c="#F1404B",ec='none',lw=2,alpha=.4,zorder=1)
ax.fill_between(x_new, y_new, color="#12D3B0",alpha=.15,ec="none",lw=.1,zorder=2) #填充两条线间的颜色

for spine in ['left','top', 'right', 'bottom']:
    ax.spines[spine].set_color("none")
#进行精修
ax.grid(axis='y',color='white',lw=.5,alpha=.1,zorder=0)
ax.tick_params(labelsize=13,labelcolor='white',grid_color='white',left=False,bottom=False)
ax.set_ylim(bottom=0,top=50)
ax.set_xlim(left=-0.5)
ax.set_xticklabels(labels=['2011','2012','2013','2014','2015','2016','2017','2018','2019','2020'])
ax.set_title('Matplotlib Color Set exercise_02 \n',fontsize=20,color='white')
ax.text(.85,-.1,'\nVisualization by DataCharm',transform = ax.transAxes,
        ha='center', va='center',fontsize = 8.5,color='white')
plt.savefig(r'E:\Data_resourses\DataCharm 公众号\Python\商业图表绘制\color_set_02.png',width=7,height=4,
            dpi=900,bbox_inches='tight',facecolor='#16151C')
#ax.set_axisbelow(True)
plt.show()

涉及的颜色设置代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fig,ax = plt.subplots(figsize=(10,5),dpi=200,facecolor ='#16151C')
ax.set_facecolor('#16151C')
ax.plot(x_new,y_new,c="#12D3B0",lw=3,zorder=1)
ax.scatter(x[-1],y[-1],s=200,c="#F1404B",ec='k',lw=1.5,zorder=2)
ax.scatter(x[-1],y[-1],s=600,c="#F1404B",ec='none',lw=2,alpha=.4,zorder=1)
ax.fill_between(x_new, y_new, color="#12D3B0",alpha=.15,ec="none",lw=.1,zorder=2) 
plt.savefig(r'E:\Data_resourses\DataCharm 公众号\Python\商业图表绘制\color_set_02.png',width=7,height=4,
            dpi=900,bbox_inches='tight',facecolor='#16151C')

效果如下:

同时也可以设置如下效果:

03. 总结

本期推文就是对可视化色彩合理设置,具体的设置方案也没有详细给出,可能自己也是在学习过程中

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

本文分享自 法纳斯特 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python-matplotlib 商业图表绘制03
本篇推文为python-matplotlib 商业图表绘制的第三篇文章,主要内容为圆润柱状图的绘制,这也是我之前一直想做的事情,在浏览Matplotlib官网时,发现了一个方法,就试着进行绘制,效果还不错。接下来,我们开始
DataCharm
2021/02/22
5720
Python-matplotlib 商业图表绘制03
Python-matplotlib 商业图表绘制04
本期还是推出Python-matplotlib "小清新"商业图表的绘制推文,在发现ax.plot()绘图函数的多类别图表功能后,经过不断和点、文本等尝试搭配后,所能构建的图表也就多了起来,下面就直接上教程。
DataCharm
2021/02/22
9200
Python-matplotlib 商业图表绘制04
Python-matplotlib 商业图表绘制02
Python-matplotlib商业图表绘制的第二篇教程也已经推出,本期的推文主要涉及到文本、annotate()、散点以及颜色搭配等内容的讲解,话不多说,直接上教程
DataCharm
2021/02/22
3730
Python-matplotlib 商业图表绘制02
手把手教你用Matplotlib画一个小清新配色的商业图表
导读:本文使用小清新配色对散点图和折线图进行另类的绘制,绘制出让人耳目一新的商业图表可视化作品。
IT阅读排行榜
2020/09/08
1.1K0
手把手教你用Matplotlib画一个小清新配色的商业图表
Python-matplotlib 商业图表-第5弹
第一次使用 Markdown Nice 进行公众号编写(其实刚开始运营公众号时也有使用过,奈于代码编辑就放弃,不过,现在“真香”了 ),希望熟悉后定制自己属于自己的主题。本期还是继续前面的Python-matplotlib 商业图表绘制系列的第5篇教程推文,目的还是为了熟悉matplotlib的绘图语法。
DataCharm
2021/02/22
2430
Python-matplotlib 商业图表-第5弹
Python-matplotlib 箱线图绘制
箱线图(Boxplot) 是一种用作显示一组数据分散情况资料的统计图表,本期推文就如何使用matplotlib和seaborn 绘制出高度定制化的箱线图做出详细的讲解。
DataCharm
2021/02/22
4.3K0
Python-matplotlib 箱线图绘制
Python-Geopandas 教你绘制中国地图
本期我们试着使用Python-geopandas包绘制空间地图,主要的知识点如下:
朱卫军 AI Python
2022/04/03
1.8K0
Python-Geopandas 教你绘制中国地图
Python-matplotlib 商业图表仿制第7弹
虽然小伙伴们喜欢空间绘图方面的居多(毕竟这方面的小伙伴居多),但商业图表的绘制也不能放下哦!本期就推出一篇商业图表的仿制教程。主要涉及内容如下:
DataCharm
2021/02/22
3370
Python-matplotlib 商业图表仿制第7弹
Python空间+气泡图完美绘制房价分布
今天的推文教程使用geopandas进行空间图表的绘制(geopandas空间绘图很方便,省去了很多的数据处理过程,而且也完美衔接matplotlib,学习python 空间绘图的小伙伴可以看下啊),具体为空间气泡图的绘制,主要涉及的内容如下:
Python数据科学
2020/11/11
1.9K0
Python空间+气泡图完美绘制房价分布
Python-matplotlib 商业图表仿制第6弹
今天我们就推出一篇商业图表的仿制,之前的学术图表(空间可视化方面)也是很受小伙伴的喜欢,我们要商业学术同时进行哦!毕竟,优秀的商业可视化图表能够更直观的体现数据可视化的魅力。话不多说,我们就直接上教程。
DataCharm
2021/02/22
2480
Python-matplotlib 商业图表仿制第6弹
Python可视化 | Seaborn经济学人经典图表仿制
上篇原创推文使用了R-ggplot2 实现了经济学人经典的图表仿制实现R-ggplot2 经典经济学人图表仿制,所以这期呢,我们就使用Python-seaborn实现这个经典的经济学人图表再现。主要涉及的知识点如下:
郭好奇同学
2020/11/25
1.2K0
Python可视化 | Seaborn经济学人经典图表仿制
气象绘图——折线图
本节提要:不满意最开始那一版的折线图教程,所以进行了这一强化版的撰写。主要针对matplotlib中的折线图,对关键字指令升级梳理,希望能帮助新入门的小伙伴。
自学气象人
2023/06/21
4830
气象绘图——折线图
Python-matplotlib 学术散点图 EE 统计及绘制
之前的绘制图文Python-matplotlib 学术散点图完善Python-matplotlib 学术型散点图绘制 教程中,对学术散点图已经进行了较为完善的绘制教程,但这几天的通过准备 论文图表再现计划 以及后台小伙伴的留言,发现在绘制的相关性散点图中,各个范围的 Expected Error (EE)的统计个数没有在图表中进行展示 ,即下图中左下角的信息没有绘制。
DataCharm
2021/02/22
9520
Python-matplotlib 学术散点图 EE 统计及绘制
SCI论文配色-matplotlib分类柱状图绘制
今天在查看资料时,看见一篇SCI论文的配图十分抢眼,图表的整体绘制不是很难,但整个配色还是瞬间让图表“高大上”起来,如下:
DataCharm
2021/02/22
6.7K0
SCI论文配色-matplotlib分类柱状图绘制
善用图片-你将有不一样的可视化效果
今天在查找资料时发现了一个超酷的R语言第三方颜色包 R-ghibli,目前可以直接通过 CRAN 安装的。官网(https://ewenme.github.io/ghibli/)所示的图例如下:
DataCharm
2021/02/22
4320
善用图片-你将有不一样的可视化效果
Python-matplotlib 横向堆积柱状图绘制
,经群里爱学习的小伙伴们提醒,居然漏了一个常用的柱状图形式。看吧····知识点还是没有系统起来(最近也在对各种图表进行系统规整哦,包括学术和商业的
DataCharm
2021/02/22
6.5K1
Python-matplotlib 横向堆积柱状图绘制
Python-matplotlib 多类别学术散点图制作
本期推文回归学术图表的绘制教程,本次的推文也是在查看SCI论文时发现,图表简单明了且使用较多,接下来我们通过构建虚拟数据进行符合出版的多类别散点图绘制。
DataCharm
2021/02/22
8420
Python-matplotlib 多类别学术散点图制作
Python-matplotlib 堆积柱状图绘制
在查找资料时看到了堆积柱状图,简单明了,而且绘制起来也不是很难,再结合自己的教程推文中也确实没有此类图表,即决定通过构建虚拟数据进行matplotlib堆积柱状图的绘制推文,详细内容如下:
DataCharm
2021/02/22
1.8K0
Python-matplotlib 堆积柱状图绘制
经济学人风格图表的Python-Seaborn和R-ggplot2绘制
最近着手准备使用R-ggpot2进行图表绘制,当然,Python可视化图表绘制也不能落下,所以,后面的推文我尽量会推出两种教程
DataCharm
2021/02/22
9290
经济学人风格图表的Python-Seaborn和R-ggplot2绘制
数据可视化 | 双Y轴可视化绘制方法(Python、R两种方法)
最近有很多小伙伴私信我关于双Y轴图的绘制方法? 这里给出Python-matplotlib绘制方法和R-ggplot2的绘制方法
郭好奇同学
2020/12/28
1.8K0
数据可视化 | 双Y轴可视化绘制方法(Python、R两种方法)
相关推荐
Python-matplotlib 商业图表绘制03
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验