matplotlib论文图片配色
Posted 小鹏学记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matplotlib论文图片配色相关的知识,希望对你有一定的参考价值。
文章目录
还在为配图的颜色而烦恼嘛,还在为matplotlib的经典颜色而困惑嘛,看完下面的文章,教你如何选择图片颜色
上图左边是matplotlib默认的颜色系统,而右边就是使用matplotlib自带的颜色系统实现的。如何实现,请继续往下浏览
1 官方色组
1.1 推荐色组
由于官方的色组比较多,我选了几款效果比较好的几个色组,见下图。
图1 我的推荐色组
图1左边的是色组的名字,在使用时会用到。官方所有色组后在文章末尾出现。
1.2 查看色组
import matplotlib.pyplot as plt
color_name = 'Set3' #官方色组名称
# 法一:在jupyter`在这里插入代码片` notebook中可以这样查看
plt.get_cmap(color_name)
# 法二:使用fig查看
fig,ax = plt.subplots(figsize=(10,0.5))
fig.colorbar(mpl.cm.ScalarMappable(cmap=color_name),cax=ax, orientation='horizontal')
plt.show()
图2 查看色组结果
1.3 使用色组
下面为我使用官方色组画扇形图的demo
import matplotlib.pyplot as plt
import numpy as np
labels = ['Frogs','Hogs','Dogs','Logs']
sizes = [15, 30, 45, 10]
color_name = 'rainbow'
# 手动选择
select1 = (0,45,103,253) #连续性色组图可以从0-256之间选择,e.g‘rainbow’
select2 = (0.1,0.5,0.3,0.8) # 连续性色组图也可以从0-1之间选择
select3 = (1,4,8,3) # 非连续型色组在0-(色组长度-1)之间选择,e.g‘Set3’在0-11之间选择
# 自动选择
select4 = np.random.uniform(0,1,len(sizes)) # 使用uniform可以随机选择颜色
select5 = np.random.uniform(0,1,len(sizes))
select5.sort()
select6 = np.linspace(0,1,len(sizes))
colors = plt.get_cmap(color_name)(select2) # 从色组里选择颜色,我选择的是select2
fig,ax = plt.subplots()
ax.pie(sizes, labels=labels, autopct='%1.1f%%', shadow=True, colors=colors)
ax.axis('equal')
plt.show()
图3 画图结果
2 自定义色组
除了使用官方给定的色组,还可以自己定义色组
from matplotlib.colors import ListedColormap
import matplotlib.pyplot as plt
colors = ['#3682be','#45a776','#f05326','#eed777','#334f65','#b3974e','#38cb7d','#ddae33','#844bb3','#93c555','#5f6694','#df3881']
cmap = ListedColormap(colors, name = 'mycmap')
fig,ax = plt.subplots(figsize=(10,0.5))
fig.colorbar(mpl.cm.ScalarMappable(cmap=cmap),cax=ax, orientation='horizontal')
plt.show()
图4 画图结果
这里会使用到一个叫做ListedColormap的函数
3 总结
总的来说使用不同的颜色,在图形样式不变的情况下,给人一焕然一新的感觉。而不是使用matplotlib的经典配色,他人一看就看出是用matplotlib所画。
4 其他有用资料
科研论文配色参考不断更新
部分配色从知乎 marsggbo 的文章转载,同时本文也会不断更新。一个好的配色某种程度上能把翔一样的论文雕出花来,这里做个总结分享。
TIPS:想使用哪个颜色了,可以粘贴到PPT里,用吸管取色。或者用QQ截图,也能得到颜色的具体RGB值。个人感觉配色方案不需要太多,有三、五种供选择完全足够了。
论文里用的最多的就是 红、绿、蓝、黄,可以从配色方案中选择,当需要更多时,可以在方案里找。
配色1
配色2
配色3
以上是关于matplotlib论文图片配色的主要内容,如果未能解决你的问题,请参考以下文章
matplot:在matplotlib中显示标签的问题[重复]
如何使用 matplotlib blitting 将 matplot.patches 添加到 wxPython 中的 matplotlib 图?