Black axes for yyaxis (not default blue and orange)

942 visualizzazioni (ultimi 30 giorni)
I'm having a hard time making the two y axes in my yyaxis plot black instead of the default blue left axis and orange left axis. I think I need to call the axis handle for each but I'm not sure how to define them for multiple y axes.
figure
yyaxis left
plot(btimestamp(k1:k2),Bmean3637(k1:k2),'k');
ylabel('BEUTI')
ylim([-5 40])
yyaxis right
plot(btimestamp(k1:k2),t_mean(k1:k2),'g-');
hold on;
plot(btimestamp(k1:k2),b_mean(k1:k2),'b-');
ylabel('Mean Daily pH')
ylim([7.2 8.2])
legend('BEUTI','Upper pH','Lower pH')
datetick
set(AX,{'ycolor'},{'r';'b'})

Risposta accettata

Star Strider
Star Strider il 23 Mar 2019
Try this:
figure
yyaxis left
plot((1:10), rand(1, 10), 'g')
yyaxis right
plot((5:15), sin((5:15)/5), 'r')
ax = gca;
ax.YAxis(1).Color = 'k';
ax.YAxis(2).Color = 'k';
Experiment to get the result you want.
  4 Commenti
Bin Jiang
Bin Jiang il 26 Apr 2020
or a simpler version
set(gca,'YColor','k');
Cheers,
Sara Fawal
Sara Fawal il 23 Lug 2020
Hello Star,
Is there a way to set ALL the Y axis colors in a subplot to black using the findall command?
I want to do this: set(findall(gcf, 'ALL Y Axis Colors', 'k'))
Can it be done.
Thank you

Accedi per commentare.

Più risposte (1)

Julian Dönges
Julian Dönges il 20 Ago 2021
It is also possible to define the color order beforehand, see yyaxis documentation:
colororder({'b','m'})
yyaxis left
y = [1 2; 3 4];
plot(y)
yyaxis right
z = [4 3; 2 1];
plot(z)
legend
To make both sides black, you would write the first line as
colororder({'k','k'})
  4 Commenti
DGM
DGM il 10 Set 2023
nexttile() creates axes in a tiledlayout. The output is a handle.

Accedi per commentare.

Categorie

Scopri di più su 2-D and 3-D Plots in Help Center e File Exchange

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by