MATLAB 一行代码应用ggtheme主题--bar版

2024-01-08 13:38

本文主要是介绍MATLAB 一行代码应用ggtheme主题--bar版,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

好家伙我发现之前写的作用于plot的可以直接用,只不过就是多了一点柱状图外框而已,不过想画出更加贴近ggplot风格的图,可以用最后的代码

1使用方式

假设你编写了如下柱状图:

y=[6 3 4 2 1;12 6 3 2 1;9 5 2 2 2;7 3 1 1 0;5 2 2 1 1;2 1 1 0 1;];
bar(y)
legend('class1','class2','class3','class4','class5')

在这里插入图片描述
加一行:

ggThemeBar(gca,'dust');

在这里插入图片描述
展示一下两种排列方式:

y=[6 3 4 2 1;12 6 3 2 1;9 5 2 2 2;7 3 1 1 0;5 2 2 1 1;2 1 1 0 1;];
subplot(1,2,1)
bar(y)
legend('class1','class2','class3','class4','class5')
ggThemeBar(gca,'dust');subplot(1,2,2)
bar(y,'stacked')
legend('class1','class2','class3','class4','class5')
ggThemeBar(gca,'dust');

在这里插入图片描述

2主题

主题有如下选择:
‘flat’/‘flat_dark’/‘camouflage’/‘chalk’/
‘copper’/‘dust’/‘earth’/‘fresh’/‘grape’/
‘grass’/‘greyscale’/‘light’/‘lilac’/‘pale’
‘sea’/‘sky’/‘solarized’
效果:
‘flat’
在这里插入图片描述

‘flat_dark’
在这里插入图片描述

‘camouflage’
在这里插入图片描述

‘chalk’
在这里插入图片描述

‘copper’
在这里插入图片描述

‘dust’
在这里插入图片描述

‘earth’
在这里插入图片描述
‘fresh’
在这里插入图片描述
‘grape’
在这里插入图片描述
‘grass’
在这里插入图片描述

‘greyscale’
在这里插入图片描述

‘light’
在这里插入图片描述

‘lilac’
在这里插入图片描述

‘pale’
在这里插入图片描述

‘sea’
在这里插入图片描述

‘sky’
在这里插入图片描述

‘solarized’
在这里插入图片描述

3完整代码

属性存到了.mat文件
文件下载地址:
链接:https://pan.baidu.com/s/1EMWVVzUCLP3RJIEK3Ljavg
提取码: ggtm

需要将.mat文件和函数放在同一个文件夹
完整代码:

function ax=ggThemeBar(varargin)
% @author:slandarer
% 
% 参数说明:
% -----------------------------------------------------
% AxesTheme   | 坐标区域风格       | 'flat'/'flat_dark'/'camouflage'/'chalk'/
%                                    'copper'/'dust'/'earth'/'fresh'/'grape'/
%                                    'grass'/'greyscale'/'light'/'lilac'/'pale'
%                                    'sea'/'sky'/'solarized'% 获取要处理的坐标区域=====================================================
if strcmp(get(varargin{1},'type'),'axes' )ax=varargin{1};
elseax=gca;
end
hold(ax,'on')% default==================================================================
theme.AxesTheme='flat';
if length(varargin)>1theme.AxesTheme=varargin{2};
endax.Box='off';
ax.YGrid='on';
ax.XGrid='on';
ax.GridLineStyle='--';
ax.LineWidth=1.2;
% 主题风格化
Tm=load('themeCSS.mat');
Tm=Tm.theme;
ax.Color=Tm.(theme.AxesTheme).Color;
ax.TickLength=Tm.(theme.AxesTheme).TickLength;
ax.GridColorMode=Tm.(theme.AxesTheme).GridColorMode;
ax.GridColor=Tm.(theme.AxesTheme).GridColor;
ax.GridAlpha=Tm.(theme.AxesTheme).GridAlpha;
ax.XColor=Tm.(theme.AxesTheme).XColor;
ax.YColor=Tm.(theme.AxesTheme).YColor;
ax.TickDir=Tm.(theme.AxesTheme).TickDir;
ax.ColorOrder=Tm.(theme.AxesTheme).ColorOrder;if ~isempty(ax.Legend)ax.Legend.Box='off';ax.Legend.FontSize=12;if mean(ax.Color)>0.6ax.Legend.TextColor=ax.XColor;elseax.Legend.TextColor=[0.9 0.9 0.9];endif ~isempty(regexpi(ax.Legend.Location,'out', 'once'))ax.Legend.TextColor=ax.XColor;ax.Legend.Title.FontSize=14;end
endvermat=version('-release');
vermat=str2double(vermat(1:4))+abs(vermat(5))-97.5;tindex=1;
for i=length(ax.Children):-1:1if strcmp(get(ax.Children(i),'type'),'bar')ax.Children(i).EdgeColor='none';if vermat<2019.5ax.Children(i).FaceColor=ax.ColorOrder(tindex,:);endendtindex=mod(tindex,size(ax.ColorOrder,1))+1;
end
end

这篇关于MATLAB 一行代码应用ggtheme主题--bar版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/583630

相关文章

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

Python如何去除图片干扰代码示例

《Python如何去除图片干扰代码示例》图片降噪是一个广泛应用于图像处理的技术,可以提高图像质量和相关应用的效果,:本文主要介绍Python如何去除图片干扰的相关资料,文中通过代码介绍的非常详细,... 目录一、噪声去除1. 高斯噪声(像素值正态分布扰动)2. 椒盐噪声(随机黑白像素点)3. 复杂噪声(如伪

Java Spring ApplicationEvent 代码示例解析

《JavaSpringApplicationEvent代码示例解析》本文解析了Spring事件机制,涵盖核心概念(发布-订阅/观察者模式)、代码实现(事件定义、发布、监听)及高级应用(异步处理、... 目录一、Spring 事件机制核心概念1. 事件驱动架构模型2. 核心组件二、代码示例解析1. 事件定义

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

Java中Map.Entry()含义及方法使用代码

《Java中Map.Entry()含义及方法使用代码》:本文主要介绍Java中Map.Entry()含义及方法使用的相关资料,Map.Entry是Java中Map的静态内部接口,用于表示键值对,其... 目录前言 Map.Entry作用核心方法常见使用场景1. 遍历 Map 的所有键值对2. 直接修改 Ma

深入解析 Java Future 类及代码示例

《深入解析JavaFuture类及代码示例》JavaFuture是java.util.concurrent包中用于表示异步计算结果的核心接口,下面给大家介绍JavaFuture类及实例代码,感兴... 目录一、Future 类概述二、核心工作机制代码示例执行流程2. 状态机模型3. 核心方法解析行为总结:三

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061