首页 文章 精选 留言 我的

精选列表

搜索[时间处理库],共10000篇文章
优秀的个人博客,低调大师

《从知识库到本体驱动应用》第12招 角色与应用地图 Who Should Use It——不是所有人都需要从同一个项目开始

最近很多团队导入一套面向制造业的知识体系,仓库一打开就是九个项目。很多人习惯从第一个开始往下啃,两周后卡在第二个仓库,然后不了了之。我是老李,做过多年企业架构和制造现场改造,见过太多类似场景。问题不是资料不好,而是入口错了。同一条技术路线,对不同角色价值并不一样,学习顺序也不该一样。今天聊聊怎么按自己的位置进入这套体系,而不是把九个仓库当成九本必须读完的书。

优秀的个人博客,低调大师

Python数据可视化库seaborn ------ 绘制直方图概率密度曲线;绘制多条曲线;设置主题风格;小提琴图;箱线图;绘制seaborn多个子图;调色板;

绘制数据的直方图及其概率密度曲线 这里可以使用 seaborn.displot() 来绘制,如果指定kde参数为False,就不会画概率密度曲线 1 import pandas as pd 2 import seaborn as sns 3 import matplotlib.pyplot as plt 4 5 titanic = pd.read_csv('seaborn_test\\train.csv') 6 cols = ['Survived', 'Pclass', 'Sex', 'Age', 'SibSp', 'Parch', 'Fare', 'Embarked'] 7 titanic = titanic[cols].dropna() 8 9 sns.distplot(titanic['Age']) 10 plt.show() 运行结果: 下面展示没有概率密度曲线的直方图和用gamma拟合的概率密度曲线: 1 x = np.random.normal(size=100) 2 sns.distplot(x, kde=False) # kde 核密度估计 3 plt.show() 4 from scipy import stats, integrate 5 x = np.random.gamma(6, size=200) 6 sns.distplot(x, kde=False, fit=stats.gamma) 7 plt.show() 运行结果: 在一个画布上绘制多条曲线 1 def sinplot(flip=1): 2 x = np.linspace(0, 14, 100) 3 for i in range(1, 7): 4 plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip) 5 6 7 sinplot() 8 plt.show() 运行结果: 我们可以恢复seaborn默认的画布 1 sns.set() # 恢复默认的格式 2 sinplot() 3 plt.show() 运行结果: 设置主题风格 这里有五种常用风格:darkgrid、whitegrid、dark、white、ticks 1 sns.set_style("whitegrid") 2 data = np.random.normal(size=(20, 6)) + np.arange(6) / 2 3 sns.boxplot(data=data) 4 plt.show() 5 6 sns.set_style("dark") 7 sinplot() 8 plt.show() 9 10 sns.set_style("white") 11 sinplot() 12 plt.show() 13 14 sns.set_style("ticks") 15 sinplot() 16 plt.show() 17 18 sinplot() 19 sns.despine() 20 plt.show() 绘制小提琴图 这种图表结合了箱形图和密度图的特征,主要用来显示数据的分布形状。中间的黑色粗条表示四分位数范围, 从其延伸的幼细黑线代表 95% 置信区间,而白点则为中位数。 1 data = np.random.normal(size=(20, 6)) + np.arange(6) / 2 2 # 小提琴图 3 sns.violinplot(data) 4 # offset=10 表示与轴线之间的距离;trim=True控制纵坐标方向的轴线 5 sns.despine(offset=10, trim=True) # 轴线的距离 6 plt.show() 7 sns.violinplot(data) 8 sns.despine(offset=5, trim=False) # 轴线的距离 9 plt.show() 运行结果: 绘制箱线图 1 sns.set_style("whitegrid") 2 sns.boxplot(data=data, palette="deep") 3 sns.despine(left=True) 4 plt.show() 5 6 sns.set_style("whitegrid") 7 sns.boxplot(data=data) 8 sns.despine(left=True) 9 plt.show() 两张图很明显是图的颜色不一样,其实参数palette="deep" 是表示调用 “deep” 的调色板。 设置seaborn子图 1 def sinplot(flip=1): 2 x = np.linspace(0, 14, 100) 3 for i in range(1, 7): 4 plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip) 5 6 7 with sns.axes_style("darkgrid"): 8 plt.subplot(211) 9 sinplot() 10 plt.subplot(212) 11 sinplot(-1) 12 plt.show() 运行结果: 如果我们想绘制2X2的一个多个子图画布,我们可以使用 plt.subplot(2,2,i) 来指定。 1 sns.axes_style("darkgrid") 2 plt.subplot(221) 3 sinplot(1) 4 5 sns.axes_style("dark") 6 plt.subplot(222) 7 sinplot() 8 9 sns.axes_style("ticks") 10 plt.subplot(223) 11 sinplot(-1) 12 13 plt.subplot(224) 14 sns.set_context("notebook", font_scale=1.5, rc={"lines.linewidth": 2.5}) 15 sinplot() 16 plt.show() 运行结果: set_context(context=None, font_scale=1, rc=None) 参数说明:context 有paper, notebook, talk, poster 这四个 预先设置的模板,font_scale为浮动参数,rc为参数映射字典,如:rc={"lines.linewidth": 2}。下面的案例将展示四种context 的效果。 1 plt.subplot(221) 2 sns.set_context("paper", font_scale=1.5) 3 sinplot(1) 4 5 6 plt.subplot(222) 7 sns.set_context("notebook", rc={"lines.linewidth": .5}) 8 sinplot() 9 10 11 plt.subplot(223) 12 sns.set_context("talk", font_scale=1.5, rc={"lines.linewidth": 2.}) 13 sinplot(-1) 14 15 plt.subplot(224) 16 sns.set_context("poster", font_scale=1.5, rc={"lines.linewidth": 2.5}) 17 sinplot() 18 plt.show() 运行结果: 右图为除context其他参数一样的效果。context参数指定了风格,坐标轴对比明显。 调色板 颜色很重要 color_palette()能传入任何Matplotlib所支持的颜色;color_palette()不写参数则默认颜色 set_palette()设置所有图的颜色 分类色板 获取当前使用的默认色板: 1 current_palette = sns.color_palette() 2 # 获取当前调色板 3 sns.palplot(current_palette) 4 plt.show() 运行结果: 圆形画板 当你有10个以上的分类要区分时,最简单的方法就是在一个圆形的颜色空间中画出均匀间隔的颜色(这样的色调会 保持亮度和饱和度不变)。这是大多数的人当他们需要使用比当前默认颜色循环中设置的颜色更多时的默认方案。 最常用的方法是使用hls的颜色空间,这是RGB值的一个简单转换。 1 sns.palplot(sns.color_palette("hls", 12)) 2 plt.show() 运行结果: 下面用箱线图展示效果: 1 data = np.random.normal(size=(20, 12)) + np.arange(12) / 2 2 sns.boxplot(data=data, palette=sns.color_palette("hls", 12)) 3 plt.show() 运行结果: hls_palette() 函数用下面的参数控制颜色的亮度和饱和 l - 亮度 lightness s - 饱和 saturation 1 sns.palplot(sns.color_palette("hls", 12)) 2 plt.show() 3 sns.palplot(sns.hls_palette(12, l=.7, s=.9)) 4 plt.show() 使用xkcd颜色来命名颜色 xkcd包含了一套众包努力的针对随机RGB色的命名。产生了954个可以随时通过xdcd_rgb字典中调用 的命名颜色。 1 plt.plot([0, 1], [0, 1], sns.xkcd_rgb["pale red"], lw=3) # https://xkcd.com/color/rgb/ 2 plt.plot([0, 1], [0, 2], sns.xkcd_rgb["medium green"], lw=3) 3 plt.plot([0, 1], [0, 3], sns.xkcd_rgb["denim blue"], lw=3) 4 plt.plot([0, 1], [0, 4], sns.xkcd_rgb["olive"], lw=5) 5 plt.show() 运行结果: 生成一个自定义调色板 1 colors = ["windows blue", "amber", "greyish", "faded green", "dusty purple"] 2 sns.palplot(sns.xkcd_palette(colors)) 3 plt.show() 运行结果: 连续色板 色彩随数据变换,比如数据越来越重要则颜色越来越深 Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, CMRmap_r, Dark2, Dark2_r, GnBu, GnBu_r, Greens, Greens_r, Greys, Greys_r, OrRd, OrRd_r, Oranges, Oranges_r, PRGn, PRGn_r,Paired, Paired_r, Pastel1, Pastel1_r, Pastel2, Pastel2_r, PiYG, PiYG_r, PuBu, PuBuGn, PuBuGn_r, PuBu_r, PuOr,PuOr_r, PuRd, PuRd_r, Purples, Purples_r, RdBu, RdBu_r, RdGy, RdGy_r, RdPu, RdPu_r, RdYlBu, RdYlBu_r,RdYlGn, RdYlGn_r, Reds, Reds_r, Set1, Set1_r, Set2, Set2_r, Set3, Set3_r, Spectral, Spectral_r, Vega10, Vega10_r,Vega20, Vega20_r, Vega20b, Vega20b_r, Vega20c, Vega20c_r, Wistia, Wistia_r,YlGn, YlGnBu, YlGnBu_r, YlGn_r,YlOrBr, YlOrBr_r, YlOrRd, YlOrRd_r, afmhot, afmhot_r, autumn, autumn_r,binary, binary_r, bone, bone_r, brg, brg_r,bwr, bwr_r, cool, cool_r, coolwarm,coolwarm_r,copper, copper_r,cubehelix, cubehelix_r, flag, flag_r, gist_earth,gist_earth_r, gist_gray, gist_gray_r, gist_heat, gist_heat_r,gist_ncar, gist_ncar_r, gist_rainbow, gist_rainbow_r,gist_stern, gist_stern_r, gist_yarg, gist_yarg_r, gnuplot,gnuplot2, gnuplot2_r, gnuplot_r, gray, gray_r, hot, hot_r,hsv, hsv_r, icefire, icefire_r, inferno, inferno_r, jet,jet_r, magma, magma_r, mako, mako_r, nipy_spectral, nipy_spectral_r,ocean, ocean_r, pink, pink_r, plasma,plasma_r, prism, prism_r, rainbow, rainbow_r, rocket, rocket_r, seismic, seismic_r,spectral, spectral_r, spring,spring_r, summer, summer_r, tab10, tab10_r, tab20, tab20_r, tab20b, tab20b_r, tab20c,tab20c_r, terrain,terrain_r, viridis, viridis_r, vlag, vlag_r, winter, winter_r 测试面板: 1 sns.palplot(sns.color_palette("Blues")) 2 sns.palplot(sns.color_palette("Accent")) 3 plt.show() 注意:如果想要翻转渐变,可以在面板名称中添加一个_r后缀 cubehelix_palette()调色板 色调线性变换 1 sns.palplot(sns.color_palette("cubehelix", 8)) 2 sns.palplot(sns.cubehelix_palette(8, start=.5, rot=-.75)) 3 plt.show() light_palette() 和dark_palette()调用定制连续调色板 1 sns.palplot(sns.light_palette("green")) 2 sns.palplot(sns.light_palette("navy", reverse=True)) 3 sns.palplot(sns.light_palette((210, 90, 60), input="husl")) 4 plt.show() 运行结果:

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册