matlab画二维直方图以及双y轴坐标如何修改另一边y轴的颜色

1.首先讲一下如何用hist画二维直方图

1 x=[-568179 -766698 -935586 -826865 -393971 -771826 -1529945 -1910695 -1694740 -926367 -306998 -844840 -1828334 -2062815 -2297296 -1498824 -411346 -827922 -1826636 -1844777 -1862918 -1881060 -746534 -100479 -845832 -1832756 -1941081 -2049406 -2157732 -1028398 0 -802745 -1824638 -1686159 -1547681 -1409202 -1270724 -165930 -803741 -1819421 -1710223 -1601026 -1491829 -1382632 -356414 -794668 -1818215 -1734260 -1650305 -1566350 -1482395 -444268 -807800 -1823406 -1748938 -1674470 -1600002 -1525535 -398300 -908544 -1855524 -1808266 -1761009 -1713752 -1666495 -720079 -755299 -1806467 -1742401 -1678336 -1614271 -1550206 -508257 -883998 -1849926 -1821497 -1747566 -1673635 -1599705 -612050 -889367 -1860197 -1946094 -1824594 -1703094 -1581594 -604819 -855354 -1848651 -2070691 -2070691 -1876658 -1557872 -565488 -618422 -1510190 -2195288 -1876658 -2174975 -1348638 -494450
2     ]
3 [a,b]=hist(x,30);
4 a=a;%/length(x);
5 bar(b,a);

结果是:

可以发现这个画出来的是标准的直方图,统计出来的信息是数据落在某个区间中的个数。有时候我们想要得到每个节点所对应的值,横坐标是节点个数,纵坐标是节点所对应的值。此时我们可以使用plot

1 x=[数据不变]
2 plot_x=1:1:101;
3 plot(plot_x,x,‘-b*‘)
4 xlabel(‘MRF Node‘);
5 ylabel(‘Initial\_Bconf‘);
6 title(‘Different Initial\_Bconf For Different MRF Nodes‘);

结果是:

说到这里,我突然发现我想要在这个坐标系中加一个y轴。也就是双y轴坐标系

在matlab中可以用plotyy

 1 bconf=[-568179 -766698 -935586 -826865 -393971 -771826 -1529945 -1910695 -1694740 -926367 -306998 -844840 -1828334 -2062815 -2297296 -1498824 -411346 -827922 -1826636 -1844777 -1862918 -1881060 -746534 -100479 -845832 -1832756 -1941081 -2049406 -2157732 -1028398 0 -802745 -1824638 -1686159 -1547681 -1409202 -1270724 -165930 -803741 -1819421 -1710223 -1601026 -1491829 -1382632 -356414 -794668 -1818215 -1734260 -1650305 -1566350 -1482395 -444268 -807800 -1823406 -1748938 -1674470 -1600002 -1525535 -398300 -908544 -1855524 -1808266 -1761009 -1713752 -1666495 -720079 -755299 -1806467 -1742401 -1678336 -1614271 -1550206 -508257 -883998 -1849926 -1821497 -1747566 -1673635 -1599705 -612050 -889367 -1860197 -1946094 -1824594 -1703094 -1581594 -604819 -855354 -1848651 -2070691 -2070691 -1876658 -1557872 -565488 -618422 -1510190 -2195288 -1876658 -2174975 -1348638 -494450
 2        ]
 3 msd = [764579.978893 1566061.459336 1397173.470554 1505894.919705 1938788.840738 1560933.670996 802814.336384 422064.792030 638019.347159 1406392.514834 2025761.008413 1487919.901993 504425.214908 0.000000 35463.383173 833934.942435 1921412.940221 1504837.294317 506123.854317 0.000000 0.000000 451698.979188 1586225.592030 2232280.587306 1486927.656531 500003.436458 0.000000 0.000000 175027.053875 1304361.636900 2332759.919705 1530014.724723 508121.677196 0.000000 0.000000 0.000000 1062035.260517 2166829.666716 1529018.752472 513338.064945 0.000000 0.000000 0.000000 950127.380221 1976345.487823 1538091.693432 514544.310111 0.000000 0.000000 0.000000 850364.830701 1888491.347749 1524959.068044 509352.949077 0.000000 0.000000 0.000000 807224.184059 1934458.922214 1424215.026421 477235.717491 0.000000 0.000000 0.000000 666264.597934 1612680.207675 1577460.303911 526292.799705 0.000000 0.000000 0.000000 782553.690775 1824502.611365 1448761.472030 482833.465978 0.000000 0.000000 0.000000 733054.257860 1720709.029668 1443391.983321 472562.824945 0.000000 0.000000 0.000000 751165.883838 1727939.956605 1477405.731661 484108.855055 0.000000 0.000000 0.000000 774887.002362 1767271.818303 1714337.372251 822568.954244 137471.082509 0.000000 157784.000886 984121.237196 1838309.854613
 4        ]
 5  node =1:1:101;
 6 % [AX,h1,h2] = plotyy(t,z1,t,z2,‘semilogy‘,‘plot‘);
 7 [AX,h1,h2] = plotyy(node,bconf,node,msd,‘plot‘,‘plot‘);
 8 set(h1,‘linestyle‘,‘:‘,‘marker‘,‘x‘,‘color‘,‘b‘);%曲线的线型
 9 %set(h1,‘linestyle‘,‘-‘,‘marker‘,‘o‘,‘color‘,‘g‘);
10 set(h2,‘linestyle‘,‘:‘,‘marker‘,‘x‘,‘color‘,‘r‘);
11 set(get(AX(1),‘Ylabel‘),‘string‘,‘Initial\_Bconf‘);%x坐标轴名称
12 set(get(AX(2),‘Ylabel‘),‘string‘,‘MSD‘);
13 set(get(AX(2), ‘Ylabel‘),‘Color‘,‘red‘);
14 % set(AX(1),‘yTick‘,[0:10:350])
15 % set(AX(2),‘yTick‘,[0:10:350])
16 xlabel(‘MRF Node‘);
17 title(‘Different Initial\_Bconf For Different MRF Nodes‘);
18 set(gca,‘ycolor‘,‘b‘);%改变y坐标轴颜色

结果就是:

那此时发现右边的绿色y轴很不对称,想调成红色的,此时可以采用如下方法:


生成的图片编辑器重点击view下的小箭头,选中图、右键选择show properity editor,然后点击View下拉菜单中有个plot browser,在右边看到Axes点击一下该行,选中它,然后点击一下右下角的more properties。

此时得到如下界面:

红色圈圈那里可以修改另一边的y轴的颜色。当然里面还有很多可以调的,俺的最终结果图:

转载请注明。

时间: 2024-12-09 14:18:44

matlab画二维直方图以及双y轴坐标如何修改另一边y轴的颜色的相关文章

matlab 画二维图与三维图

二维图 ezplot('sin(x)');%默认范围 ezplot('sin(x)',[-4 4]);%自己设定范围 三维图 ezmesh('x*x+y*y');%默认范围

二维直方图及其比较

创建图像的HSV空间的H和S二维直方图并比较直方图相似度: 代码: #include "cv.h" #include "cxcore.h" #include "highgui.h" #include <iostream> CvHistogram* Histogram2D(IplImage* src,int HSize,int SSize) { IplImage* SrcH=cvCreateImage(cvGetSize(src),8,

图像检索:二维直方图+flann+KNN+欧几里得距离

第一步:批处理提取图像库的二维直方图,并存在到.xml中的featureHists中 [ 第一个参数:图像的路径 目录.txt 第二个参数:图像特征   features.xml [保存到features.xml中featureHists] ] #include<iostream> #include<fstream> #include<string> using namespace std; #include<opencv2\imgproc\imgproc.hpp

图像检索:二维直方图+EMD距离

#include<iostream> #include<fstream> #include<map> #include<string> using namespace std; #include<opencv2\core\core.hpp> #include<opencv2\highgui\highgui.hpp> #include<opencv2\imgproc\imgproc.hpp> using namespace

js通过codeURL画二维码

一.函数封装 //生成微信二维码 function xyqrcode(options) { var settings = { dom:'', render: 'canvas', //生成二维码的格式还有image.div ecLevel:"H", text:"", background:"#ffffff", fill:"#333333", //二维码纹路的颜色 fontcolor:"#ff9818", fo

matlab仿真二维光子晶体最简程序

本程序为初学者使用,只考虑MT方向 下面的程序为matlab代码 只考虑MT方向 %This is a simple demo for Photonic Crystals simulation %This demo is for TE wave only, so only h wave is considered. %for TM direction only,10 points is considered. %---------------------------------------M %

matlab的二维卷积操作(转)

MATLAB的conv2函数实现步骤(conv2(A,B)): 其中,矩阵A和B的尺寸分别为ma*na即mb*nb ① 对矩阵A补零,第一行之前和最后一行之后都补mb-1行,第一列之前和最后一列之后都补nb-1列(注意conv2不支持其他的边界补充选项,函数内部对输入总是补零): ② 将卷积核绕其中心旋转180度: ③ 滑动旋转后的卷积核,将卷积核的中心位于图像矩阵的每一个元素,并求乘积和(即将旋转后的卷积核在A上进行滑动,然后对应位置相乘,最后相加):下面分别是shape=full, same

matlab的二维卷积操作

MATLAB的conv2函数实现步骤(conv2(A,B)): 其中,矩阵A和B的尺寸分别为ma*na即mb*nb ① 对矩阵A补零,第一行之前和最后一行之后都补mb-1行,第一列之前和最后一列之后都补nb-1列(注意conv2不支持其他的边界补充选项,函数内部对输入总是补零): ② 将卷积核绕其中心旋转180度: ③ 滑动旋转后的卷积核,将卷积核的中心位于图像矩阵的每一个元素,并求乘积和(即将旋转后的卷积核在A上进行滑动,然后对应位置相乘,最后相加):下面分别是shape=full, same

threejs 画二维圆(圆弧)

画圆: var radius = 40, segments = 64, material = new THREE.LineBasicMaterial({ color: 0x0000ff }), geometry = new THREE.CircleGeometry(radius, segments); // Remove center vertex geometry.vertices.shift(); this.scene.add(new THREE.Line(geometry, materia