matlab绘制双轴柱状图
时间: 2023-07-13 14:15:57 浏览: 35
下面是一个Matlab双轴柱状图的示例代码,你可以根据自己的需求进行修改和调整:
```matlab
% 创建数据
x = 1:10;
y1 = randi([1, 10], 1, 10);
y2 = randi([50, 100], 1, 10);
% 创建第一个坐标轴及其柱状图
ax1 = axes;
b1 = bar(ax1, x, y1, 'b');
set(ax1, 'YColor', 'b');
% 创建第二个坐标轴及其柱状图
ax2 = axes('Position', get(ax1, 'Position'), 'YAxisLocation', 'right', 'Color', 'none');
b2 = bar(ax2, x, y2, 'r');
set(ax2, 'YColor', 'r');
% 隐藏第二个坐标轴的X轴刻度标签和标尺线
set(ax2, 'XTickLabel', [], 'XAxisLocation', 'top', 'XColor', 'none');
% 设置坐标轴标签和图例
ylabel(ax1, 'y1');
ylabel(ax2, 'y2');
xlabel('x');
legend([b1, b2], {'y1', 'y2'}, 'Location', 'northwest');
```
这段代码将会生成一个双轴柱状图,其中,左侧的坐标轴对应y1数据,右侧的坐标轴对应y2数据。你可以根据需要对图表进行修改和调整。
相关问题
matlab绘制彩色柱状图
要绘制彩色柱状图,可以使用Matlab中的`bar`函数,并设置每个柱子的颜色。具体的步骤如下:
1. 准备数据:首先需要准备数据,可以使用向量、矩阵或者表格等形式。
2. 设置柱子颜色:使用`bar`函数绘制柱状图,并设置每个柱子的颜色。可以使用RGB颜色、预定义颜色或者颜色映射等方式设置颜色。
3. 添加坐标轴标签:添加横轴和纵轴标签,以及图标题。
下面是一个示例代码:
```matlab
% 准备数据
data = [3 5 2; 4 2 1; 6 4 3];
% 设置颜色
colors = ['r', 'b', 'g'];
% 绘制柱状图
bar(data, 'stacked');
colormap(colors);
% 添加标签
xlabel('X Axis');
ylabel('Y Axis');
title('Colorful Bar Chart');
legend('Group 1', 'Group 2', 'Group 3');
```
这个代码将会绘制一个彩色的、堆叠式的柱状图,其中每个柱子的颜色分别为红色、蓝色和绿色,对应数据中的三列。
使用matlab绘制多维柱状图
以下是使用matlab绘制多维柱状图的示例代码:
```matlab
% 创建数据
data = [10 20 30 40;
20 30 40 50;
30 40 50 60;
40 50 60 70];
% 绘制多维柱状图
h = bar3(data);
% 设置柱子颜色
colormap(jet);
% 设置坐标轴标签和标题
xlabel('X轴');
ylabel('Y轴');
zlabel('Z轴');
title('多维柱状图');
% 设置柱子顶部显示数值
for i=1:length(h)
for j=1:length(h(i).ZData)
text(j,i,h(i).ZData(j)+0.5,num2str(h(i).ZData(j)),'HorizontalAlignment','center');
end
end
```
此代码将创建一个4x4的数据矩阵,并在三维空间中绘制四个柱子,每个柱子有四个面。使用`bar3`函数绘制三维柱状图,并使用`colormap`函数设置颜色。使用`xlabel`、`ylabel`和`zlabel`函数设置坐标轴标签,使用`title`函数设置标题。使用循环和`text`函数将柱子顶部的数值显示在图表上。