利用 plottable 美化表格 构建水质监测数据看板
在数据分析中,表格是最常用的展现形式之一,但普通的表格往往缺乏视觉吸引力,导致数据的可读性和理解性较差。plottable
是一个专门为 Matplotlib 设计的表格美化库,操作简便,能够轻松实现丰富的颜色渐变、行距调整等。最近,我尝试使用 plottable
制作水质站点的实时数据看板,记录整个操作过程如下。
结果预览
普通表格展现
Plottable 美化后
我只是做了简单的颜色渐变,行距等设置,这样能够更加直观的看到超标站点及因子的情况。
代码
首先准备实时数据表格,我这里是df_pivot。
1 |
|
代码非常简单,plottable 生成的图片和 matplotlib 是一样的,所以可以直接用fig.show() 展示,也可以在 streamlit 中用st.pyplot(fig) 展示。
需要注意的是,渐变色如果直接调用类似matplotlib.cm.Reds,数据集需要时 0-1 之间,超过 1 需要用到LinearSegmentedColormap 进行自定义了。
plottable 不仅是用到色块渐变色,还有文本渐变色,文本符号等等,可以在官方 docs 中去进一步学习。
补充知识-Matplotlib 默认颜色映射
Matplotlib 提供了大量的颜色映射(colormaps),可以用于绘制图表中的颜色渐变。这些颜色映射分为几个类别,包括但不限于顺序(Sequential)、发散(Diverging)、定性(Qualitative)和循环(Cyclic)等。下面是一些常用的颜色映射:
顺序颜色映射(Sequential Colormaps)
Blues
: 蓝色系列Reds
: 红色系列(你提到的)Greens
: 绿色系列Oranges
: 橙色系列Purples
: 紫色系列Greys
: 灰色系列YlGn
: 黄绿系列YlOrBr
: 黄橙棕系列YlOrRd
: 黄橙红系列OrRd
: 橙红系列PuRd
: 紫红系列BuGn
: 蓝绿系列PuBu
: 紫蓝系列GnBu
: 绿蓝系列PuBuGn
: 紫蓝绿系列BuPu
: 蓝紫系列RdPu
: 红紫系列RdYlGn
: 红黄绿系列
发散颜色映射(Diverging Colormaps)
RdBu
: 红蓝对比PRGn
: 粉红绿对比BrBG
: 棕绿对比PiYG
: 桃红绿对比RdGy
: 红灰对比RdYlBu
: 红黄蓝对比Spectral
: 彩虹色系coolwarm
: 冷暖对比
定性颜色映射(Qualitative Colormaps)
Set1
,Set2
,Set3
: 不同的色彩集合,适合于分类数据Paired
: 配对的颜色序列Pastel1
,Pastel2
: 柔和色调的色彩集合Dark2
: 深色调的色彩集合
循环颜色映射(Cyclic Colormaps)
twilight
: 昼夜交替的效果twilight_shifted
: 移位的昼夜交替效果hsv
: 基于HSV颜色模型的循环颜色映射
如果你想使用反向颜色映射,可以简单地在颜色映射名称后面加上 _r
,例如 RdYlGn_r
会得到从绿色到黄色再到红色的渐变。
参考资料
plottable 官方 docs
https://plottable.readthedocs.io/en/latest/index.html
BY
纯个人经验,如有帮助,请收藏点赞,如需转载,请注明出处。
微信公众号:环境猫 er
CSDN : 细节处有神明
个人博客: https://maoyu92.github.io/